搜尋
首頁Javajava教程android反編譯工具與方法

android反編譯工具與方法

Nov 26, 2016 am 10:43 AM
android

前言

開發過程中有些時候會遇到一些功能,自己不知道該怎麼做,然而別的軟體裡面已經有了,這個時候可以採用反編譯的方式,解開其他的程序,來了解一些它的做法,同時啊,還可以藉鏡別人的軟體結構,資源文件,等等,哈哈。那我就來講解一些關於反編譯相關的知識,主要分三篇,第一篇介紹反編譯的工具和方法,第二篇,介紹smali的語法,第三篇介紹如何防止反編譯,主要透過這幾篇文章,了解如何去做反編譯和程式碼加固。

工具

apktools-目前最強大的反編譯工具

輕鬆反編譯apk,解析出資源文件,xml文件,產生smali文件,還可以把修改後的文件你想生成apk。

支援windows,linux,mac。

下載網址:https://code.google.com/p/android-apktool/downloads/list 請自備梯子

dex2jar

將apk中的dex文件轉換成為jar文件,很多人不會看smali文件,還是看java類文件比較舒服,這個時候可以藉助這個工具來轉成java,也是支援windows,linux,mac。

下載位址:http://code.google.com/p/dex2jar/downloads/list

jd-gui

查看jar檔,基本上可以看到java class檔案了,也是支援mac,windows,linux。

下載網址:http://jd.benow.ca/

apktool的命令列綜合工具推薦 apktool plus

其實是別人寫的一個工具,集合了apktool的功能,另外還支持給apk簽名。最新版本是v9update6,只支援windows系統。

下載位址:http://dl.dbank.com/c0jndlkbu4#

進行反編譯

使用apktools

在apktools目錄下執行以下指令

./apool d pathtoapk outdir #window

這樣就可以反編譯成功了,可以查看其中的資源文件,smali文件,當然有的app進行了特殊處理,不是全部可以反編譯的。

同時apktool還可以對反編譯後的檔案逆向成apk檔,格式如下。

./apktool b apppath outpath

逆向後的檔案要是無簽署的需要先簽章才可以安裝。

使用dex2jar

apk檔案本身其實就是一個zip壓縮包,先講apk改成一個.zip檔解壓縮後得到一個classes.dex。到dex2jar的目錄,執行以下指令.

./d2j-dex2jar.sh pathtoclasses.dex #mac linux

d2j-dex2jar.bat pathtoclasses.dex #wind

之後會產生一個一個就開啟jd-gui可以看到其中的java程式碼了。

其他

其實我們使用的反編譯也就這些足夠了,通常很多時候無法獲取很多的程式碼,畢竟人家也有措施應對的。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何處理在IDEA中連接Oracle數據庫時出現的數字溢出錯誤?如何處理在IDEA中連接Oracle數據庫時出現的數字溢出錯誤?Apr 19, 2025 pm 04:15 PM

在IDEA中連接Oracle數據庫時出現數字溢出錯誤的處理方法當我們在使用IntelliJ...

@ResultType註解在MyBatis中如何正確使用?@ResultType註解在MyBatis中如何正確使用?Apr 19, 2025 pm 04:12 PM

在研究MyBatis框架時,開發者們常常會遇到關於註解的各種問題,其中一個常見的問題是如何正確使用@ResultType注...

如何利用自然語言處理技術高效查詢人員數據?如何利用自然語言處理技術高效查詢人員數據?Apr 19, 2025 pm 04:09 PM

利用自然語言處理技術查詢人員數據的方法在現代企業中,人員數據的管理和查詢是一個常見的需求。假設我們...

SpringBoot多數據源配置下,數據庫訪問白天慢夜間快是什麼原因?SpringBoot多數據源配置下,數據庫訪問白天慢夜間快是什麼原因?Apr 19, 2025 pm 04:06 PM

Springboot項目多數據源配置下的數據庫訪問性能問題排查本文針對一個Springboot項目中使用Atomikos進行多數據源配�...

Java項目打包成JAR後出現NoClassDefFoundError: 如何排查JDK版本兼容性問題?Java項目打包成JAR後出現NoClassDefFoundError: 如何排查JDK版本兼容性問題?Apr 19, 2025 pm 04:03 PM

Java項目打包成可執行JAR文件時遭遇NoClassDefFoundError難題很多Java開發者在將項目打包成可執行JAR文件時,可能會�...

如何分析IntelliJ IDEA的破解過程並找到負責註冊的lib或class?如何分析IntelliJ IDEA的破解過程並找到負責註冊的lib或class?Apr 19, 2025 pm 04:00 PM

關於IntelliJIDEA破解的分析方法在編程界,IntelliJ...

如何使用Java和JavaCV提升視頻質量?為什麼效果有限?如何使用Java和JavaCV提升視頻質量?為什麼效果有限?Apr 19, 2025 pm 03:57 PM

問題介紹:視頻質量提升是視頻處理中的一個重要環節,尤其是在處理低清晰度的視頻時,如何利用Java語言和�...

如何讓SpringBoot中的@RequestBody註解正確接收非JSON格式的字符串參數?如何讓SpringBoot中的@RequestBody註解正確接收非JSON格式的字符串參數?Apr 19, 2025 pm 03:54 PM

在處理SpringBoot應用中,我們經常會遇到如何正確接收請求參數的問題。特別是當參數格式不是常見的JSON時,更�...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中