[HOW TO][20Mar][How to Disable Signature Checker For System App[Sammy JB]

Search This thread

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
Hi i want share this method to all step by step
in 4 step
You need knows about smali and backsmali And Notpad++....
1.Decompile Services.jar
Go to smali\com\android\server\pm
Open PackageManagerService.smali with Notpad++

2.Find this Method:

Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    .locals 7
    .parameter "s1"
    .parameter "s2"

    .prologue
    .line 3445
    if-nez p0, :cond_1

    .line 3446
    if-nez p1, :cond_0

    const/4 v6, 0x1

    .line 3465
    :goto_0
    return v6

    .line 3446
    :cond_0
    const/4 v6, -0x1

    goto :goto_0

    .line 3450
    :cond_1
    if-nez p1, :cond_2

    .line 3451
    const/4 v6, -0x2

    goto :goto_0

    .line 3453
    :cond_2
    new-instance v3, Ljava/util/HashSet;

    invoke-direct {v3}, Ljava/util/HashSet;-><init>()V

    .line 3454
    .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 3455
    .local v5, sig:Landroid/content/pm/Signature;
    invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    .line 3454
    add-int/lit8 v1, v1, 0x1

    goto :goto_1

    .line 3457
    .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 3458
    .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 3459
    .restart local v5       #sig:Landroid/content/pm/Signature;
    invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    .line 3458
    add-int/lit8 v1, v1, 0x1

    goto :goto_2

    .line 3462
    .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 3463
    const/4 v6, 0x0

    goto :goto_0

    .line 3465
    :cond_5
    const/4 v6, -0x3

    goto :goto_0
.end method

3.Chang it to this:

Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    .locals 7

    const-string p0, "Biftor:"

    const-string p1, "Skip signatures check"

    invoke-static {p0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

    const/4 v6, 0x0

    return v6
.end method

you can chang "Biftor" to your name
Save That

4.Recompile Services.jar Again
after this you can Sign all of System App and enjoy it!

This topick For Persian user

Thanks to Wanam for first learn this to me!


Goodluck
Armin
Biftor™
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 15
    Hi i want share this method to all step by step
    in 4 step
    You need knows about smali and backsmali And Notpad++....
    1.Decompile Services.jar
    Go to smali\com\android\server\pm
    Open PackageManagerService.smali with Notpad++

    2.Find this Method:

    Code:
    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .locals 7
        .parameter "s1"
        .parameter "s2"
    
        .prologue
        .line 3445
        if-nez p0, :cond_1
    
        .line 3446
        if-nez p1, :cond_0
    
        const/4 v6, 0x1
    
        .line 3465
        :goto_0
        return v6
    
        .line 3446
        :cond_0
        const/4 v6, -0x1
    
        goto :goto_0
    
        .line 3450
        :cond_1
        if-nez p1, :cond_2
    
        .line 3451
        const/4 v6, -0x2
    
        goto :goto_0
    
        .line 3453
        :cond_2
        new-instance v3, Ljava/util/HashSet;
    
        invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
    
        .line 3454
        .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 3455
        .local v5, sig:Landroid/content/pm/Signature;
        invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
    
        .line 3454
        add-int/lit8 v1, v1, 0x1
    
        goto :goto_1
    
        .line 3457
        .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 3458
        .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 3459
        .restart local v5       #sig:Landroid/content/pm/Signature;
        invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
    
        .line 3458
        add-int/lit8 v1, v1, 0x1
    
        goto :goto_2
    
        .line 3462
        .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 3463
        const/4 v6, 0x0
    
        goto :goto_0
    
        .line 3465
        :cond_5
        const/4 v6, -0x3
    
        goto :goto_0
    .end method

    3.Chang it to this:

    Code:
    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .locals 7
    
        const-string p0, "Biftor:"
    
        const-string p1, "Skip signatures check"
    
        invoke-static {p0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
    
        const/4 v6, 0x0
    
        return v6
    .end method

    you can chang "Biftor" to your name
    Save That

    4.Recompile Services.jar Again
    after this you can Sign all of System App and enjoy it!

    This topick For Persian user

    Thanks to Wanam for first learn this to me!


    Goodluck
    Armin
    Biftor™
    2
    Big thanks :good:
    1
    Great. Thanks for sharing. :)
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone