• 标 题:破解RamDisk9xMe的安装程序 (3千字)
  • 作 者:波导终结者
  • 时 间:2001-10-7 22:39:47
  • 链 接:http://bbs.pediy.com

破这个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,好了,开始安装了。

  • 标 题:破解方法之二! (242字)
  • 作 者:波导终结者[BCG]
  • 时 间:2001-10-8 17:45:37

015F:00401D3C FF158C414000    CALL    `USER32!DialogBoxParamA
因为是这行叫出了密码框,而修改地方二改完后就直接开始安装,所以把这行改成和修改地方二一样的
EB1190909090(位数不够用90加),这样一运行开始安装,不要密码框了。

波导终结者[BCG]