Friday, 26 February 2016

How to convert a hex color code to smali color code

In this post , I will tell you all "How to convert a hex color code to smali color code."
0 = F
1 = E
2 = D
3 = C
4 = B
5 = A
6 = 9
7 = 8
8 = 7
9 = 6
A = 5
B = 4
C = 3
D = 2
E = 1
F = 0
======================================
For example ,
1. Take a hex code of any color , suppose #ff444443 .
Now to convert it into a smali color code ,
2. Take the last 6 digits of hex code i.e. 444443 and
write the value that corresponds to it using above
table.
3. Like 4=b , 3=c. The 444443 will become bbbbbc.
4. Now write -0x in front of this value.
5. The final code will become -0xbbbbbc. Done.
======================================
Thanks to ,
XDA
Gurpreet Singh

HoW To Completely Disable Signature check In Touchwiz Devices

HoW To Completely Disable Signature check In Touchwiz Devices

You will need the following:

1. Core.jar from system/framework folder
2. services.jar from system/framework folder
3. Apktool/baksmali+smali

Part 1: Allows installing apps with broken/mismatched signatures

Modding Core.Jar

1. Decompile core.jar and navigate to java/security

2. Open MessageDigest.smali

3. find the following method

.method public static isEqual([B[B)Z

At the beginning you will find code like this:

    const/4 v1, 0x0
    array-length v2, p0
   
Change the 0x0 to 0x1 so that it becomes:-

    const/4 v1, 0x1
    array-length v2, p0
   
4. Now save and close MessageDigest.smali

5. In the same directory, open Signature.smali

6. Find the method:

.method public final verify([B)Z

7. Find this code at the very end of the method:

    invoke-virtual {p0, p1}, Ljava/security/SignatureSpi;->engineVerify([B)Z
   
    move-result v0
   
    return v0
   
Change the move-result v0 to const/4 v0, 0x1 so that it becomes like this:

    invoke-virtual {p0, p1}, Ljava/security/SignatureSpi;->engineVerify([B)Z

    const/4 v0, 0x1

    return v0
   
8. Now find this method:

.method public final verify([BII)Z

9. Scroll to the end of the method and find this code:

    invoke-virtual {p0, p1, p2, p3}, Ljava/security/SignatureSpi;->engineVerify([BII)Z

    move-result v0
   
    return v0

And replace it with this Code:

    invoke-virtual {p0, p1, p2, p3}, Ljava/security/SignatureSpi;->engineVerify([BII)Z
   
    const/4 v0, 0x1

    return v0

10. Now save and close Signature.smali. Recompile core.jar

Part 2 need Services.jar

1. Decompile services.jar and navigate to com\android\server\pm

2. Open PackageManagerService$InstallParams.smali and find the following
method:

.method private installLocationPolicy(Landroid/content/pm/PackageInfoLite;I)I

3. Scroll down until you find code that looks like the following Code:

    if-nez v7, :cond_1
    iget v7, p1, Landroid/content/pm/PackageInfoLite;->versionCode:I

    iget v8, v3, Landroid/content/pm/PackageParser$Package;->mVersionCode:I

    if-ge v7, v8, :cond_1 [U have to.modify this line)
   
    const-string v4, "PackageManager" new-instance v5, Ljava/lang/StringBuilder;
    invoke-direct {v5}, Ljava/lang/
StringBuilder;->()V

    const-string v7, "Can\'t install update of "

(okay i already highlighted the code if-ge v7, v8, :cond_1 u have to change it so it will look like this:

    if-ge v8, v8, :cond_1

4. Okay Done now save the smali
recompile services.jar

5. Now - Push core.jar & services.jar to your system/framework/here before pushing make sure you already copied the original backup to you sdcard.

6. Now reboot and enjoy

Note: Please Don't Mirror the link or guide.

Tested in JB 4.1.2