- 积分
- 412
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 loquat 于 2011-12-3 23:44 编辑
代码那段就是密码保护功能地址的主程序,这里只保护了一个功能地址,其他的我给个例子吧
- 42B9C4: 7B0D34A0 ;主菜单 我的文件件
- 44BADC: 296234A0 ;急速菜单 我的文件夹
- 11F8810: FFFFFFFFFFFFFFFF 004B,E5,E7,0xA0346229
复制代码
;Password protection some functions
;(c) avkiev
;(r) (i)[NewSgold Port] 1nvisible, -=(Kad)=-
;(p) loquat
;S68Cv51
26FED0: 0000A0E3C9FFFFEA 04F01FE5,0xA11F8809
- #pragma enable old_equal_ff
- 11F87E0: 00B506480022026006214160F8218160
- 11F87F0: 0349C16003610349884700BD,0xA8D7B090 ;Blank RAM
- 11F8800: 4CBFE4A839473DA0
- #pragma disable old_equal_ff
复制代码
;1403408: 06 06 ;ProtectType: 00-PIN, 08-PIN2, 06-Phonecode
11F8808: FFFFFFFFFFFFFFFF 004B,E9,E7,0xA0C2DBA1 ; MY_STUFF
/*
补丁的原理: old_equal_ff是主程序;
045BB10: FB6134A0
是需要保护的功能,前者是功能入口在fubu中的位置,后者是功能入口
(在功能函数或者补丁中获取功能入口,比如我的文件夹A03461FB,用winhex在fubu中搜索FB6134A0就得到了045BB10)
主程序部分是要求输入密码
0457B10: E95934A0 394608A0是跳到后面一句
0084638: FFFFFFFFFFFFFFFF 004B,E1,E7,0xA03459E9(通过寻址跳到主程序部分要求输入密码,怎么寻址我不知道懒得研究.密码通过后执行0xA03459E9)
中文说明:
1.注意每个原始功能一般都拥有两个入口,普通菜单和极速菜单,最好一起保护。
2. 每保护一个入口,需要如下两条:
ADRADRAD: AAAAAAAA XXXXXXXX+1
XXXXXXXX: FFFFFFFFFFFFFFFF 004B,YY,E7,AAAAAAAA ; EBTRY_NAME
ADRADRAD-原始功能地址存储地址
AAAAAAAA-想保护的功能地址,请查看功能地址表
XXXXXXXX - 新的入口保护的地址,首个地址0084630,其它依次加8。
3.每增加一个功能保护,依次XXXXXXXX加上8,YY处减去4;
4.第一个保护0084630空着,从0084638开始,也没有关系,但是要保证对应的YY值正确。
0084630+0x8*x,则yy对应为E9-0x4*x,十六进位。
需且仅需上面的XXXXXXXX和YY一一对应即可。
1、上面的示例1和示例2不互相影响。(仅需XXXXXXXX和YY一一对应即可)
2、bug是,返回键将不能退回到桌面,只能红键返回桌面
3、不知道mastercode为何物?不会用skey解锁的就不用刷此补丁了。
*/
|
|