爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 19068|回复: 17
收起左侧

求人指点,今天下午没大师在吗?

[复制链接]
发表于 2006-1-9 13:59:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
谢谢comerose ,WISE,Xinshou,xhjjxm,
我想刷:用0-9、#、+加右导航做任意Java程序快捷键 V2(可选)


QUOTE:
0x35CAC4: 46F429003D1FE600 48413D04DAC720D4
0x35CACC: 3600CC00F2FC5803 0D15CC00E6003600
0x35CAD8: DAF4FA7846F42900 F2FC0000DAF4FA78
0x35CAE0: 3D13 0D13

0x35CAC8: DAC720D4 DABFA0CA
0x1FCAA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7403600F2F1760D8AF10360CC00CC00;60功能39
0x1FCAB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DB00DAC720D4DB00FFFFFFFFFFFFFFFF


0x27D420: FFFFFFFFFFFFFFFF E6F110008810E6FC
0x27D428: FFFFFFFFFFFFFFFF 403DE6FD1100E6FE
0x27D430: FFFFFFFFFFFFFFFF 5E14E6FF1F03DAC7
0x27D438: FFFFFFFFFFFFFFFF 9E850802D7403600
0x27D440: FFFFFFFFFFFFFFFF C2F16203E6FD1100
0x27D448: FFFFFFFFFFFFFFFF 46F12A002D03DC4D
0x27D450: FFFFFFFFFFFFFFFF F7F24A3DE6FC403D
0x27D458: FFFFFFFFFFFFFFFF E01EFABA96E7613A
0x27D460: FFFFFFFFFFFFFFFF 2F6A6176612F732F
0x27D468: FFFFFFFFFFFFFFFF 782E6A616400FFFF

因为我的地址0x27D460:提示被占用,强刷这个可以使用,但我修改为:


QUOTE:
0x35CAC4: 46F429003D1FE600 48413D04DAC710D4
0x35CACC: 3600CC00F2FC5803 0D15CC00E6003600
0x35CAD8: DAF4FA7846F42900 F2FC0000DAF4FA78
0x35CAE0: 3D13 0D13

0x35CAC8: DAC710D4 DABFA0CA
0x1FCAA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7403600F2F1760D8AF10360CC00CC00;60功能39
0x1FCAB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DB00DAC710D4DB00FFFFFFFFFFFFFFFF

0x27D410: FFFFFFFFFFFFFFFF E6F110008810E6FC
0x27D418: FFFFFFFFFFFFFFFF 403DE6FD1100E6FE
0x27D420: FFFFFFFFFFFFFFFF 5E14E6FF1F03DAC7
0x27D428: FFFFFFFFFFFFFFFF 9E850802D7403600
0x27D430: FFFFFFFFFFFFFFFF C2F16203E6FD1100
0x27D438: FFFFFFFFFFFFFFFF 46F12A002D03DC4D
0x27D440: FFFFFFFFFFFFFFFF F7F24A3DE6FC403D
0x27D448: FFFFFFFFFFFFFFFF E01EFABA96E7613A
0x27D450: FFFFFFFFFFFFFFFF 2F6A6176612F732F
0x27D458: FFFFFFFFFFFFFFFF 782E6A616400FFFF

这样修改不强刷,但不能使用了。出现空白的等待,,,,

修改以后,问题解决,随便学习学习
0x27D420: FFFFFFFFFFFFFFFF 4E14E6FF1F03DAC7

[ 本帖最后由 寒山 于 2006-1-9 21:23 编辑 ]
发表于 2006-1-9 14:46:05 | 显示全部楼层
0x27D420: FFFFFFFFFFFFFFFF 5E14E6FF1F03DAC7
你的这句改为下面这句试试看:
0x27D420: FFFFFFFFFFFFFFFF 4E14E6FF1F03DAC7
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-9 14:53:56 | 显示全部楼层
原帖由 xhjjxm 于 2006-1-9 14:46 发表
0x27D420: FFFFFFFFFFFFFFFF 5E14E6FF1F03DAC7
你的这句改为下面这句试试看:
0x27D420: FFFFFFFFFFFFFFFF 4E14E6FF1F03DAC7


测试成功。
大师要是不嫌麻烦,能简单告诉我,为什么要把5改4吗?
回复 支持 反对

使用道具 举报

发表于 2006-1-9 15:05:59 | 显示全部楼层
好多天不来了。嘻嘻。

源补丁中使用了数据地址为(031f:145e)处(即补丁地址:0x27D45E)的数据,而你修改后这个地址变成了(031f:144e)即(补丁地址:0x27D44E)


understand?
回复 支持 反对

使用道具 举报

发表于 2006-1-9 15:12:24 | 显示全部楼层
用反汇编时看到0x27D45E的数据 移动到  0x27D44E  了,这可能是要把5改4的原因。

27D42E: E6 FE 5E 14 :   mov     r14, #145Eh 这里的 #145Eh  是指向 D45E 吗?

27D45E: 61 3A       :   andb    rh1, rl5

27D44E: 61 3A       :   andb    rh1, rl5
回复 支持 反对

使用道具 举报

发表于 2006-1-9 15:28:19 | 显示全部楼层
真TMD玄之又玄。。。。。
完全看不懂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-9 18:35:12 | 显示全部楼层
两高手说明,看懂了3成,再努力学习。
回复 支持 反对

使用道具 举报

发表于 2006-1-9 18:43:54 | 显示全部楼层
可是怎么才知道“源补丁中使用了数据地址”的地方,怎么找,怎么改?一定要用sfe?
回复 支持 反对

使用道具 举报

发表于 2006-1-9 18:50:45 | 显示全部楼层
4和5楼都是高手,认准喽,准没错
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:00:11 | 显示全部楼层

回复 #8 binline 的帖子

不错,16进制的数字恐怕能看懂的人极少吧
就我所知道的解释一下,呵呵。。。。

27D410: E6 F1 10 00 :   mov     r1, #10h                 ;把立即数10写入r1
27D414: 88 10       :   mov     [-r0], r1                       ;r1入栈
27D416: E6 FC 40 3D :   mov     r12, #3D40h           ;向r12写入立即数3d40
27D41A: E6 FD 11 00 :   mov     r13, #11h                ;向r13写入立即数11
27D41E: E6 FE 5E 14 :   mov     r14, #145Eh              ;向r14写入立即数145e
27D422: E6 FF 1F 03 :   mov     r15, #31Fh                  ;向r15写入立即数31f
27D426: DA C7 9E 85 :   calls   0C7h, loc_C7859E       ;系统库函数strncpy,Copy string ended by 0 from r15:r14 to r13:r12

27D42A: 08 02       :   add     r0, #2                               ;栈加2,也就是栈顶上移2
27D42C: D7 40 36 00 :   extp    #36h, #1                      ;切换到36页,有效指令一条
27D430: C2 F1 62 03 :   movbz   r1, 0D8362h                ; (0036:0362) 把0036:0362处的数据移动到r1
27D434: E6 FD 11 00 :   mov     r13, #11h                      ;向r13写入立即数11
27D438: 46 F1 2A 00 :   cmp     r1, #2Ah                         ;用r1的值减2a,且不修改r1数据,我们可以理解为判断r1是否为2a
27D43C: 2D 03       :   jmpr    cc_Z, loc_27D444                 ;2d03 意为如果相等则跳转


ok,再看系统库函数strncpy:Copy string ended by 0 from r15:r14 to r13:r12
也就是说把31f,145e处的数据复制到11,34d0,于0结束
31f,145e怎么找?
根据狼大的教导,c166是采用段页式存储,代码用段寻址,数据用页寻址
转换成file address先
公式 : file address= pag*4000+pof
            
这里是     31f*4000+145e=C7D45E

然后转为补丁地址
C7D45E-A00000=27D45E

为什么?公式: FILE ADDRESS=FLASH ADDRESS+A00000


地址的解释告一段落,用sfe反汇编并对比一下,你就知道为什么了
玫瑰的补丁是要把27d45e处的数据613A2F6A6176612F732F782E6A616400
复制到11,34d0,看看寒山的补丁复制的是什么。。。

[ 本帖最后由 JunFeng 于 2006-1-9 21:04 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:08:07 | 显示全部楼层

回复 #8 binline 的帖子

将源补本的地址除以4000h得商为AABB,在补丁新代码中看看能不能找到E6F?BBAA,如果能,再看看在E6F?BBAA附近有没有E6F?XXYY,如果有那么计算一下(AABB:YYXX)的地址是不是也是补丁中想修改地址的部分。是的话就需要修改,不是的话就不用修改了。
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:14:28 | 显示全部楼层
wa——o
xhjjxm大大来了

btw: xhj??小红军??呵呵。。。。。
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:16:00 | 显示全部楼层
xhj??小红军??呵呵。。。。。


差不多。^_^
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:22:38 | 显示全部楼层
太好了,以前我只模模糊糊地知道要除个4000什么的,也没找到什么这方面的教材,这下都清楚怎么改了,非常感激楼上两位大虾的解释,嘻嘻^_^

xhj给的方法是近水,JunFeng说的能救远火。。。

哈哈,万分感激ing。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2006-1-9 21:26:41 | 显示全部楼层
高手成长贴,有潜力啊,顶一把^0^
回复 支持 反对

使用道具 举报

发表于 2006-1-10 02:24:05 | 显示全部楼层
我是用补丁地址批量转移工具修改的(我写,呵呵)!
回复 支持 反对

使用道具 举报

发表于 2006-1-10 08:50:06 | 显示全部楼层
原帖由 comerose 于 2006-1-10 02:24 发表
我是用补丁地址批量转移工具修改的(我写,呵呵)!

给个联接吧,竟然没找到???
不会是PatchEditor吧
回复 支持 反对

使用道具 举报

发表于 2006-1-10 11:12:10 | 显示全部楼层
完全看不懂,凭感觉顶!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-7-20 17:10

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表