真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidStudio3.6如何調(diào)試smali

這篇文章主要介紹Android Studio3.6如何調(diào)試smali,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、湛江網(wǎng)絡(luò)推廣、小程序開發(fā)、湛江網(wǎng)絡(luò)營(yíng)銷、湛江企業(yè)策劃、湛江品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供湛江建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

 簡(jiǎn)介

Smali是用于Dalvik(Android虛擬機(jī))的反匯編程序?qū)崿F(xiàn),匯編工具(將Smali代碼匯編為dex文件)為smali.jar,與之對(duì)應(yīng)的baksmali.jar則是反匯編程序(下載地址),官方所說的基于Jasmin/dedexer語法,實(shí)際根不知道是什么鬼……

Smali支持注解、調(diào)試信息、行數(shù)信息等基本Java的基本特性,可以說是很接近Java編譯在JVM上的中間語言了,一般用來做Android程序的逆向工程,還可以。。搞搞小名堂

個(gè)人認(rèn)為Smali只是用于做反匯編的一種語言實(shí)現(xiàn),如果可以,自己也能定義一套這樣的語言,實(shí)現(xiàn)反匯編的效果

好了,下面看下正文。

       以前在Android Studio中調(diào)試 smali 還是非常麻煩的時(shí)候,配置不好就是

Error running Smali: Unable to open debugger port (localhost:8700): java.io.IOException "handshake failed - connection prematurally closed

       目前最新版的 Android Studio 利用附加功能調(diào)試 smali 非常方便 ,操作步驟如下:

文中會(huì)用到工具及下載地址:

        ①、apktool.jar(目前最新版 v2.4.1),用于反編譯smali,

下載地址:    https://ibotpeaches.github.io/Apktool/ 

        ②、Android Studio (目前最新版本 3.6)用于Android開發(fā)調(diào)試IDE,

下載地址: https://developer.android.google.cn/studio/

        ③、smalidea-0.05.zip (目前最新版 0.05),AS 插件,用來給smali下斷點(diǎn),單步調(diào)試,

下載地址      https://bitbucket.org/JesusFreke/smali/downloads/

1.  先配置好Android Studio開發(fā)環(huán)境,這步就略去2. Android Studio中安裝 smalidea 插件,先從官網(wǎng)下載 smalidea zip包,然后在 Android 中依次選擇:

    File   -->  Setting   將會(huì)彈出設(shè)置對(duì)話框

Android Studio3.6如何調(diào)試smali

然后在設(shè)置對(duì)話框依次選擇:  Plugins   -->  <設(shè)置圖標(biāo)>  --> Install Plugin from Disk...

Android Studio3.6如何調(diào)試smali

在彈出選擇對(duì)話框中,找到下載好的 smalidea 壓縮包,選擇ok即可

Android Studio3.6如何調(diào)試smali

至此,插件安裝就完成了,關(guān)閉 Android Studio

3. 用 apktool 反編譯 apk 

    使用命令 : java.exe -jar  apktool.jar d -f    -o

    也可以直接使用 ApkTool 集成環(huán)境(如果反編譯失敗可以替換其中的 apktool.jar 至最新版):

Android Studio3.6如何調(diào)試smali

在 反編譯出來的 AndroidManifest.xml 的 application 節(jié)點(diǎn)添加 android:debuggable="true"

然后在 主 Activity 中加入  invoke-static {},Landroid/os/Debug;->waitForDebugger()V

Android Studio3.6如何調(diào)試smali

重建且簽名 apk 

Android Studio3.6如何調(diào)試smali

安裝 重建后的 apk 到手機(jī) 

(這步如果重新打包失敗,可以安裝原始包,把手機(jī) root 配置/default.prop 的 ro.debuggable=1 開啟全局調(diào)試。

然后用命令啟動(dòng) Activiry : adb shell am start -D -n package屬性的值/android:name屬性的值  )

4. 將 反編譯工程導(dǎo)入到 Android Studio

 Android Studio3.6如何調(diào)試smali

默認(rèn)選擇 Create project from existing sources ,一路 next ,最后點(diǎn)擊 Finish 即可

用 Project 視圖,在項(xiàng)目目錄右鍵  --> Mark Directory as ... --> Sources root

Android Studio3.6如何調(diào)試smali

5. 展開 smali 目錄選擇剛才添加 waitForDebugger 代碼的 smali 文件下一行下斷點(diǎn)

Android Studio3.6如何調(diào)試smali

6. 運(yùn)行手機(jī)上安裝的apk(apk會(huì)假死停在 waitForDebugger 代碼處,等待調(diào)試器)。

7.在Android Studio選擇附加

Android Studio3.6如何調(diào)試smali

此時(shí),已經(jīng) Attach 到進(jìn)程中,可以快樂的調(diào)試了

Android Studio3.6如何調(diào)試smali

以上是“Android Studio3.6如何調(diào)試smali”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前名稱:AndroidStudio3.6如何調(diào)試smali
文章位置:http://weahome.cn/article/jpcido.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部