首页
社区
课程
招聘
[注意]smalidea的坑
2016-12-28 10:22 5086

[注意]smalidea的坑

2016-12-28 10:22
5086
用过smalidea动态调试smali的朋友应该有遇过一个问题:

乱跳!总不能照着指令一步步走!或Watch不了寄存器!

smalidea官网其实有提到,IDEA的版本必须14.1或以上,才能单步调试,否则是按照行号(.line)执行而非smali指令。
原文:
Single-instruction stepping is only supported in IDEA 14.1 and greater, and any future version of Android Studio based on IDEA 14.1 or greater. In earlier versions, attempting to single step will step to the next .line directive, instead of stepping to the next instruction.

但这里有坑!实际上只有IDEA 14.1能单步,更高版本都不行
这是我测试多个版本的的结论
但IDEA 14.1还是无法watch寄存器...

我花了几天测试各版本的IDEA / Android Studio 后发现smalidea都有bug(不是无法单步 不然就是无法watch)
结果发现作者其实有修复smalidea的bug,但只更新源码而为释出插件成品(作者提供的插件成品是有bug的旧版)
因此我下载最新源码自己编译了成品(https://pan.baidu.com/s/1ch7VSa)
测试后发现可以在IDEA15.0.6 正常运作(其他版本懒得测试了)
如果不想踩坑,请直接下载IDEA15.0.6 + 我编译的smalidea

另外调试时DDMS请开着 听我的,省麻烦(port设置8700,不需要adb forward)

要好好用个smalidea真是折腾阿
希望别再出问题啦

各位朋友们若知道其他版本的AS/IDEA也能正常调试smali欢迎分享

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 39
活跃值: (44)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
rozbo 2016-12-28 10:44
2
0
高版本的IDEA是有问题,但实测AS都是可用的。
雪    币: 52
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大胖胖 2016-12-28 10:48
3
0
我实测过android studio 2.3 Beta 1, 2.2.3, 2.2 Preview 4 ,2.0 都有问题
朋友们当参考吧
雪    币: 215
活跃值: (372)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
magicxss 2016-12-30 09:08
4
0
我当时是高版本能用0.02, 0.03反而用不了...
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zeorleo 2017-2-12 12:25
5
0
楼主可曾遇到smalidea在某些函数看不了寄存器的情况?某些又是正常的.
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
聖blue 2017-2-13 02:01
6
0
支持下!!!!!
游客
登录 | 注册 方可回帖
返回