首页
社区
课程
招聘
[求助]smali语法错误
发表于: 2016-1-6 17:25 5116

[求助]smali语法错误

2016-1-6 17:25
5116
apktool反编译出来的原程序:
invoke-static {}, Lcom/tencent/mm/sdk/platformtools/x;->getContext()Landroid/content/Context;
move-result-object v2
invoke-static {v2}, Lcom/tencent/mm/model/NorMsgSource;->checkSoftType3(Landroid/content/Context;)[B
move-result-object v17

我在后面加了这一段后编译报错:
const-string v2, "DAYIN"
new-instance v0, Ljava/lang/String;
invoke-direct  {v0, v17}, Ljava/lang/String;-><init>([B)V
invoke-static {v2, v0},Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

错误提示:
Invalid register: v17. Must be between v0 and v15, inclusive.

函数开始处定义:
.method public static uf()Ljava/lang/String;
    .locals 23

寄存器书应该是够的,
反编译出来的源码自己已经用了V17了  直接编译回去也没报错  为什么我用V17编译会报错

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 293
活跃值: (225)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
2
2016-1-8 11:39
0
雪    币: 240
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=MindMac;1410634]可以参考这个 http://blog.csdn.net/zihao2012/article/details/50378606[/QUOTE]
根据smali语法,在使用invoke-、iget-等非range形式调用方法,当传参vx>15时就会报RT错误... 谢谢MindMac
2016-1-11 16:57
0
游客
登录 | 注册 方可回帖
返回
//