吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6382|回复: 35
收起左侧

[CrackMe] 【已破解】来一发CM1.1,不加壳不加花,欢迎来搞-from time:2017年8月9日

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

本帖最后由 小攸 于 2017-8-9 14:39 编辑


老规矩,支持爆破,支持密钥逆向,随便你怎么玩~



在原来1.0的基础上进行了强化加深,本次不加壳不加花,减小代码分析繁琐性



欢迎各位大神来挑战



from time:2017年8月9日09:36:07

本帖子中包含更多资源

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

x

免费评分

参与人数 7吾爱币 +10 热心值 +9 收起 理由
xufenghao + 1 + 1 谢谢@Thanks!
plasd + 3 + 3 我很赞同!
younge + 1 + 1 谢谢@Thanks!
rainsnow + 1 + 1 我很赞同!
Python大法好 + 1 + 1 我很赞同!
zbnysjwsnd8 + 2 + 1 201778
冲田总司 + 1 + 1 谢谢@Thanks!

查看全部评分

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

zbnysjwsnd8 发表于 2017-8-9 13:02
本帖最后由 zbnysjwsnd8 于 2017-8-9 13:42 编辑

{:1_902:}
唔。。。感觉蛮简单 注册码是201778
0x0 爆破:
按照这个修改即可。
[Asm] 纯文本查看 复制代码
0040414F   .  837D E8 00    cmp dword ptr ss:[ebp-0x18],0x0
00404153   .  90            nop
00404154   .  90            nop
00404155   .  90            nop
00404156   .  90            nop
00404157   .  90            nop
00404158   .  90            nop
00404159   .  833D 0CF34A00>cmp dword ptr ds:[0x4AF30C],0x0
00404160   .  90            nop
00404161   .  90            nop
00404162   .  90            nop
00404163   .  90            nop
00404164   .  90            nop
00404165   .  90            nop
00404166   .  837D EC 00    cmp dword ptr ss:[ebp-0x14],0x0
0040416A   .  EB 52         jmp short CM1_1.004041BE
0040416C      90            nop
0040416D      90            nop
0040416E      90            nop
0040416F      90            nop

爆破效果图:


顺便说一下怎么过掉反调试(我这里遇到两个 一个是ZwSetInformationThread 另一个是SetUnhandledExceptionFilter)
ZwSetInformationThread:将0x004021EB处的push 0x11改成push 0。这个反调试就GG了
SetUnhandledExceptionFilter:
在kernel32!UnhandledExceptionFilter处有调用ntdll!ZwQueryInformationProcess来查询DEBUG PORT
如果DEBUG PORT不为0的话 就将异常交给调试器 调试器如果不处理程序就GG。
不多说了 直接放代码吧。
[Asm] 纯文本查看 复制代码
7600EFEE    8BFF            mov edi,edi                              ; fx.<ModuleEntryPoint>
7600EFF0    55              push ebp
7600EFF1    8BEC            mov ebp,esp
7600EFF3    51              push ecx                                 ; fx.<ModuleEntryPoint>
7600EFF4    56              push esi                                 ; fx.<ModuleEntryPoint>
7600EFF5    33F6            xor esi,esi                              ; fx.<ModuleEntryPoint>
7600EFF7    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
7600EFFA    56              push esi                                 ; fx.<ModuleEntryPoint>
7600EFFB    6A 04           push 0x4
7600EFFD    50              push eax
7600EFFE    6A 07           push 0x7
7600F000    6A FF           push -0x1
7600F002    8975 FC         mov dword ptr ss:[ebp-0x4],esi           ; fx.<ModuleEntryPoint>
7600F005    FF15 20A00276   call dword ptr ds:[<&ntdll.NtQueryInform>; ntdll.ZwQueryInformationProcess
7600F00B    85C0            test eax,eax
7600F00D    78 06           js short KernelBa.7600F015
7600F00F    3975 FC         cmp dword ptr ss:[ebp-0x4],esi           ; fx.<ModuleEntryPoint>
7600F012    74 01           je short KernelBa.7600F015               ; 修改这里 将je改成jmp即可
7600F014    46              inc esi                                  ; fx.<ModuleEntryPoint>
7600F015    8BC6            mov eax,esi                              ; fx.<ModuleEntryPoint>
7600F017    5E              pop esi                                  ; kernel32.75DA38F4
7600F018    8BE5            mov esp,ebp
7600F01A    5D              pop ebp                                  ; kernel32.75DA38F4
7600F01B    C3              retn

为了方便可以写一个DLL来做这些工作
然后给CM加一个导入表即可。
放一个我写的Anti-Anti-Debug代码




0x1 追码:
算法其实就在判断的上面。
设注册码为a
则有a * 44 * 2 = 44 * 403556
解得a = 201778
追码效果图:



本帖子中包含更多资源

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

x

免费评分

参与人数 1吾爱币 +4 热心值 +1 收起 理由
Sound + 4 + 1 热心回复!

查看全部评分

头像被屏蔽
mdzz007 发表于 2017-8-9 10:15
 楼主| 小攸 发表于 2017-8-9 10:40
linuxprobe 发表于 2017-8-9 14:06
感谢楼主提供分享~~~~~~~~~

点评

老哥你真稳,不怕被打死  发表于 2017-8-9 17:21

免费评分

参与人数 1吾爱币 -5 收起 理由
cunzher -5 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

 楼主| 小攸 发表于 2017-8-9 14:14
zbnysjwsnd8 发表于 2017-8-9 13:02
唔。。。感觉蛮简单 注册码是201778
0x0 爆破:
按照这个修改即可。

不错哦,厉害哦~~就是反调试处理你的方法麻烦了。其实只要ret一个地方或者直接nop一个地方,就可以了。

老哥分析很详细,稳~
zbnysjwsnd8 发表于 2017-8-9 14:16
小攸 发表于 2017-8-9 14:14
不错哦,厉害哦~~就是反调试处理你的方法麻烦了。其实只要ret一个地方或者直接nop一个地方,就可以了。
...

{:1_902:}只是当时我不确定 你设置的回调函数里面 有没有设置什么数据和注册有关
如果有关直接ret或者nop就GG了
 楼主| 小攸 发表于 2017-8-9 14:38
zbnysjwsnd8 发表于 2017-8-9 14:16
只是当时我不确定 你设置的回调函数里面 有没有设置什么数据和注册有关
如果有关直接ret或者no ...

你过你可以追到密钥判断事件,那也是很厉害了,你是怎么追的?访问断点?还是其他方式?
zbnysjwsnd8 发表于 2017-8-9 14:51
本帖最后由 zbnysjwsnd8 于 2017-8-9 16:05 编辑
小攸 发表于 2017-8-9 14:38
你过你可以追到密钥判断事件,那也是很厉害了,你是怎么追的?访问断点?还是其他方式?

{:1_902:}bp GetWindowTextA
挨个线程看
可以用xjun师傅的神器找到按钮事件的地址和编辑框输入的地址
zbnysjwsnd8 发表于 2017-8-9 16:09
小攸 发表于 2017-8-9 14:38
你过你可以追到密钥判断事件,那也是很厉害了,你是怎么追的?访问断点?还是其他方式?

{:1_910:}原谅我太菜
刚刚试了一下
FF25找不到按钮事件。
我不用特征码。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-1 15:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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