用ollddbg 寻找注册码,keymake写注册机教程

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

点击浏览该文件

用ollddbg 寻找注册码的教程

作者:夜袭来

QQ:20517896

email:loop_jspone@yahoo.com.cn

练习程序 ke_Crackme2.exe (由风飘雪提供)

1.先用 FI.EXE 侦测壳

2.用 UPXShell 脱壳

3.用olludbg.exe 打开已经脱壳的文件

4.点 F9 运行程序之后,右键点击 搜索--> 字符参考,

找到 00401345 |. 68 B8344000 PUSH Key-Crac.004034B8 ; |Text = " Good

Job, I Wish You the Very Best" ,双击来到主窗口:

向上找,找到关键跳转 :

00401309 |> 8B15 38304000 /MOV EDX,DWORD PTR DS:[403038]

0040130F |. 8A90 37304000 |MOV DL,BYTE PTR DS:[EAX+403037]

00401315 |. 81E2 FF000000 |AND EDX,0FF

0040131B |. 8BDA |MOV EBX,EDX

0040131D |. 0FAFDA |IMUL EBX,EDX

00401320 |. 03F3 |ADD ESI,EBX

00401322 |. 8BDA |MOV EBX,EDX

00401324 |. D1FB |SAR EBX,1

00401326 |. 03F3 |ADD ESI,EBX

00401328 |. 2BF2 |SUB ESI,EDX

0040132A |. 40 |INC EAX

0040132B |. 49 |DEC ECX

0040132C |.^75 DB \JNZ SHORT Key-Crac.00401309

0040132E |. 56 PUSH ESI

0040132F |. 68 38314000 PUSH Key-Crac.00403138

00401334 |. E8 4A000000 CALL Key-Crac.00401383

00401339 |. 5E POP ESI

0040133A |. 3BC6 CMP EAX,ESI ** 关键比较,可知真正数据必定在其中了,在此处

按 F2 下断点。

0040133C |. 75 15 JNZ SHORT Key-Crac.00401353 ** 关键跳转

0040133E |. 6A 00 PUSH 0 ; /Style =

MB_OK|MB_APPLMODAL

00401340 |. 68 62344000 PUSH Key-Crac.00403462 ; |Title = "Key/CrackMe

#2 "

00401345 |. 68 B8344000 PUSH Key-Crac.004034B8 ; |Text = " Good Job, I

Wish You the Very Best"

0040134A |. 6A 00 PUSH 0 ; |hOwner = NULL

0040134C |. E8 9D000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA

5.随便填写注册信息提交后,被中断于 0040133a ,此时 可以看到主窗口下面,显示了两条信息

ESI=00035BEB

EAX=0001E0F3

点右键 修改寄存 查看 ESI的16进制:00035BEB ,10进制有符号:220139 ,此为真正的注册码,同样查

看EAX ,里面就是刚才乱填写的假注册码。

6.得到注册码,第一个阶段完毕。

7.由上面的信息可写出注册机:

打开 keymake.exe, 按F8,进行注册机设置,点浏览找到要破解程序Key-Crackme2.exe,添加中断信

息(位于0040133C |. 75 15 JNZ SHORT Key-Crac.00401353 处):

中断地址:0040133A

中断次数:1

第一字节:3B

指令长度:2

右边选择:寄存器方式: ESI:十进制 生成注册机,与破解程序放在一个目录下即可。

8.本文完毕

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航