国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Android Studio 3.6 調(diào)試 smali的全過程

瀏覽:40日期:2022-09-27 09:27:37

Android Studio 3.6 正式版終于發(fā)布了,快來圍觀,點(diǎn)擊查看。

簡介

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

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

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

好了,下面看下正文。

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

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

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

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

①、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 將會彈出設(shè)置對話框

Android Studio 3.6 調(diào)試 smali的全過程

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

Android Studio 3.6 調(diào)試 smali的全過程

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

Android Studio 3.6 調(diào)試 smali的全過程

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

3. 用 apktool 反編譯 apk

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

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

Android Studio 3.6 調(diào)試 smali的全過程

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

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

Android Studio 3.6 調(diào)試 smali的全過程

重建且簽名 apk

Android Studio 3.6 調(diào)試 smali的全過程

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

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

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

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

Android Studio 3.6 調(diào)試 smali的全過程

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

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

Android Studio 3.6 調(diào)試 smali的全過程

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

Android Studio 3.6 調(diào)試 smali的全過程

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

7.在Android Studio選擇附加

Android Studio 3.6 調(diào)試 smali的全過程

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

Android Studio 3.6 調(diào)試 smali的全過程

總結(jié)

到此這篇關(guān)于Android Studio 3.6 調(diào)試 smali的全過程的文章就介紹到這了,更多相關(guān)Android Studio 3.6 調(diào)試 smali內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 国产精品一二区 | 成人精品国产 | 国产精品久久久久一区二区三区 | 久久久久久久久久久久久久久久久 | 午夜香蕉网 | 久久99国产一区二区三区 | 欧美一线高本道高清在线 | 国产美女视频一区 | 国产高清在线精品一区二区三区 | 加勒比在线视频 | 国产a国产 | 成人综合在线视频免费观看 | 久久中文字幕免费视频 | 国产国模福利视频 | 欧美日韩精品国产一区二区 | 99久久99这里只有免费费精品 | 国产精选91热在线观看 | 黄影| 一本色道久久88综合亚洲精品高清 | 一级欧美一级日韩毛片99 | 国产精品亚洲玖玖玖在线靠爱 | 亚洲成a人不卡在线观看 | 亚洲女视频| 精品国产品香蕉在线观看 | 日韩一级大毛片欧美一级 | 亚洲国产精品一区二区第四页 | 在线日韩欧美一区二区三区 | 一区二三国产 | 国产成人综合久久精品红 | 午夜成年女人毛片免费观看 | 久草视频国产 | 成人高清视频在线观看 | 国产97在线视频 | 一级毛片成人免费看免费不卡 | 国产精品夫妇久久 | 国内精品伊人久久 | 精品国产免费一区二区三区 | 亚洲成人自拍网 | 一区二区三区国产精品 | 久久不卡日韩美女 | 精品无码一区在线观看 |