欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

安卓逆向怎么弄

錢淋西2年前29瀏覽0評論

安卓逆向怎么弄?

安卓是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。安卓逆向就是將安裝包apk文件還原成打包前的樣子。逆向分析是一門技術,也是一門藝術。

分類:

1.應用層APK逆向。

2.安卓設備框架逆向。

3.內核驅動逆向。

4.基于安卓的硬件產品逆向。

逆向工程,主要有幾種用途,第1種是直接修改apk的,例如改代碼數值、改圖片等的,這時主要用到apktool來解包、打包。第2種是逆向分析,然后源碼開發出類似功能的,這時用apktool來得到資源文件,再用dex2jar來得到類似的源碼,然后再根據邏輯來完善這個工程。

工具/原料

more

apktool dex2jar jd-gui Android簽名文件

方法/步驟一:使用apktool來解包打包

1/5 分步閱讀

使用apktool來編譯出資源文件。在命令行輸入:

apktool -d test.apk

2/5

執行上一步后,分析資源文件。

apktool.yml: apk屬性,這個基本不用修改的.AndroidManifest.xml: 清單文件, 看這里可以知道總體的代碼結構.original: 原始數據, 應用的二進制清單和簽名.res: 資源文件,圖片,xml文件都在這里。smali: dex解析的代碼.smali是dex虛擬機的解析格式,在 dex2jar中,也包含smali格式的轉換.

3/5

修改文件。一般情況,修改文件主要是res和smali。修改圖片,主要.9的圖片是不太支持重新打包的。修改smali文件,可以結合用dex2jar把代碼反編譯成可讀性強的代碼,讀懂smali文件每一代實際代表的java代表的意思。用有的編輯工具編輯smali后,會生成.bak后綴的代碼,注意要刪掉,否則會重新打包編譯不通過。

4/5

使用apktool重新打包。在命令行輸入:

apktool b test

5/5

簽名apk。沒有簽名的apk是不可用的。在命令行輸入:

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore 密鑰庫名 -storepass 密鑰密碼 -signedjar 生成后apk路徑 原apk路徑 密鑰別名

方法/步驟二:結合dex2jar來生成源代碼

1/2

如果想逆向分析后,用源代碼開發一個類似的,這時需要用dex2jar來生成可讀性強的源代碼。在命令行中輸入:

d2j-dex2jar.bat test.apk

2/2

利用jd-gui等工具,來查看生成后的jar。這時可以看到代碼類似開發時寫的java源代碼了,可以大概讀懂大部分邏輯。如果把代碼拷貝到Android Studio,會發現還是有些錯誤,這時可以結合邏輯進行修改。