這篇文章主要介紹Android Studio3.6如何調試smali,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計、網(wǎng)站建設、湛江網(wǎng)絡推廣、小程序開發(fā)、湛江網(wǎng)絡營銷、湛江企業(yè)策劃、湛江品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供湛江建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:chinadenli.net
簡介
Smali是用于Dalvik(Android虛擬機)的反匯編程序實現(xiàn),匯編工具(將Smali代碼匯編為dex文件)為smali.jar,與之對應的baksmali.jar則是反匯編程序(下載地址),官方所說的基于Jasmin/dedexer語法,實際根不知道是什么鬼……
Smali支持注解、調試信息、行數(shù)信息等基本Java的基本特性,可以說是很接近Java編譯在JVM上的中間語言了,一般用來做Android程序的逆向工程,還可以。。搞搞小名堂
個人認為Smali只是用于做反匯編的一種語言實現(xiàn),如果可以,自己也能定義一套這樣的語言,實現(xiàn)反匯編的效果
好了,下面看下正文。
以前在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開發(fā)調試IDE,
下載地址: https://developer.android.google.cn/studio/
③、smalidea-0.05.zip (目前最新版 0.05),AS 插件,用來給smali下斷點,單步調試,
下載地址 https://bitbucket.org/JesusFreke/smali/downloads/
1. 先配置好Android Studio開發(fā)環(huán)境,這步就略去2. Android Studio中安裝 smalidea 插件,先從官網(wǎng)下載 smalidea zip包,然后在 Android 中依次選擇:
File --> Setting 將會彈出設置對話框

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

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

至此,插件安裝就完成了,關閉 Android Studio
3. 用 apktool 反編譯 apk
使用命令 : java.exe -jar apktool.jar d -f <xxxx.apk> -o <xxxx目錄>
也可以直接使用 ApkTool 集成環(huán)境(如果反編譯失敗可以替換其中的 apktool.jar 至最新版):

在 反編譯出來的 AndroidManifest.xml 的 application 節(jié)點添加 android:debuggable="true"
然后在 主 Activity 中加入 invoke-static {},Landroid/os/Debug;->waitForDebugger()V

重建且簽名 apk

安裝 重建后的 apk 到手機
(這步如果重新打包失敗,可以安裝原始包,把手機 root 配置/default.prop 的 ro.debuggable=1 開啟全局調試。
然后用命令啟動 Activiry : adb shell am start -D -n package屬性的值/android:name屬性的值 )
4. 將 反編譯工程導入到 Android Studio

默認選擇 Create project from existing sources ,一路 next ,最后點擊 Finish 即可
用 Project 視圖,在項目目錄右鍵 --> Mark Directory as ... --> Sources root

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

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

此時,已經(jīng) Attach 到進程中,可以快樂的調試了

以上是“Android Studio3.6如何調試smali”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:AndroidStudio3.6如何調試smali
文章起源:http://chinadenli.net/article10/jpcido.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、虛擬主機、App開發(fā)、外貿(mào)建站、面包屑導航、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)