吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4434|回复: 11
收起左侧

[原创] 160个CrakeMe程序之018练习

  [复制链接]
海天一色001 发表于 2019-4-7 15:18
本帖最后由 海天一色001 于 2019-4-7 15:35 编辑

打开018程序,在注册码文本框中随意输入字符,点击“Check it”按钮,程序弹出错误对话框:
001.png 002.png
先查壳,C++ 6.0编写,无壳:
003.png
第一步、爆破程序:
OD加载程序:
004.png
“中文搜索引擎”的智能搜索功能,一下子找到了这些字符串:
005.png
0040159E处是注册成功的提示,那么双击0040159E地址,回到CPU窗口:随意向上向下翻看了一下代码,很容易就找到了关键跳等信息:
[Asm] 纯文本查看 复制代码
00401585  |> \8D4D E4       lea ecx,[local.7]
00401588  |.  51            push ecx                                          ; /String2 = "很抾4`亅???       "
00401589  |.  8D55 F4       lea edx,[local.3]                                 ; |
0040158C  |.  52            push edx                                          ; |String1 = "脥?"
0040158D  |.  FF15 00204000 call dword ptr ds:[<&KERNEL32.lstrcmpA>]          ; \lstrcmpA
00401593  |.  85C0          test eax,eax                                      ;  比较String1和String2
00401595  |.  75 16         jnz short Brad_Sob.004015AD                       ;  不等则跳到失败处
00401597  |.  6A 40         push 0x40
00401599  |.  68 50304000   push Brad_Sob.00403050                            ;  CrackMe
0040159E  |.  68 58304000   push Brad_Sob.00403058                            ;  Correct way to go!!
004015A3  |.  8B4D E0       mov ecx,[local.8]
004015A6  |.  E8 53050000   call <jmp.&MFC42.#CWnd::MessageBoxA_4224>
004015AB  |.  EB 14         jmp short Brad_Sob.004015C1                       ;  跳过失败
004015AD  |>  6A 40         push 0x40
004015AF  |.  68 6C304000   push Brad_Sob.0040306C                            ;  CrackMe
004015B4  |.  68 74304000   push Brad_Sob.00403074                            ;  Incorrect try again!!
004015B9  |.  8B4D E0       mov ecx,[local.8]
004015BC  |.  E8 3D050000   call <jmp.&MFC42.#CWnd::MessageBoxA_4224>

00401595处跳到失败的命令nop掉:
006.png
再将修改后的代码存储为可执行文件Brad Soblesky.1.nop.exe,运行这个新生成的nop程序,随意输入字符,点击“Check”按钮,注册成功。
007.png
第二步、追注册码:
返回CPU窗口,在刚刚nop的代码处右键选择“撤消选择处修改”菜单命令,
008.png
再向上到代码段的开头00401512处设下断点:
009.png
F9键运行,在文本框中输入“12345”,点击“Check”按钮,程序中断于00401512处:
F8单步向下,
[Asm] 纯文本查看 复制代码
0040155C  |.  8D45 F4       lea eax,[local.3]                                 ;  加载假码到eax中
0040155F  |.  50            push eax                                          ; /String = 00000005 ???
00401560  |.  FF15 04204000 call dword ptr ds:[<&KERNEL32.lstrlenA>]          ; \lstrlenA
00401566  |.  8945 F0       mov [local.4],eax                                 ;  取假码长度
00401569  |.  837D F0 01    cmp [local.4],0x1                                 ;  与1比较
0040156D  |.  73 16         jnb short Brad_Sob.00401585                       ;  如果少于1位,那么弹出输入注册码的提示框
0040156F  |.  6A 40         push 0x40
00401571  |.  68 2C304000   push Brad_Sob.0040302C                            ;  CrackMe
00401576  |.  68 34304000   push Brad_Sob.00403034                            ;  Enter Registration Number
0040157B  |.  8B4D E0       mov ecx,[local.8]
0040157E  |.  E8 7B050000   call <jmp.&MFC42.#CWnd::MessageBoxA_4224>
00401583  |.  EB 3C         jmp short Brad_Sob.004015C1
00401585  |>  8D4D E4       lea ecx,[local.7]                                 ;  调用明文字符
00401588  |.  51            push ecx                                          ; /String2 = "<BrD-SoB>"
00401589  |.  8D55 F4       lea edx,[local.3]                                 ; |
0040158C  |.  52            push edx                                          ; |String1 = "12345"
0040158D  |.  FF15 00204000 call dword ptr ds:[<&KERNEL32.lstrcmpA>]          ; \lstrcmpA
00401593  |.  85C0          test eax,eax                                      ;  比较String1和String2

这个程序非常简单,先判断输入的字符是否小于1位,然后再向下调入明码<BrD-SoB>和输入的字符进行比较,其实就是说,注册码就是“<BrD-SoB>”这9个字符!
010.png

免费评分

参与人数 5吾爱币 +9 热心值 +5 收起 理由
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
liphily + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hjm666 + 1 + 1 你肥来了··
灰太狼大王 + 1 + 1 用心讨论,共获提升!
朱朱你堕落了 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

UC大法好 发表于 2019-4-7 15:54
小菜鸟 一脸懵逼
kisy 发表于 2019-4-7 17:27
这里“将00401595处跳到失败的命令nop掉”可不可以把此处的jnz指令改成jz指令?
WNs_ACE 发表于 2019-4-7 17:59
无敌狮子头 发表于 2019-4-7 18:34
虽然一点也看不懂 还是支持了!
zhaolisheng 发表于 2019-4-7 19:50
crakeme不懂
Jack强 发表于 2019-4-7 20:44

小菜鸟 一脸懵逼
hmeng 发表于 2019-4-7 22:18
懵逼中,感谢大佬分享学习
52lxw 发表于 2019-4-7 22:34
学习了学习了
52lxw 发表于 2019-4-7 22:35
学习了学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表