时间:2021-05-21
Android Studio 3.6 正式版终于发布了,快来围观,点击查看。
简介
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 将会弹出设置对话框
然后在设置对话框依次选择: Plugins --> <设置图标> --> Install Plugin from Disk...
在弹出选择对话框中,找到下载好的 smalidea 压缩包,选择ok即可
至此,插件安装就完成了,关闭 Android Studio
3. 用 apktool 反编译 apk
使用命令 :java.exe -jar apktool.jar d -f <xxxx.apk> -o <xxxx目录>
也可以直接使用 ApkTool 集成环境(如果反编译失败可以替换其中的 apktool.jar 至最新版):
在 反编译出来的AndroidManifest.xml 的application 节点添加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选择附加
此时,已经 Attach 到进程中,可以快乐的调试了
总结
到此这篇关于Android Studio 3.6 调试 smali的全过程的文章就介绍到这了,更多相关Android Studio 3.6 调试 smali内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
引言 以前使用windows服务,于是学习并记录下来:windows服务的创建、安装、调试全过程及引发的后续学习。现如今需要用到webservice,对此
全文主题风格:淘宝宝贝转换品类有影响吗?商品转换品类危害权重值吗现如今谈起经营淘宝店铺的全过程,也是一个持续整修的全过程。有的店家在店铺管理全过程中,会察觉自己
网站建设的新手一般对网站建设全过程不太清晰,我将与您分享平台制做的基础全过程。网站建设全过程大部分是由网站内容,域名,服务器空间和网络运营构成。 创建网址
运营淘宝网店的全过程,也是一个持续整修的全过程。有的商家在店面运营全过程中,会察觉自己的品类弄错,要想转换品类。那麼,商品转换品类有影响吗?商品转换品类危害权重
运营店铺从开始赚钱到可持续挣钱,是一个渐近的全过程,或是一个自主创新能力的全过程。RUZW小结了完成这一全过程必须具有的工作能力:1、洞悉数据信息的工作能力做为