吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7130|回复: 33
收起左侧

[CrackMe] 【已开源】超强大的CM1.2来了,不加壳不加花,欢迎大神来挑战!from time:2017.08.10

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

本帖最后由 小攸 于 2017-8-11 09:27 编辑


支持爆破,支持追码!



用尽你的大脑吧~让我们来一波头脑风暴~



破解成功后,公布源码,给大家参考研究!


这个版本主要加工了追码方面,爆破方面没有主要去防御。
算法很麻烦,我自己写的头都炸,写了整整一下午。。。。。


==================================================================================
已被破解,以下是源码,如果大家有什么好的玩法,可完善源码,然后上传上来,我们一起交流讨论

源码+模块下载地址:https://pan.baidu.com/s/1bOMOYM 密码: z3dq

里面采用了自身HOOK的方式,进行功能的阻止和调用,并使用字节对比的方式,判断指定位置是否被断点。

知识点:断点后的位置 字节为int3,因此断点的位置字节被改变,可用于对比判断是否被断点

本帖子中包含更多资源

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

x

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

zbnysjwsnd8 发表于 2017-8-11 09:24
本帖最后由 zbnysjwsnd8 于 2017-8-11 09:30 编辑

我看了一下你的代码
你这个检测断点有问题
这是我的GetWindowTextA的代码
[Asm] 纯文本查看 复制代码
7783CAB0 >  6A 0C           push 0xC
7783CAB2    68 602F8A77     push user32.778A2F60
7783CAB7    E8 081A0100     call user32.7784E4C4
7783CABC    8B75 0C         mov esi,dword ptr ss:[ebp+0xC]
7783CABF    85F6            test esi,esi                             ; echap543.<ModuleEntryPoint>
7783CAC1    74 56           je short user32.7783CB19
7783CAC3    837D 10 00      cmp dword ptr ss:[ebp+0x10],0x0
7783CAC7    74 50           je short user32.7783CB19
7783CAC9    8365 FC 00      and dword ptr ss:[ebp-0x4],0x0
7783CACD    C606 00         mov byte ptr ds:[esi],0x0
7783CAD0    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
7783CAD3    E8 D8AEFEFF     call user32.778279B0
7783CAD8    8BD8            mov ebx,eax
7783CADA    8BC2            mov eax,edx                              ; echap543.<ModuleEntryPoint>
7783CADC    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
7783CADF    8BCB            mov ecx,ebx
7783CAE1    0BC8            or ecx,eax
7783CAE3    0F84 DC2E0200   je user32.7785F9C5
7783CAE9    50              push eax
7783CAEA    53              push ebx
7783CAEB    E8 C3000000     call user32.7783CBB3
7783CAF0    6A 01           push 0x1
7783CAF2    56              push esi                                 ; echap543.<ModuleEntryPoint>
7783CAF3    85C0            test eax,eax
7783CAF5    0F84 A52E0200   je user32.7785F9A0
7783CAFB    FF75 E4         push dword ptr ss:[ebp-0x1C]
7783CAFE    53              push ebx
7783CAFF    8B55 10         mov edx,dword ptr ss:[ebp+0x10]
7783CB02    6A 0D           push 0xD
7783CB04    59              pop ecx                                  ; kernel32.75DA38F4
7783CB05    E8 4694FEFF     call user32.77825F50
7783CB0A    C745 FC FEFFFFF>mov dword ptr ss:[ebp-0x4],-0x2
7783CB11    E8 F3190100     call user32.7784E509
7783CB16    C2 0C00         retn 0xC
7783CB19    33C0            xor eax,eax
7783CB1B  ^ EB F4           jmp short user32.7783CB11

这是我的GetWindowTextW代码:
[Asm] 纯文本查看 复制代码
7783CB30 >  6A 0C           push 0xC
7783CB32    68 802F8A77     push user32.778A2F80
7783CB37    E8 88190100     call user32.7784E4C4
7783CB3C    8B75 0C         mov esi,dword ptr ss:[ebp+0xC]
7783CB3F    85F6            test esi,esi                             ; echap543.<ModuleEntryPoint>
7783CB41    74 67           je short user32.7783CBAA
7783CB43    837D 10 00      cmp dword ptr ss:[ebp+0x10],0x0
7783CB47    74 61           je short user32.7783CBAA
7783CB49    8365 FC 00      and dword ptr ss:[ebp-0x4],0x0
7783CB4D    33C0            xor eax,eax
7783CB4F    66:8906         mov word ptr ds:[esi],ax
7783CB52    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
7783CB55    E8 56AEFEFF     call user32.778279B0
7783CB5A    8BD8            mov ebx,eax
7783CB5C    8BC2            mov eax,edx                              ; echap543.<ModuleEntryPoint>
7783CB5E    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
7783CB61    8BCB            mov ecx,ebx
7783CB63    0BC8            or ecx,eax
7783CB65    74 3C           je short user32.7783CBA3
7783CB67    50              push eax
7783CB68    53              push ebx
7783CB69    E8 45000000     call user32.7783CBB3
7783CB6E    6A 00           push 0x0
7783CB70    56              push esi                                 ; echap543.<ModuleEntryPoint>
7783CB71    85C0            test eax,eax
7783CB73    74 1E           je short user32.7783CB93
7783CB75    FF75 E4         push dword ptr ss:[ebp-0x1C]
7783CB78    53              push ebx
7783CB79    8B55 10         mov edx,dword ptr ss:[ebp+0x10]
7783CB7C    6A 0D           push 0xD
7783CB7E    59              pop ecx                                  ; kernel32.75DA38F4
7783CB7F    E8 CC93FEFF     call user32.77825F50
7783CB84    C745 FC FEFFFFF>mov dword ptr ss:[ebp-0x4],-0x2
7783CB8B    E8 79190100     call user32.7784E509
7783CB90    C2 0C00         retn 0xC
7783CB93    FF75 10         push dword ptr ss:[ebp+0x10]
7783CB96    6A 0D           push 0xD
7783CB98    FF75 E4         push dword ptr ss:[ebp-0x1C]
7783CB9B    53              push ebx
7783CB9C    E8 7F69FEFF     call user32.77823520
7783CBA1  ^ EB E1           jmp short user32.7783CB84
7783CBA3    C745 FC FEFFFFF>mov dword ptr ss:[ebp-0x4],-0x2
7783CBAA    33C0            xor eax,eax
7783CBAC  ^ EB DD           jmp short user32.7783CB8B

0x6A 0x0C 0x68转换成易语言的字节集是这样的:
{106,12,104}
和你这里检测的 { 106, 8, 104 } 根本就不一样
通用性好差啊
恐怕只有和楼主一个系统的
不修改代码才能验证算法吧
zbnysjwsnd8 发表于 2017-8-10 19:23
本帖最后由 zbnysjwsnd8 于 2017-8-10 21:29 编辑

爆破:
楼主真是脑洞大开啊
[Asm] 纯文本查看 复制代码
00404330   . /EB 35         jmp short CM1_2.00404367
00404332     |90            nop
00404333     |90            nop
00404334     |90            nop
00404335     |90            nop

这有个前提:干掉那三个call中的强制销毁线程
[Asm] 纯文本查看 复制代码
004011BE   . /E9 7F000000   jmp CM1_2.00401242

[Asm] 纯文本查看 复制代码
0040189F   . /E9 7F000000   jmp CM1_2.00401923

[Asm] 纯文本查看 复制代码
004019AD   . /E9 7F000000   jmp CM1_2.00401A31

追码:
在虚拟机中测试:

注册机在第21楼。

本帖子中包含更多资源

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

x

免费评分

参与人数 1热心值 +1 收起 理由
KaQqi + 1 星斗天天玩crackme

查看全部评分

头像被屏蔽
楚辞 发表于 2017-8-10 17:43
吣嘸囃唸 发表于 2017-8-10 17:53
学习一下,谢谢你的分享
zxs1127 发表于 2017-8-10 17:54
我是不可能成功的了,路过看看
dazong 发表于 2017-8-10 17:56
破不掉!我对源码感兴趣,         发了后改装点我的东西进去       编程其实很有意思,每个人的写法都不一样
SeriousSnow 发表于 2017-8-10 18:00

本帖子中包含更多资源

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

x

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Avenshy + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

SeriousSnow 发表于 2017-8-10 18:03
本帖最后由 SeriousSnow 于 2017-8-10 18:06 编辑

最简单的办法就是你的那个“功能”call太好找了,,,按钮事件里直接call 然后ret
fq645122 发表于 2017-8-10 18:09
看起来好厉害
 楼主| 小攸 发表于 2017-8-10 18:17
SeriousSnow 发表于 2017-8-10 18:03
最简单的办法就是你的那个“功能”call太好找了,,,按钮事件里直接call 然后ret

功能那边大意了,卧槽,太过关注算法了。。。功能那边没加效验、。、、、
52pojie3009 发表于 2017-8-10 18:27
看起来好厉害
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 16:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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