亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android APK反編譯技巧深入講解

 更新時間:2019年05月15日 09:22:04   作者:Geeksongs  
這篇文章主要給大家介紹了關于Android APK反編譯技巧的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

導言:

在我們安卓開發(fā)當中,我們不僅需要掌握基礎的開發(fā)技能,也需要掌握軟件的安全技能,這樣才可以讓我們的軟件能夠成為一款能夠真正可以進行發(fā)布的軟件,同時也可以讓自己的核心技術不會被別人所盜取。首先我們應當了解的是,對于反編譯我們一共需要三個工具,它們分別是:APKTool,dex2jar,和jd-gui。APKTool:用于解析apk的res文件以及AndroidManifest.xml文件dex2jar:用于把apk解壓后生成的classes.dex文件解析為后綴為jar的文件,與下面的jd-gui工具聯(lián)合使用則可以得到我們的核心Java代碼jd-gui:將上一步所得到的jar文件解析為Java文件,從而得到軟件的核心代碼

這就是反編譯的核心流程,凡是沒有被MD5算法加密,或者加固過的APK都可以利用這個方法來進行反編譯破解。

第一步.來到官網(wǎng)下載APKtool

網(wǎng)址:https://ibotpeaches.github.io/Apktool/install/

界面如下:

我們需要把下載的兩個文件都放在同一個文件夾下,這個文件夾可以自己進行選擇或者新建,本人這里在E盤下創(chuàng)建了一個androidsafe的文件夾用于保存這個工具,點擊第二個鏈接之后會出現(xiàn)如下界面:

第二步.將需要進行反編譯的文件放到剛剛我們創(chuàng)建好的那個文件夾下

此時我們的E:/androidsafe文件夾下只有這三個文件,同時我們也需要把下載的第二個文件apktool-2.4.0.jar更改成apktool.jar,不然是無法運行這個工具的。同時把需要反編譯的apk文件移動到這個文件夾下。

第三步.開始反編譯

鍵盤輸入win+r,進入cmd的windows命令行模式。

利用cd命令將命令行模式進入剛剛創(chuàng)建的這個文件夾下,

再輸入:

apktool d 您拿到這個文件夾下的需要反編譯的apk文件名.apk

如下圖所示:

這樣我們的反編譯過程就完成了。

我們再來看看剛剛我們所創(chuàng)建的文件夾就會多出一個名為appdebug的文件了:

文件目錄如下:


可以說是十分成功了。其中的res文件夾是程序當中的所有資源文件,smali文件夾下存放了程序所有的反匯編代碼。apktool這個工具主要是用來解析資源res和資源AndroidManifest.xml的,除此之外的,我們還需要另外的工具來解析Java源碼,利用下以下兩個工具則可以用于解析Java源代碼,它們分別是:dex2jar和jd-gui.

第四步.將apk文件解析為后綴為dex的文件

1.首先我們把剛剛用于解析的apk文件的后綴改為zip,然后隨便用一個你已經(jīng)安裝過的壓縮包軟件把它解壓就可以了

2.解壓之后你會在解壓之后的文件當中發(fā)現(xiàn)一個名為:classes.dex的文件,這樣就把apk的dex文件得到啦!如下圖所示:

第五步.利用dex2jar工具把dex文件解析成后綴為jar的文件

dex2jar的下載網(wǎng)址是:https://bitbucket.org/pxb1988/dex2jar/downloads/

1.下載到我們剛剛安裝apktool的文件夾下,然后解壓,更改解壓后的文件名為dex2jar

2.將剛剛所得到的classes.dex文件剪切到dex2jar文件夾下,如下圖所示:

3.打開命令行cmd模式,利用cd命令將目錄切換到dex2jar的文件夾下,同時鍵入以下代碼:

d2j-dex2jar.bat classes.dex

這個時候返回文件夾,立刻就可以看到在classes.dex文件夾下就多了個jar文件了。

第六步.將jar文件解析為Java文件

下面就來到最激動人心的一步,得到我們的Java文件啦!

首先下載jd-gui,網(wǎng)址如下:

https://github.com/java-decompiler/jd-gui/releases/

這里windows版本的就直接下載后解壓,解壓后點擊后綴為exe的可執(zhí)行文件打開就是了,再將jar文件拖進去就好啦?。?br /> 如下圖所示:

反編譯的步驟還是挺簡單的,但是如果被加密后再進行反編譯難度就大了。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

最新評論