[16/06/2014][DEODEX/ODEX][SUPERUSER MOD][TUT]Bypass Signature Checking v2.0.0[4.3]

Search This thread

BDFreak

Senior Member
Jan 20, 2013
428
2,027
Mymensingh
What is this? Let me explain you. It will Bypass the signature checking of sony. Sometimes when we mod any system app and put it back in to system with correct permission but the app doesn't work or doesn't install or force closes. Or Some of the apps from other sony device like Z1, Z Ultra, Z etc. are not installing in our phone even we put them in system with correct permission but they don't work. Most of the time these problems are happening because of signature checking.


Main Features :

  • Bypass Signature Checking
  • Works On Deodex And Odex System


Changelog :

v2.0.0 :

  • Based On Build Firmware Number 12.1.A.1.205
  • Works On Deodex And Odex System
  • Tutorial Updated

v1.0.0 :

  • Initial Release
  • Based On Build Firmware Number 12.1.A.0.256


Download :

v2.0.0 :


v1.0.0 :



How To Install :

v2.0.0 :

  • JellyBean 4.3 Firmware Build 12.1.A.1.205
  • Take nandroid backup
  • Download Bypass Signature Checking v2.0.0 By BDFreak Odex.zip or Bypass Signature Checking v2.0.0 By BDFreak Deodex.zip
  • Place it in your phones sdcard
  • Reboot into recovery
  • Install Bypass Signature Checking v2.0.0 By BDFreak Odex.zip or Bypass Signature Checking v2.0.0 By BDFreak Deodex.zip
  • Reboot your phone
  • Enjoy

v1.0.0 :

  • JellyBean 4.3 Firmware Build 12.1.A.0.256
  • Your rom should be DEODEXED (Click Here To Deodex)
  • Take nandroid backup
  • Download Bypass Signature Checking v1.0.0 By BDFreak.zip
  • Place it in your phones sdcard
  • Reboot into recovery
  • Install Bypass Signature Checking v1.0.0 By BDFreak.zip
  • Phone will reboot automatically
  • Enjoy
 
Last edited:

BDFreak

Senior Member
Jan 20, 2013
428
2,027
Mymensingh
[16/06/2014][TUT]Bypass Signature Checking[4.3]

Here I will teach you How To Mod Your services.jar To Bypass Signature Checkin

Make sure you have a basic knowledge on how to compile/decompile .apk/.jar files.

  • Decompile services.jar

    [*]Navigate to \com\android\server\pm

    [*]Open PackageManagerService.smali file in file editor

    [*]Search for .method static compareSignatures

    [*]Original code looks like this (it can be different in different build of firmware)


    Code:
    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .locals 7
        .parameter "s1"
        .parameter "s2"
    
        .prologue
        .line 2612
        if-nez p0, :cond_1
    
        .line 2613
        if-nez p1, :cond_0
    
        const/4 v6, 0x1
    
        .line 2632
        :goto_0
        return v6
    
        .line 2613
        :cond_0
        const/4 v6, -0x1
    
        goto :goto_0
    
        .line 2617
        :cond_1
        if-nez p1, :cond_2
    
        .line 2618
        const/4 v6, -0x2
    
        goto :goto_0
    
        .line 2620
        :cond_2
        new-instance v3, Ljava/util/HashSet;
    
        invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
    
        .line 2621
        .local v3, set1:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
        move-object v0, p0
    
        .local v0, arr$:[Landroid/content/pm/Signature;
        array-length v2, v0
    
        .local v2, len$:I
        const/4 v1, 0x0
    
        .local v1, i$:I
        :goto_1
        if-ge v1, v2, :cond_3
    
        aget-object v5, v0, v1
    
        .line 2622
        .local v5, sig:Landroid/content/pm/Signature;
        invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
    
        .line 2621
        add-int/lit8 v1, v1, 0x1
    
        goto :goto_1
    
        .line 2624
        .end local v5           #sig:Landroid/content/pm/Signature;
        :cond_3
        new-instance v4, Ljava/util/HashSet;
    
        invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
    
        .line 2625
        .local v4, set2:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
        move-object v0, p1
    
        array-length v2, v0
    
        const/4 v1, 0x0
    
        :goto_2
        if-ge v1, v2, :cond_4
    
        aget-object v5, v0, v1
    
        .line 2626
        .restart local v5       #sig:Landroid/content/pm/Signature;
        invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
    
        .line 2625
        add-int/lit8 v1, v1, 0x1
    
        goto :goto_2
    
        .line 2629
        .end local v5           #sig:Landroid/content/pm/Signature;
        :cond_4
        invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z
    
        move-result v6
    
        if-eqz v6, :cond_5
    
        .line 2630
        const/4 v6, 0x0
    
        goto :goto_0
    
        .line 2632
        :cond_5
        const/4 v6, -0x3
    
        goto :goto_0
    .end method

    [*]Replace the whole code with this

    Code:
    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .registers 9
    
        const/4 v0, 0x0
    
        return v0
    .end method

    [*]Save the file

    [*]Recompile your services.jar


Please Note :

  • Take backup before doing anything.
  • Your rom should be DEODEXED
  • Use Notepad++ to edit files.
  • Please read the tutorial properly befor editing files.
  • If you found any mistake in this tutorial then please let me know.
 
Last edited:

Sahaab

Senior Member
May 14, 2013
3,722
3,499
27
London ON
Naming it as superuser mod might be more well known

Sent from my C5306 using xda app-developers app
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    What is this? Let me explain you. It will Bypass the signature checking of sony. Sometimes when we mod any system app and put it back in to system with correct permission but the app doesn't work or doesn't install or force closes. Or Some of the apps from other sony device like Z1, Z Ultra, Z etc. are not installing in our phone even we put them in system with correct permission but they don't work. Most of the time these problems are happening because of signature checking.


    Main Features :

    • Bypass Signature Checking
    • Works On Deodex And Odex System


    Changelog :

    v2.0.0 :

    • Based On Build Firmware Number 12.1.A.1.205
    • Works On Deodex And Odex System
    • Tutorial Updated

    v1.0.0 :

    • Initial Release
    • Based On Build Firmware Number 12.1.A.0.256


    Download :

    v2.0.0 :


    v1.0.0 :



    How To Install :

    v2.0.0 :

    • JellyBean 4.3 Firmware Build 12.1.A.1.205
    • Take nandroid backup
    • Download Bypass Signature Checking v2.0.0 By BDFreak Odex.zip or Bypass Signature Checking v2.0.0 By BDFreak Deodex.zip
    • Place it in your phones sdcard
    • Reboot into recovery
    • Install Bypass Signature Checking v2.0.0 By BDFreak Odex.zip or Bypass Signature Checking v2.0.0 By BDFreak Deodex.zip
    • Reboot your phone
    • Enjoy

    v1.0.0 :

    • JellyBean 4.3 Firmware Build 12.1.A.0.256
    • Your rom should be DEODEXED (Click Here To Deodex)
    • Take nandroid backup
    • Download Bypass Signature Checking v1.0.0 By BDFreak.zip
    • Place it in your phones sdcard
    • Reboot into recovery
    • Install Bypass Signature Checking v1.0.0 By BDFreak.zip
    • Phone will reboot automatically
    • Enjoy
    8
    [16/06/2014][TUT]Bypass Signature Checking[4.3]

    Here I will teach you How To Mod Your services.jar To Bypass Signature Checkin

    Make sure you have a basic knowledge on how to compile/decompile .apk/.jar files.

    • Decompile services.jar

      [*]Navigate to \com\android\server\pm

      [*]Open PackageManagerService.smali file in file editor

      [*]Search for .method static compareSignatures

      [*]Original code looks like this (it can be different in different build of firmware)


      Code:
      .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
          .locals 7
          .parameter "s1"
          .parameter "s2"
      
          .prologue
          .line 2612
          if-nez p0, :cond_1
      
          .line 2613
          if-nez p1, :cond_0
      
          const/4 v6, 0x1
      
          .line 2632
          :goto_0
          return v6
      
          .line 2613
          :cond_0
          const/4 v6, -0x1
      
          goto :goto_0
      
          .line 2617
          :cond_1
          if-nez p1, :cond_2
      
          .line 2618
          const/4 v6, -0x2
      
          goto :goto_0
      
          .line 2620
          :cond_2
          new-instance v3, Ljava/util/HashSet;
      
          invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
      
          .line 2621
          .local v3, set1:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
          move-object v0, p0
      
          .local v0, arr$:[Landroid/content/pm/Signature;
          array-length v2, v0
      
          .local v2, len$:I
          const/4 v1, 0x0
      
          .local v1, i$:I
          :goto_1
          if-ge v1, v2, :cond_3
      
          aget-object v5, v0, v1
      
          .line 2622
          .local v5, sig:Landroid/content/pm/Signature;
          invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
      
          .line 2621
          add-int/lit8 v1, v1, 0x1
      
          goto :goto_1
      
          .line 2624
          .end local v5           #sig:Landroid/content/pm/Signature;
          :cond_3
          new-instance v4, Ljava/util/HashSet;
      
          invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
      
          .line 2625
          .local v4, set2:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
          move-object v0, p1
      
          array-length v2, v0
      
          const/4 v1, 0x0
      
          :goto_2
          if-ge v1, v2, :cond_4
      
          aget-object v5, v0, v1
      
          .line 2626
          .restart local v5       #sig:Landroid/content/pm/Signature;
          invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
      
          .line 2625
          add-int/lit8 v1, v1, 0x1
      
          goto :goto_2
      
          .line 2629
          .end local v5           #sig:Landroid/content/pm/Signature;
          :cond_4
          invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z
      
          move-result v6
      
          if-eqz v6, :cond_5
      
          .line 2630
          const/4 v6, 0x0
      
          goto :goto_0
      
          .line 2632
          :cond_5
          const/4 v6, -0x3
      
          goto :goto_0
      .end method

      [*]Replace the whole code with this

      Code:
      .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
          .registers 9
      
          const/4 v0, 0x0
      
          return v0
      .end method

      [*]Save the file

      [*]Recompile your services.jar


    Please Note :

    • Take backup before doing anything.
    • Your rom should be DEODEXED
    • Use Notepad++ to edit files.
    • Please read the tutorial properly befor editing files.
    • If you found any mistake in this tutorial then please let me know.
    2
    Changelog :

    v2.0.0 :

    • Based On Build Firmware Number 12.1.A.1.205
    • Works On Deodex And Odex System
    • Tutorial Updated
    1
    Naming it as superuser mod might be more well known

    Sent from my C5306 using xda app-developers app
    Done. Hope it's now ok.
    1
    working for app 4.1 on 4.3???(mean can use app 4.1 on 4.3)?

    No