破这个RamDisk9xMe的安装程序。
RamDisk9xMe_Cenatek_v13r,把你的内存虚拟成硬盘,适用于内存大硬盘小的人士,下载地址:http://www.cenatek.com/RamDisk9xMe_Cenatek_v13r.exe
工具:TRW2000、十六进制编辑器(偶用WINHEX)
这个安装程序在启动后,要求输入密码,否则不能安装。先随便填一个,bpx hmemcpy,g,点OK,拦住。
pmodule后,来到这里。
015F:00402E5E FF1564414000 CALL `USER32!GetDlgItemTextA`
取得密码框的文本
015F:00402E64 FF7510 PUSH DWORD
[EBP+10]
015F:00402E67 FF7508 PUSH DWORD
[EBP+08]
015F:00402E6A FF1538414000 CALL `USER32!EndDialog`
关掉密码框
015F:00402E70 6A01 PUSH
BYTE +01
015F:00402E72 58 POP
EAX
015F:00402E73 5D POP
EBP
015F:00402E74 C21000 RET
10 这里又回到了KERNEL32.DLL
再次pmodule,来到这里。
015F:00401D3C FF158C414000 CALL `USER32!DialogBoxParamA`
是这里叫出了密码框
015F:00401D42 83F802 CMP
EAX,BYTE +02
015F:00401D45 0F848A000000 JZ NEAR 00401DD5
015F:00401D4B FF351C544000 PUSH DWORD [0040541C]
015F:00401D51 FF1590404000 CALL `KERNEL32!lstrlenA`
把密码框里文本的长度放在了EAX
015F:00401D57 0FB60D53544000 MOVZX ECX,BYTE [00405453]
015F:00401D5E 49 DEC
ECX 过了这里之后,ECX为8
015F:00401D5F 3BC1 CMP
EAX,ECX 比较EAX和ECX,也就是比较密码是否为八位(赶快把密码改成八位)
015F:00401D61 756B JNZ
00401DCE 不是则跳,不能安装。是就继续执行。(修改地方一)
015F:00401D63 8B0D1C544000 MOV ECX,[0040541C]
015F:00401D69 C705885440005AC2+MOV DWORD [00405488],005BC25A
015F:00401D73 8A01 MOV
AL,[ECX] 把密码框的内容放进去
015F:00401D75 84C0 TEST
AL,AL
015F:00401D77 740F JZ
00401D88
015F:00401D79 3C61 CMP
AL,61
015F:00401D7B 7C08 JL
00401D85
015F:00401D7D 3C7A CMP
AL,7A
015F:00401D7F 7F04 JG
00401D85
015F:00401D81 2C20 SUB
AL,20
015F:00401D83 8801 MOV
[ECX],AL
015F:00401D85 41 INC
ECX 把密码一位一位地变成大写。循环八次。完了之后就执行下面的JMP,
015F:00401D86 EBEB JMP
SHORT 00401D73
继续按F10,来到下面。
015F:00401DAE 8D95A8F0FFFF LEA EDX,[EBP+FFFFF0A8]
015F:00401DB4 2BD1 SUB
EDX,ECX
015F:00401DB6 8A19 MOV
BL,[ECX]
015F:00401DB8 3A1C0A CMP
BL,[EDX+ECX]
015F:00401DBB 7504 JNZ
00401DC1
015F:00401DBD 41 INC
ECX
015F:00401DBE 48 DEC
EAX
015F:00401DBF 75F5 JNZ
00401DB6
015F:00401DC1 33C9 XOR
ECX,ECX
015F:00401DC3 85C0 TEST
EAX,EAX
015F:00401DC5 0F94C1 SETZ CL
015F:00401DC8 8BC1 MOV
EAX,ECX
015F:00401DCA 85C0 TEST
EAX,EAX 这里比较密码(可是找不到真密码的明码啊,谁能帮忙看一看)
015F:00401DCC 7511 JNZ
00401DDF 对了就跳,开始安装。(修改地方二)
015F:00401DCE 6A00 PUSH
BYTE +00
015F:00401DD0 E954FFFFFF JMP 00401D29
不对就来到这里跳,不让安装
所以把修改地方一改9090,修改地方二改EB11。(小弟水平太低,找不到密码,只能改代码了。)
测试:运行后在密码框直接点OK,好了,开始安装了。
- 标 题:破解RamDisk9xMe的安装程序 (3千字)
- 作 者:波导终结者
- 时 间:2001-10-7 22:39:47
- 链 接:http://bbs.pediy.com