最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android APK反編譯技巧深入講解

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

導(dǎo)言:

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

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

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

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

界面如下:

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

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

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

第三步.開始反編譯

鍵盤輸入win+r,進(jìn)入cmd的windows命令行模式。

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

再輸入:

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

如下圖所示:

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

我們?cè)賮砜纯磩倓偽覀兯鶆?chuàng)建的文件夾就會(huì)多出一個(gè)名為appdebug的文件了:

文件目錄如下:


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

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

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

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

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

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

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

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

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

d2j-dex2jar.bat classes.dex

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • OpenGL ES著色器使用詳解(二)

    OpenGL ES著色器使用詳解(二)

    這篇文章主要為大家詳細(xì)介紹了OpenGL ES著色器的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • android viewpager實(shí)現(xiàn)豎直滑動(dòng)效果

    android viewpager實(shí)現(xiàn)豎直滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了android viewpager實(shí)現(xiàn)豎直滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android自定義view實(shí)現(xiàn)車載可調(diào)整軌跡線

    Android自定義view實(shí)現(xiàn)車載可調(diào)整軌跡線

    這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)車載可調(diào)整軌跡線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Android從觸碰屏幕開始的事件采集解析及分發(fā)

    Android從觸碰屏幕開始的事件采集解析及分發(fā)

    這篇文章主要為大家介紹了Android從觸碰屏幕開始的事件采集解析及分發(fā),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Android上傳文件到Web服務(wù)器 PHP接收文件

    Android上傳文件到Web服務(wù)器 PHP接收文件

    這篇文章主要為大家詳細(xì)介紹了Android上傳文件到Web服務(wù)器,PHP接收文件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android?RecyclerView曝光采集的實(shí)現(xiàn)方法

    Android?RecyclerView曝光采集的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Android?RecyclerView曝光采集的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Android6.0獲取GPS定位和獲取位置權(quán)限和位置信息的方法

    Android6.0獲取GPS定位和獲取位置權(quán)限和位置信息的方法

    今天小編就為大家分享一篇Android6.0獲取GPS定位和獲取位置權(quán)限和位置信息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Android編程之單元測試實(shí)例分析

    Android編程之單元測試實(shí)例分析

    這篇文章主要介紹了Android編程之單元測試,結(jié)合具體實(shí)例分析了Android單元測試的具體實(shí)現(xiàn)步驟與相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Android編程操作嵌入式關(guān)系型SQLite數(shù)據(jù)庫實(shí)例詳解

    Android編程操作嵌入式關(guān)系型SQLite數(shù)據(jù)庫實(shí)例詳解

    這篇文章主要介紹了Android編程操作嵌入式關(guān)系型SQLite數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android操作SQLite數(shù)據(jù)庫的基本技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-01-01
  • Android Jetpack組件之ViewModel使用詳解

    Android Jetpack組件之ViewModel使用詳解

    Android中的ViewModel是一個(gè)可以用來存儲(chǔ)UI相關(guān)的數(shù)據(jù)的類。ViewModel的生命周期會(huì)比創(chuàng)建它的Activity、Fragment的生命周期長,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

青浦区| 鄂托克旗| 阿巴嘎旗| 安乡县| 南川市| 河南省| 乳源| 长兴县| 闻喜县| 姜堰市| 灵台县| 南和县| 满洲里市| 青神县| 安岳县| 林芝县| 呼图壁县| 绩溪县| 元谋县| 岚皋县| 曲麻莱县| 宜君县| 凭祥市| 昭平县| 罗源县| 浦县| 黎川县| 五华县| 酉阳| 昆明市| 博兴县| 建湖县| 通城县| 长顺县| 阳谷县| 文昌市| 马鞍山市| 襄垣县| 神木县| 弋阳县| 庆安县|