- 积分
- 321
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
发表于 2007-3-2 10:33:05
|
显示全部楼层
回复 #194 starfriend 的帖子
你前面说的那个我也看了,那个部分也没有改动,只是改了下unuserram地址,大概觉得也不应该是ram方面的问题。
我是用的BX和BLX,我反了ELF1.6的那一句看过了,我的二级跳转也是那么做的。因为空白不够,我是想把hook改到后面1359600地址附近,所以在通话记录部分改动了一下跳转:
AREA HookRecord, CODE, AT 0xA1359600 // READONLY, ALIGN=4 //此处可不可以分开几断,需要怎么写代码?
CODE16
//这段没动过
Hook1:
PUSH {R0-R1,R4,LR}
LDR R2, =Checkfopen
BLX R2
MOV R4, R0
LDR R2, =0xA0C4D128
BLX R2
MOV R0, R4
MOV R1, #0xD
LDR R2, =0xA0C4D09C
BLX R2
POP {R0-R1,R4}
LDR R2, =AppendInfoW?T
BLX R2
POP {PC}
AREA recoerdhook, CODE, AT 0xA0C6C640 //此处有8字节空白地址
CODE16
LDR R7, =Hook1
BX R7
AREA RecordWindow, CODE, AT 0xA09D1FD2
CODE16
BL 0xA0C6C640
这段代码问题在哪里,会死机在13ED164位置,空白地址。
用BX会切换thumb到arm模式吧?
我拿你的源码直接编译出来的s7c,也不完全一样,不知道是哪里问题。
[ 本帖最后由 jpg001 于 2007-3-2 13:24 编辑 ] |
|