一個(gè)新手一步步的反編譯嘗試
工具
- apktool
apktool安裝
- 下載鏈接:download
- 進(jìn)入下載頁面按這個(gè)做上面的教程做就好
apktool的Permission Denied 解決方案
運(yùn)行時(shí)出現(xiàn)了Permission Denied 的錯(cuò)誤(其實(shí)只是沒有好好執(zhí)行教程的第五條)一個(gè)文件有3種權(quán)限,讀滓窍、寫补履、可執(zhí)行,這個(gè)文件沒有可執(zhí)行權(quán)限朱躺,需要加上可執(zhí)行權(quán)限。
- 終端下先 cd到該文件的目錄下
- 執(zhí)行命令 chmod a+x ./文件名
用apktool拆分apk
- cd到apk的文件夾下
- 執(zhí)行命令:apktool d app-debug.apk
- 得到資源包
打開AnroidManifest可以看到程序的activity的各項(xiàng)屬性搁痛,該app添加了什么權(quán)限长搀,初始啟動(dòng)的是哪個(gè)app,圖標(biāo)名鸡典,app的名字等信息--我用的是TextMate打開源请,我覺得windows的話應(yīng)該可以用Notepad++打開吧試試咯
res包里面是項(xiàng)目所帶的資源,有布局文件,用到的配色谁尸,圖片舅踪,上面app名字這類字符串的保存地址等,例如下圖中的activity_main就是布局文件
下面讓我們來試試更改它,我們把顯示的"Hello World!" 改成 "514最帥良蛮!"抽碌,然后保存AnroidManifest中看到的
打開values找到String.xml,打開后找到app_name這一行,這對(duì)應(yīng)之前在AnroidManifest中看到的label决瞳,前面那個(gè)icon是app的圖標(biāo)货徙,也可以改,然后把它改成"課堂演示"皮胡,然后保存
完成后可以再把它編譯成一個(gè)apk,執(zhí)行命令:Desktop slf$ apktool b app-debug
在文件夾dist下面找到一個(gè) apk痴颊,這個(gè)就是重新組裝好的apk
然后準(zhǔn)備安裝它,結(jié)果:出現(xiàn)了下面的場(chǎng)景屡贺。
是因?yàn)檫@個(gè)apk 還沒有被 sign (簽名)過蠢棱,于是我對(duì)它加簽名,于是生成一個(gè)自己的keystore,并執(zhí)行以下命令行:
---
生成一個(gè)自己的keystore:
keytool -genkey -alias myKeyStore -keyalg RSA -validity 20000 -keystore myKeyStore
簽名:
jarsigner -verbose -keystore myKeyStore -signedjar signed.apk app-debug.apk myKeyStore
---
于是生成了簽名后的apk,安裝它
最后的補(bǔ)充
玩了這個(gè)我在想能不能改點(diǎn)別的甩栈,于是泻仙,我打開下載了最近很火的游戲:貪吃蛇大作戰(zhàn),并把它的圖標(biāo)和名字改成了扇貝單詞谤职。更改名稱上面說過啦饰豺,更改logo的話,也是通過AnroidManifest得到圖標(biāo)的地址以及名稱允蜈,貪吃蛇大作戰(zhàn)的圖標(biāo)名稱是snake_launcher_ic,把它替換成扇貝單詞的圖標(biāo)就好啦~
結(jié)果如下:
可以看到扇貝單詞的圖標(biāo)下隱藏著一個(gè)貪吃蛇游戲冤吨。
于是可能會(huì)出現(xiàn)以下的對(duì)話:
---
媽:這孩子真乖,手機(jī)上都是背單詞的軟件
我:...
---