欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年02月26日 10:24:18   作者:jha334201553  
這篇文章主要介紹了Android Studio 3.6 調(diào)試 smali, 目前最新版的 Android Studio 利用附加功能調(diào)試 smali 非常方便,具體操作步驟跟隨小編一起看看吧

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

 簡(jiǎn)介

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

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

個(gè)人認(rèn)為Smali只是用于做反匯編的一種語(yǔ)言實(shí)現(xiàn),如果可以,自己也能定義一套這樣的語(yǔ)言,實(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 插件,用來(lái)給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設(shè)置

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

安裝插件

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

選擇zip

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

3. 用 apktool 反編譯 apk 

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

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

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

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

重建且簽名 apk 

安裝 重建后的 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

 

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

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

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

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

7.在Android Studio選擇附加

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

總結(jié)

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

相關(guān)文章

  • Android實(shí)現(xiàn)知乎選項(xiàng)卡動(dòng)態(tài)隱藏效果實(shí)例

    Android實(shí)現(xiàn)知乎選項(xiàng)卡動(dòng)態(tài)隱藏效果實(shí)例

    選項(xiàng)卡相信對(duì)大家來(lái)說應(yīng)該不陌生,最近發(fā)現(xiàn)知乎選項(xiàng)卡的動(dòng)態(tài)隱藏效果不錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)知乎選項(xiàng)卡動(dòng)態(tài)隱藏效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Android中TextView實(shí)現(xiàn)部分文字可點(diǎn)擊跳轉(zhuǎn)

    Android中TextView實(shí)現(xiàn)部分文字可點(diǎn)擊跳轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Android中TextView實(shí)現(xiàn)部分文字可點(diǎn)擊跳轉(zhuǎn)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 一篇文章弄懂Android自定義viewgroup的相關(guān)難點(diǎn)

    一篇文章弄懂Android自定義viewgroup的相關(guān)難點(diǎn)

    這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂Android中自定義viewgroup的一些相關(guān)難點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Android自定義view實(shí)現(xiàn)TextView方形輸入框

    Android自定義view實(shí)現(xiàn)TextView方形輸入框

    這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)TextView方形輸入框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android中使用pull解析器操作xml文件的解決辦法

    Android中使用pull解析器操作xml文件的解決辦法

    本篇文章介紹了,在Android中使用pull解析器操作xml文件的解決辦法。需要的朋友參考下
    2013-04-04
  • Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進(jìn)程,線程分析

    Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進(jìn)程,線程分析

    這篇文章主要介紹了Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進(jìn)程,線程分析,較為詳細(xì)的分析了Android應(yīng)用程序模型中關(guān)于任務(wù)、進(jìn)程、線程的相關(guān)概念及注意事項(xiàng),需要的朋友可以參考下
    2016-01-01
  • Android手機(jī)開發(fā)設(shè)計(jì)之記事本功能

    Android手機(jī)開發(fā)設(shè)計(jì)之記事本功能

    這篇文章主要為大家詳細(xì)介紹了Android手機(jī)開發(fā)設(shè)計(jì)之記事本功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android實(shí)現(xiàn)將一個(gè)Activity設(shè)置成窗口樣式的方法

    Android實(shí)現(xiàn)將一個(gè)Activity設(shè)置成窗口樣式的方法

    這篇文章主要介紹了Android實(shí)現(xiàn)將一個(gè)Activity設(shè)置成窗口樣式的方法,涉及Android的窗口樣式設(shè)置與布局技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-02-02
  • Android基于TextView實(shí)現(xiàn)的跑馬燈效果實(shí)例

    Android基于TextView實(shí)現(xiàn)的跑馬燈效果實(shí)例

    這篇文章主要介紹了Android基于TextView實(shí)現(xiàn)的跑馬燈效果,以完整實(shí)例形式分析了Android使用TextView通過屬性設(shè)置及功能代碼實(shí)現(xiàn)跑馬燈效果的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • Android?JobScheduler詳細(xì)介紹

    Android?JobScheduler詳細(xì)介紹

    JobScheduler是Android?5.0引入的系統(tǒng)服務(wù),它可以根據(jù)網(wǎng)絡(luò)狀態(tài)、充電狀態(tài)、電量和存儲(chǔ)狀況等來(lái)觸發(fā)相應(yīng)的JobService執(zhí)行任務(wù),它支持多條件組合、持久性任務(wù),以及在API?21以上版本的Android系統(tǒng)中使用,對(duì)Android?JobScheduler相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評(píng)論