Ubuntu(linux)下反編譯apk,五部曲:
Ubuntu(Linux)下反編譯apk工具(apktool)下載
1 . 把apk拷到apktool根目錄下,執行:./apktool d xxx.apk,會生成xxx目錄,裏面有res目錄(各種資源文件),smali目錄(類似src目錄,裏面文件的語法不一樣)及AndroidManifest.xml。
[*.apk->*.jar: sh ./dex2jar/dex2jar.sh xxx.apk,生成xxx_dex2jar.jar通過jd-linux看源碼,Linux
Java-Decompiler下載]
2 . 什麼apk漢化啊,就到res/values裏string.xml裏修改字符串,或者拷貝一份values目錄改爲values-zh-rCN,再去裏面修改string.xml裏英文字符串改爲中文,所謂的漢化就是這麼簡單。另外,有些圖片裏不是中文的得去改圖片,那得用Photoshop了,圖片也不能亂改,格式,圖片大小(尺寸)得原來的。
3 . 修改smali文件,這個有些難度。比如有些apk安裝了後要積分什麼的,比如大於100纔可以用的,其實這個值是用SharedPreference存放的,也就是存在xml裏,,位置:/data/data/[包名]/shared_prefs的某個xml裏,文件不多肯定是可以找到的。另外一種方法就是修改.smali文件也可以達到這目的,軟件實現肯定是讀取積分那個值給它修改一下就可以了,例如
const/16 v0 100 (其實就是 v0 = 100)這個語法有點像彙編,覺得還是比彙編簡單,v0 v1 ...是寄存器,之前會跟變量關聯的。具體的還是自己看看smali語法。
4 . 打包生成apk,執行:./apktool b xxx,會在xxx裏面生成,一個dist目錄,裏面就是xxx.apk,但不能安裝滴,提示(Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]),沒有給這個apk簽名,
5 . 簽名,執行:sh ./dex2jar/d2j-apk-sign.sh ./xxx/dist/xxx.apk 就是給剛纔那個apk簽名,生成的文件還是xxx.apk在apktool根目錄下。這樣就大功告成啦。
Windows 下反編譯apk:
首先感謝水域小寒爲我們帶來Windows下反編譯apk-小寒工具箱。
安裝使用前要關閉殺毒軟件,小寒工具箱誤報爲病毒。[請看機鋒論壇原鏈接:http://bbs.gfan.com/android-4059076-1-1.html]
小寒工具箱用於apk反編譯簡直是大材小用。
反編譯 apk --- 9
回編譯 apk --- 10
簽名 apk --- 2
其他的就不多說了,相信你懂的!