pk破解实战
http://blog.csdn.net/cloudwu007/article/details/6851800?reload
近日使用某在線聽歌軟件,有不少兒童故事不錯,但在線聽經常出現時斷時續情形,而軟件要求積分大于1500才可整頁下載。要滿足積分條件需要手動安裝其推薦的數十個應用,簡直是坑爹。故決定破解之。
假定要破解apk的名字為mytest.apk,則破解步驟如下:
步驟 1:得到resource及smali文件。
1)得到apktool工具
在http://code.google.com/p/android-apktool/下 載獲得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包都要下。解壓縮下載的兩個文件包,apktool-install-windows-2.1_r01-1.zip解壓縮后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解壓后的一個.jar 文件copy進來)
2).DOS命令窗口下進入到apktool.bat所在的文件夾里。
??? D:\android\tool\apktool\apktool d C:\mytest.apk? C:\out?
命令行解釋:apktool d 要反編譯的文件 輸出文件夾
特別注意:你要反編譯的文件一定要放在C盤的根目錄里,
3).打開?C:\out文件夾 就可以得到各種資源了。
步驟2:得到java文件
方法a:
1)、把apk文件改名為.zip,然后解壓縮出其中的class.dex文件
2)、安裝把dex文件反編譯為jar文件的工具dex2jar。http://code.google.com/p/dex2jar/downloads/list
3)、把class.dex拷貝到dex2jar.bat所在目錄。4)、生成jar文件classes.dex.dex2jar.jar
[java] view plaincopyprint?
5)、安裝把jar反編譯為java的工具。(JD-GUI)http://java.decompiler.free.fr/?q=jdgui
6)、運行JD-GUI工具,打開上面的jar文件
7)、File -> Save All Sources將生成Java源代碼文件到c:\out
方法b(TBV):
1).從out目錄下取得dexdump。
2).adb shell dexdump -d -f -h /data/dalvik-cache/data@app@mytest.apk@classes.dex > twitpic.text
步驟3:破解源代碼
1).查找位置
由于此軟件要求積分大于1500才可下載,故打開java文件,查找1500發現有三個文件有定義,PlayActivity$12.java,Cfg.java,ScoreDialog$5.java。
PlayActivity$12.java
[java] view plaincopyprint?ScoreDialog$5.java
Cfg.java [java] view plaincopyprint?
[java] view plaincopyprint?
2)更改smali文件
smali文件只是將java文件的后綴改為.smali,故可找到上述三文件對應的smali文件
Cfg.smali
[java] view plaincopyprint?
PlayActivity$12.smali
[java] view plaincopyprint?
ScoreDialog$5.smali
[java] view plaincopyprint?
步驟4 將反編譯完的文件重新打包成apk文件out.apk???
[java] view plaincopyprint? 步驟5:對生成的apk簽名:
1).準備工具如沒有安裝JDK,請在Sun官方網站下載JDKhttp://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe,其實僅需要中的Keytool和Jarsigner。
2)、準備簽名文件
[java] view plaincopyprint?注意密碼為6位數,如123456。
3)、簽名
[plain] view plaincopyprint?此處需輸入第2步的密碼123456,執行完即可生成簽名后的apk文件out.apk.
安裝后,發現原有限制被破解了,一切成功。
ref:
1.一個APK反編譯利器Apktool1
2.如何反編譯apk
總結
- 上一篇: 关于android的4.2的0文件夹的详
- 下一篇: 反编译APK文件的三种方法