首页
社区
课程
招聘
[求助]smali学习笔记一个小问题
发表于: 2015-9-22 12:17 5969

[求助]smali学习笔记一个小问题

2015-9-22 12:17
5969
对于指令  move vx, vy
move 的opcode 是01,那么  move v0,v1  为什么机器码是0110

而对于
move/from16 v0, v25    0200 1900

为什么有时候在寄存器是在左右,有时候在右边?

28F0 - goto 0005   这个我就更没法理解了。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 233
活跃值: (285)
能力值: ( LV12,RANK:270 )
在线值:
发帖
回帖
粉丝
2
去看dexDecodeInstruction的源码就知道了。指令都有其对应的格式。

至于goto,用的是相对偏移,0005只是一个例子。
2015-9-22 14:37
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
为什么有些是源寄存器在前面,有些是源寄存器在后面??
2015-9-22 15:04
0
雪    币: 233
活跃值: (285)
能力值: ( LV12,RANK:270 )
在线值:
发帖
回帖
粉丝
4
说了看格式,而且我的印象中,vA都是目的地址,vB都是源地址(有的话)
如果你说的是

move/from16 v0, v25 0200 1900


02 是操作码
00 是目的地址
1900 是源地址
2015-9-22 15:18
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
move v0,v1  为什么机器码是0110  那这个怎么解释,01是操作码,  1代表V1,0代表V0是吗?
那怎么源在目的前面
2015-9-22 16:00
0
雪    币: 233
活跃值: (285)
能力值: ( LV12,RANK:270 )
在线值:
发帖
回帖
粉丝
6


00 1900 00是在1900前面。
那么10就是1在0前面?

是你看到的在前面就在前面?还是说内存中在低地址的在前面?
2015-9-22 16:47
0
游客
登录 | 注册 方可回帖
返回
//