花褪殘紅青杏小。燕子飛時,綠水人家繞。

            記錄一個安卓app反編譯的過程

            軟件技巧 十五樓的鳥兒 52478瀏覽 0評論

            工作需要,拔了一個app內容,主要是涉及核心算法,沒辦法只能去反編譯。部分內容也是來自網絡,本文僅作記錄整理。

            反編譯需要準備的工具:

            1.apktool:aapt.exe,apktool.bat,apktool.jar;三個在同一目錄結合使用,用來反編譯apk,apk重新打包;

            2.dex2jar:該工具作用是將classes.dex文件,反編譯出源碼(如果apk未加固),反編譯出文件,使用jd-gui工具進行查看;

            3.Auto-Sign:自動簽名工具,將重新打包的apk進行簽名,如果不簽名,無法安裝使用。

            4.jd-gui: 這個東西可以直接查看jar文件內容,不需要進一步解包,如果對方app沒有很深的套路,用這個就不用再打包去查看了。

            直接說解包,修改和再打包的過程:

            1、查看內容解包

            dex2jar.bat   classes.dex

            該命令來自于dex2jar工具,后面的dex文件是直接將apk文件改名zip解壓后得到的。

            運行結束后,在該工具目錄下會生成一個classes_dex2jar.jar的文件

            打開工具jd-gui文件夾里的jd-gui.exe,用該工具打開生成的classes_dex2jar.jar文件,便可以看到源碼,如果不是加密處理過的,這部分內容可讀性還是比較強的。

            記錄一個安卓app反編譯的過程  軟件技巧  第1張

            2、修改源碼需要使用apktools進行反編譯解包。

            apktool.bat d -f test.apk -o test

            反編譯之后會得到test 文件夾,打開test文件夾,里邊就是反編譯出來的各種文件。

            第一步中,jd-gui看到的文件,對應著smali文件夾,再找到與之對應的地址smali文件

            比如:smali\com\danfoss\koolapp\a.smali對應著下圖中的內容

            記錄一個安卓app反編譯的過程  軟件技巧  第2張

            3、修改源碼

            直接修改smali是比較難的,smali相當于編譯后的語言,雖然可讀性比二進制要好,但依然很麻煩。

            此時需要安裝android-studio,  下載地址: http://www.android-studio.org/

            安裝后安裝插件:java2smali,下載地址:https://plugins.jetbrains.com/plugin/7385-java2smali

            插件導入IDE后重啟IDE,創建一個空的Project。復制jd-gui中查看到的java內容,選擇IDE頂部菜單:build---Compile to Smali即可實現java到smali的編譯。

            記錄一個安卓app反編譯的過程  軟件技巧  第3張

            此時根據自身需要修改java內容,調試輸出即可。

            4、再打包

            再次打包需要使用aoktool命令

            apktool.bat b test

            記錄一個安卓app反編譯的過程  軟件技巧  第4張

            此時得到的test.apk文件需要簽名

            復制test.apk到autosign工具的文件夾下

            java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk test_signed.apk

            之后會得到一個test_signed.apk,該文件可以直接安裝。

            記錄一個安卓app反編譯的過程  軟件技巧  第5張

            最后說一下安卓虛擬機的問題

            使用虛擬機可以更方便快速的調試,不需要反復看手機。

            使用BlueStacks藍疊,這個軟件相對響應速度比較快??梢栽谠O置--引擎設置中獲取root權限。使用re文件管理器可以訪問system文件夾的資源,其共享文件夾路徑為:X:\BluestacksCN\Engine\ProgramData\Engine\UserData\SharedFolder


            教程完畢。



            轉載請注明:鳥兒網絡 ? 記錄一個安卓app反編譯的過程

            游客
            發表我的評論 換個身份
            取消評論

            Hi,您需要填寫昵稱和郵箱!

            • 昵稱 (必填)
            • 郵箱 (必填)
            • 網址

            等待大佬打賞中~

            久久久精品2019免费观看,国产精品岛国久久久久,手机看片av免费看大片,好爽好紧好大的免费视频国产,免费黄色视频在线观看 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>