中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Studio3.6如何調試smali

發布時間:2021-06-16 15:04:22 來源:億速云 閱讀:215 作者:小新 欄目:移動開發

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

 簡介

Smali是用于Dalvik(Android虛擬機)的反匯編程序實現,匯編工具(將Smali代碼匯編為dex文件)為smali.jar,與之對應的baksmali.jar則是反匯編程序(下載地址),官方所說的基于Jasmin/dedexer語法,實際根不知道是什么鬼……

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

個人認為Smali只是用于做反匯編的一種語言實現,如果可以,自己也能定義一套這樣的語言,實現反匯編的效果

好了,下面看下正文。

       以前在Android Studio中調試 smali 還是非常麻煩的時候,配置不好就是

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

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

文中會用到工具及下載地址:

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

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

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

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

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

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

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

    File   -->  Setting   將會彈出設置對話框

Android Studio3.6如何調試smali

然后在設置對話框依次選擇:  Plugins   -->  <設置圖標>  --> Install Plugin from Disk...

Android Studio3.6如何調試smali

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

Android Studio3.6如何調試smali

至此,插件安裝就完成了,關閉 Android Studio

3. 用 apktool 反編譯 apk 

    使用命令 : java.exe -jar  apktool.jar d -f  <xxxx.apk>  -o <xxxx目錄>

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

Android Studio3.6如何調試smali

在 反編譯出來的 AndroidManifest.xml 的 application 節點添加 android:debuggable="true"

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

Android Studio3.6如何調試smali

重建且簽名 apk 

Android Studio3.6如何調試smali

安裝 重建后的 apk 到手機 

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

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

4. 將 反編譯工程導入到 Android Studio

 Android Studio3.6如何調試smali

默認選擇 Create project from existing sources ,一路 next ,最后點擊 Finish 即可

用 Project 視圖,在項目目錄右鍵  --> Mark Directory as ... --> Sources root

Android Studio3.6如何調試smali

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

Android Studio3.6如何調試smali

6. 運行手機上安裝的apk(apk會假死停在 waitForDebugger 代碼處,等待調試器)。

7.在Android Studio選擇附加

Android Studio3.6如何調試smali

此時,已經 Attach 到進程中,可以快樂的調試了

Android Studio3.6如何調試smali

以上是“Android Studio3.6如何調試smali”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德安县| 蛟河市| 枝江市| 共和县| 读书| 酒泉市| 海南省| 华蓥市| 开封市| 三河市| 当雄县| 平南县| 东辽县| 平武县| 许昌市| 横山县| 仪征市| 合江县| 河间市| 青浦区| 栖霞市| 江津市| 迁西县| 乡宁县| 淮北市| 巨野县| 泰宁县| 商河县| 清丰县| 泰和县| 安图县| 罗城| 八宿县| 库尔勒市| 太保市| 玛曲县| 鹤庆县| 阜阳市| 姚安县| 瓦房店市| 清原|