目标软件名称:黄金内存
软件简介: 整理内存的小工具
使用工具:W32Dasm Ver 10
Hiew
步骤:
1、思路:首先要试运行要破解的程序:Memory Booster,可以试用15天或“请输入序列号”,我哪来的序列号? 破它!
2、在 找到名为“MemIdle”的文件,打开其中有:
strInputError=输入的序列号错误!
strDQ=试用期限到!请购买序列号!
strInputOK=认证成功,谢谢使用!
3、用W32Dasm Ver 10反汇编Memory Booster。一旦完成反汇编 , 点串式数据参考按钮 , 在列出的字符串列表中找到 : "strInputError " 并双击它 .可看见 :
* Possible Stringdata Ref from Data Obj->"strInputError"
:004131BD 68A8764300 push 004376A8
4、从这行起向上找 , 寻找到有这样的命令 :cmp,jne,je, 等等 .
CMP = 比较
JNE= 如果相等就跳转
JE= 如果不相等就跳转
5、有了新的发现,注意这一行代码:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00413029(C)
|
:0041319D 8D4C2420 lea ecx, dword ptr [esp+20]
:00413029(C) 表示指令由00413029一行跳转到此,利用菜单的“跳转”->“到代码位置”功能,在对话框中输入:00413029,就将来到此:
:00413029 OF846E010000 je 0041319D //如跳转则注册不成功
是不是要让程序接受任何注册码就只要把JE (=相等就跳)改成JNE (=不相等就跳),就可以输入错误的注册码进行注册?试试!
6、绿色的光条在 :00413029 OF846E010000 je 0041319D 上 , 在窗口底部有一行字指示这句命令的偏移地址 , 此处为 @Offset 00013029h. 这就是应该修改的地方了 .
7、启动hiew,我的系统是XP ,中文名的文件夹,显示的是乱码。我把Memory Booster 复制到F盘的根目录。打开Memory Booster ,按 F4 然后选择 decode mode, 按 F5 输入偏移地址13029(@Offset 00013029h). 可以看到下面这几行 :
:00413029 OF846E010000 je .0041319D ------- <1>
按F3进入修正状态,在这一行“回车”进入小汇编修改状态,显示:
Assembler
je 00001319D
把je 改成jne 按F9存盘退出。
8、把F:\Memory Booster 复制到F:\黑客\黄金内存 中,
9、运行 Memory Booster , 随便输入几个字符试试 . 成功了 !
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)