- 积分
- 299
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
发表于 2005-11-25 14:02:17
|
显示全部楼层
狼大.....这几天我在学习一些FLASH修改的知识(起步太晚...汗....)。看过了您的教程和论坛里我所能找到的所有教程。我反复看了好几遍当年sOLO写的补丁基础教程http://mobile.0110.cn/viewthread.php?tid=11228&fpage=1&highlight=(就是这一篇)。有些困惑,想向您请教,
1.在反汇编3618的FLASH的时候,为什么solo的显示为
ROM:F041D2 loc_F041D2: ; CODE XREF: ROM:F041C4 j
ROM:F041D2 mov r12, #0FFFFh
ROM:F041D6 mov [r0], r12
ROM:F041D8 mov r12, #1
这种格式。而我反汇编的时候出现的却是图1的样子
2.我反汇编的时候在ROM start address和 loading address里面填的都是0x800000,这是没错得吧?
3.在solo的教程里面,他提到
- ROM:AF9658 sub_AF9658: ; CODE XREF: ROM:E55BB8 P
- ROM:AF9658 ; ROM:F041DA P ...
- ROM:AF9658 mov [-r0], r8
- ROM:AF965A cmp r12, #2
- ROM:AF965C jmpr cc_SLT, loc_AF9662
- ROM:AF965E mov r4, #1
- ROM:AF9660 jmpr cc_UC, loc_AF969C
- 以上是在6618反汇编文件里找到的内容。现在可以用fbytes在2128的bin文件里来查找了,注意程序里面除了每一行的指令可以直接查找以外,立即数,寄存器,跳转地址,调用地址等 ,这些数据是不能直接查的,因为可能不一样。具体如下:
- G:\>fbytes 2128.bin 88,,48,,cd,,e0
复制代码
我的困惑是,他怎么得到的88 48 cd 等这样的特征数据?
4.为什么我在如图2的地方点跳转,跳转后得到的地址数据反汇编后和solo的不一样呢?
那么,注意里面关键的是F041DA这个地址,我们直接跳到判断GPS状态的模块sub_AF9658再用fbytes来查找效果会比较好,因为判断的模块一般都不会有太大的变化,这是经验之谈。跳过去,得到:
ROM:AF9658 sub_AF9658: ; CODE XREF: ROM:E55BB8 P
ROM:AF9658 ; ROM:F041DA P ...
ROM:AF9658 mov [-r0], r8
ROM:AF965A cmp r12, #2
ROM:AF965C jmpr cc_SLT, loc_AF9662
ROM:AF965E mov r4, #1
ROM:AF9660 jmpr cc_UC, loc_AF969C
我的是这样图3的样子
我现在的猜测是,我的反汇编弄错了。但又不知道错在了那里。很困惑。希望狼大能能够帮我解答。
才发现,这里不能引用图片.....晕
[ 本帖最后由 下午四点半 于 2005-11-25 14:07 编辑 ] |
|