吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4336|回复: 3
收起左侧

[CrackMe] 【暑假活动后续】追码+爆破+制作内存注册机 之 004无难度CM

  [复制链接]
Kris 发表于 2011-8-9 22:46
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 Kris 于 2011-8-9 22:46 编辑

[ 破文标题 ] 追码+爆破+制作内存注册机 之 004无难度CM
[ 破文作者 ] Kris
[ 作者邮箱 ] ZzhEMail@Foxmail.Com
[ 破解工具 ] OD
[ 破解平台 ] Windows Xp
[ 软件名称 ] 无难度CM
[ 原版下载 ] http://www.52pojie.cn/thread-101461-1-1.html
[ 破解声明 ] 仅供交流学习技术,若教程中有不对之处,希望各位大大即使指正!
破解过程:
1.确定它是用E语言编写的东西
2.使用E-Debug打开它,点击登录按钮后,找到按钮事件为00401DC6

3.OD载入并运行,在00401DC6下断后,随便输入账号和密码,点击登录按钮
4.中断在00401DC6后开始分析代码
00401DC6  /.  55            push ebp
00401DC7  |.  8BEC          mov ebp,esp
00401DC9  |.  81EC 08000000 sub esp,0x8
00401DCF  |.  6A FF         push -0x1
00401DD1  |.  6A 08         push 0x8
00401DD3  |.  68 40010116   push 0x16010140
00401DD8  |.  68 01000152   push 0x52010001
00401DDD  |.  E8 A6010000   call CM.00401F88                         ;  获取输入密码保存到EAX中
00401DE2  |.  83C4 10       add esp,0x10
00401DE5  |.  8945 FC       mov [local.1],eax
00401DE8  |.  A1 A8FE4900   mov eax,dword ptr ds:[0x49FEA8]          ;  eax=[49FEA8]=正确的密码
00401DED  |.  50            push eax                                 ;  正确的密码(追码点)
我的密码为:
189?254?7?121?244?73?144?167?23?19?149?136?234?56?211?73?5?140?112?1?121?109?244?121?208?90?15?241?38?209?113?229?207?77?24?46?72?91?116?241?20?202?73?223?86?79?24?11?221?89?108?149?96?113?31?8?~46?20?19?217?204?194?81?4?
00401DEE  |.  FF75 FC       push [local.1]                           ;  输入的密码
00401DF1  |.  E8 E8F3FFFF   call CM.004011DE                         ;  比较函数
00401DF6  |.  83C4 08       add esp,0x8                              ;  输入的密码和正确密码相同则返回0,否则返回-1
00401DF9  |.  83F8 00       cmp eax,0x0
00401DFC  |.  B8 00000000   mov eax,0x0
00401E01  |.  0F95C0        setne al
00401E04  |.  8945 F8       mov [local.2],eax
00401E07  |.  8B5D FC       mov ebx,[local.1]
00401E0A  |.  85DB          test ebx,ebx
00401E0C  |.  74 09         je XCM.00401E17
00401E0E  |.  53            push ebx
00401E0F  |.  E8 62010000   call CM.00401F76
00401E14  |.  83C4 04       add esp,0x4
00401E17  |>  837D F8 00    cmp [local.2],0x0
00401E1B      0F84 35000000 je CM.00401E56                           ;  爆破点1,如果不跳,继续执行,可以看到下面密码错误的字符串,所以这里必须跳,改JMP
00401E21  |.  6A 00         push 0x0
00401E23  |.  6A 00         push 0x0
00401E25  |.  6A 00         push 0x0
00401E27  |.  68 01030080   push 0x80000301
00401E2C  |.  6A 00         push 0x0
00401E2E  |.  68 00000000   push 0x0
00401E33  |.  68 04000080   push 0x80000004
00401E38  |.  6A 00         push 0x0
00401E3A  |.  68 D4354700   push CM.004735D4
00401E3F  |.  68 03000000   push 0x3
00401E44  |.  BB F0294000   mov ebx,CM.004029F0
00401E49  |.  E8 34010000   call CM.00401F82
00401E4E  |.  83C4 28       add esp,0x28
00401E51  |.  E9 87000000   jmp CM.00401EDD
00401E56  |>  6A FF         push -0x1
00401E58  |.  6A 08         push 0x8
00401E5A  |.  68 40010116   push 0x16010140
00401E5F  |.  68 01000152   push 0x52010001
00401E64  |.  E8 1F010000   call CM.00401F88                         ;  再次获取密码
00401E69  |.  83C4 10       add esp,0x10
00401E6C  |.  8945 FC       mov [local.1],eax
00401E6F  |.  A1 A8FE4900   mov eax,dword ptr ds:[0x49FEA8]
00401E74  |.  50            push eax
00401E75  |.  FF75 FC       push [local.1]
00401E78  |.  E8 61F3FFFF   call CM.004011DE                         ;  再次用输入的密码和真正的密码做比较
00401E7D  |.  83C4 08       add esp,0x8
00401E80  |.  83F8 00       cmp eax,0x0
00401E83  |.  B8 00000000   mov eax,0x0
00401E88  |.  0F94C0        sete al
00401E8B  |.  8945 F8       mov [local.2],eax
00401E8E  |.  8B5D FC       mov ebx,[local.1]
00401E91  |.  85DB          test ebx,ebx
00401E93  |.  74 09         je XCM.00401E9E
00401E95  |.  53            push ebx
00401E96  |.  E8 DB000000   call CM.00401F76
00401E9B  |.  83C4 04       add esp,0x4
00401E9E  |>  837D F8 00    cmp [local.2],0x0
00401EA2      0F84 35000000 je CM.00401EDD                           ;  爆破点2,可以下面的代码有PUSH关键字符串登录成功,如果跳走就不会弹出正确对话框了,故NOP之
00401EA8  |.  6A 00         push 0x0
00401EAA  |.  6A 00         push 0x0
00401EAC  |.  6A 00         push 0x0
00401EAE  |.  68 01030080   push 0x80000301
00401EB3  |.  6A 00         push 0x0
00401EB5  |.  68 00000000   push 0x0
00401EBA  |.  68 04000080   push 0x80000004
00401EBF  |.  6A 00         push 0x0
00401EC1  |.  68 F0354700   push CM.004735F0
00401EC6  |.  68 03000000   push 0x3
00401ECB  |.  BB F0294000   mov ebx,CM.004029F0
00401ED0  |.  E8 AD000000   call CM.00401F82
00401ED5  |.  83C4 28       add esp,0x28
00401ED8  |.  E9 00000000   jmp CM.00401EDD
00401EDD  |>  8BE5          mov esp,ebp
00401EDF  |.  5D            pop ebp
00401EE0  \.  C3            retn
00401EE1  /.  55            push ebp
00401EE2  |.  8BEC          mov ebp,esp
00401EE4  |.  8BE5          mov esp,ebp
00401EE6  |.  5D            pop ebp
00401EE7  \.  C3            retn

5.破解
(1)爆破
00401EA2 NOP掉
00401E1B 改成JMP
(2)制作内存注册机
打开KeyMake-其它-内存注册机
在弹出窗口中,点浏览,选择这个CM
然后点添加,
刚才的分析已经说到
00401DED  |.  50            push eax                                 ;  正确的密码(追码点)  为追码点
所以添加窗口中应该这样填写

然后点击生成,用生成的内存补丁打开文件,点登录按钮,将得到如下效果

和刚才追出的密码一样,复制后放上去看看


破解总结:
1.找到按钮事件
2.分析事件代码
3.找出爆破点和追码点即可


直接下载文件吧,文档中附带很多图片,下载附件才好看!~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1热心值 +1 收起 理由
Rookietp + 1 感谢您的分析,[吾爱破解]有你更精彩!

查看全部评分

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

laob7son 发表于 2012-8-11 15:56
" Ultra Flash Video FLV Converter V4.2+注册码"
yhqcjl 发表于 2012-2-20 11:21
注册账户好难 发表于 2011-8-9 23:19
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-1 23:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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