首页
社区
课程
招聘
[讨论] 注入代码寄存器v0-v9都用光了,如何注入log.i调试了?
发表于: 2012-6-25 14:37 7928

[讨论] 注入代码寄存器v0-v9都用光了,如何注入log.i调试了?

2012-6-25 14:37
7928
要注入代码时发现寄存器v0-v9都用光了
而且都非const-string定义,有时真得会这样具体的...
如何注入log.i调试了?
如:
const-string v0, "tag"
const-string v1, "debugging"
invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 335
活跃值: (671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
以前一直都不知道smali或Dalvik有多少个寄存器,直到看到这样篇之后:
a57K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4u0W2k6r3&6S2P5r3g2D9j5h3k6^5i4K6u0W2K9i4c8W2P5h3g2Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0Y4i4K6u0r3y4o6V1J5y4U0j5%4
2012-6-25 23:08
0
雪    币: 354
活跃值: (316)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
8feK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3N6$3W2F1M7%4g2F1P5s2g2Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0j5%4y4K6p5&6x3o6f1`.
2012-6-26 10:24
0
雪    币: 2325
活跃值: (1058)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
这里我需要澄清一下,Dalvik虚拟机中可用的寄存器范围是v0~v65535,
285K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4u0W2k6r3&6S2P5r3g2D9j5h3k6^5i4K6u0W2K9i4c8W2P5h3g2Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0Y4i4K6u0r3y4o6V1J5y4U0j5%4

这篇文章说可能会用到256个是不太准确的,比如这个情况,我有个switch就有256个分支!!很显然这个时候寄存器是不够用的,实际上Opcode中如move/from16 vAA, vBBBB这条指令,一个B是4位,4个B就是16位,2的16次方是65536!
2012-7-6 17:46
0
雪    币: 118
活跃值: (106)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
你说的很对,Claud Xiao的文章中有说明。
2012-7-6 18:04
0
游客
登录 | 注册 方可回帖
返回