新手学破解快速入门-实例1

时间:2022-06-14 15:46:49

从这节课开始将和大家一起学习破解入门课程的第一课。
课程教材来源:
适合破解入门的160个crackme练手已打包

首先下载后,打开程序保存第一个样本到磁盘里,运行OD,载入样本进行分析。
本程序有2种注册方式:序列号、序列号+用户名
先分析序列号形式的:
1、先运行程序,试试每个功能有什么作用及提示。
2、载入OD后,查看字符串,找到提示的字符串位置下断。
地址=0042F4F8 反汇编=mov edx,Acid_bur.0042F58C 文本字符串=Try Again!!

蓝色是我们输入假密码后的提示,在该处双击进行代码段找段首下断。
3.F9运行程序,输入密码,程序断在了我们下的断点位置。此时我们F8单步往下走。

0042F48D  |.  BA 40F54200   mov edx,Acid_bur.0042F540                ;  Hello
0042F492  |.  E8 7142FDFF   call Acid_bur.00403708
0042F497  |.  8D45 F8       lea eax,[local.2]
0042F49A  |.  BA 50F54200   mov edx,Acid_bur.0042F550                ;  Dude!
0042F49F  |.  E8 6442FDFF   call Acid_bur.00403708
0042F4A4  |.  FF75 FC       push [local.1]
0042F4A7  |.  68 60F54200   push Acid_bur.0042F560
0042F4AC  |.  FF75 F8       push [local.2]
0042F4AF  |.  8D45 F4       lea eax,[local.3]
0042F4B2  |.  BA 03000000   mov edx,0x3
0042F4B7  |.  E8 F044FDFF   call Acid_bur.004039AC

  

以上汇编代码,通过分析是取了2个常量值进行拼接为:Try Again!
继续往下走,发现关键位置:

0042F4CA  |.  8B45 F0       mov eax,[local.4]
0042F4CD  |.  8B55 F4       mov edx,[local.3]
0042F4D0  |.  E8 2745FDFF   call Acid_bur.004039FC
[color=#0000ff]0042F4D5      75 1A         jnz XAcid_bur.0042F4F1[/color]
0042F4D7  |.  6A 00         push 0x0
0042F4D9  |.  B9 64F54200   mov ecx,Acid_bur.0042F564                ;  Congratz!
0042F4DE  |.  BA 70F54200   mov edx,Acid_bur.0042F570                ;  God Job dude !! =)
0042F4E3  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F4E8  |.  8B00          mov eax,dword ptr ds:[eax]
0042F4EA  |.  E8 81ACFFFF   call Acid_bur.0042A170
0042F4EF  |.  EB 18         jmp XAcid_bur.0042F509
0042F4F1  |>  6A 00         push 0x0
0042F4F3  |.  B9 84F54200   mov ecx,Acid_bur.0042F584                ;  Failed!
0042F4F8  |.  BA 8CF54200   mov edx,Acid_bur.0042F58C                ;  Try Again!!
0042F4FD  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F502  |.  8B00          mov eax,dword ptr ds:[eax]
0042F504  |.  E8 67ACFFFF   call Acid_bur.0042A170

  

从字符串提示来看,JNZ跳转就是注册失败,不跳就是注册成功。分析发现上面的CALL是拿EAX,EDX作比较。JNZ是相等不跳,不相等跳转。本次不相等跳转后,注册失败。将注册码修改为EDX的内容后,注册成功。说明注册码是一个固定的值 :Try Again!
经过上面的分析得出2种破解方法:
1、找到正确的注册码,完成注册。
2、将关键位置的JNZ修改为NOP,达到破解。
该实例相对简单,就不多废话了!有不明白的请跟帖。

高清视频学习下载地址:
https://pan.baidu.com/s/1wR-1K0TZ-m0QGXNt1jHj6A

新手学破解入门第1课
http://www.it0365.com/thread-30-1-1.html
(出处: IT资源社区)