反編譯android步驟入下:
為會(huì)同等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及會(huì)同網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、會(huì)同網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
第一:使用apktool直接反編譯apk
第二:apk中包含的內(nèi)容
第三:進(jìn)入到hellodemo\smali\com\example\hello,打開MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改為:
const-string v1, "hello",
第四:然后在命令行輸入:apktool b hellodemo hellodemo1.apk。這回重新打包成hellodemo1.apk。
第五:然后給新生成的apk進(jìn)行簽名。把這個(gè)apk拷貝到autosign的目錄下面,然后切換過去,在命令行輸入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
第六:把生成的hellodemo.apk安裝到手機(jī),可以看到主界面上已經(jīng)顯示的是hello,而不再是你好。說明反編譯重新打包成功!
第一:使用apktool直接反編譯apk
第二:apk中包含的內(nèi)容
第三:進(jìn)入到hellodemo\smali\com\example\hello,打開MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改為:
const-string v1, "hello",
第四:然后在命令行輸入:apktool b hellodemo hellodemo1.apk。這回重新打包成hellodemo1.apk。
第五:然后給新生成的apk進(jìn)行簽名。把這個(gè)apk拷貝到autosign的目錄下面,然后切換過去,在命令行輸入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
第六:把生成的hellodemo.apk安裝到手機(jī),可以看到主界面上已經(jīng)顯示的是hello,而不再是你好。說明反編譯重新打包成功!
反編譯步驟方法:
一、apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件
下載上述工具中的apktool,解壓得到3個(gè)文件:aapt.exe,apktool.bat,apktool.jar ,將需要反編譯的APK文件放到該目錄下,
打開命令行界面(運(yùn)行-CMD)?,定位到apktool文件夾,輸入以下命令:apktool.bat d -f ?test.apk ?test
(命令中test.apk指的是要反編譯的APK文件全名,test為反編譯后資源文件存放的目錄名稱,即為:apktool.bat ? d ?-f ? ?[apk文件 ]?? [輸出文件夾])
說明獲取成功,之后發(fā)現(xiàn)在文件夾下多了個(gè)test文件,點(diǎn)擊便可以查看該應(yīng)用的所有資源文件了。
如果想將反編譯完的文件重新打包成apk,那可以:輸入apktool.bat ? b ? ?test(編譯出來文件夾)便可
之后在之前的test文件下便可以發(fā)現(xiàn)多了2個(gè)文件夾:
build
dist(里面存放著打包出來的APK文件)
二、Apk反編譯得到Java源代碼
下載上述工具中的dex2jar和jd-gui?,解壓
將要反編譯的APK后綴名改為.rar或則 .zip,并解壓,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的),將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.9.15?文件夾內(nèi),
在命令行下定位到dex2jar.bat所在目錄,輸入dex2jar.bat???classes.dex
在改目錄下會(huì)生成一個(gè)classes_dex2jar.jar的文件,然后打開工具jd-gui文件夾里的jd-gui.exe,之后用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了
被混淆過的效果圖(類文件名稱以及里面的方法名稱都會(huì)以a,b,c....之類的樣式命名):
三、 圖形化反編譯apk
上述步驟一、二講述了命令行反編譯apk,現(xiàn)在提供一種圖形化反編譯工具:Androidfby
首先,下載上述反編譯工具包,打開Androidfby目錄,雙擊Android反編譯工具.exe,就可以瀏覽打開要反編譯的apk
通過反編譯,可以獲知該應(yīng)用用到了什么第3方的庫文件,它的代碼是如何編寫的等等。
然而,如果該APK進(jìn)行了混淆處理,那么看到的類文件名稱以及里面的方法名稱都會(huì)以a,b,c....之類的樣式命名,所以可以想找到所想得知的界面代碼可能會(huì)十分費(fèi)勁,找到了代碼可能看起來也會(huì)很費(fèi)勁,可是一個(gè)大體的思路會(huì)獲得,有了這個(gè)思路,就可以去嘗試了。