首页
社区
课程
招聘
[讨论]试发一个CrackMe,大家试试难度如何。
发表于: 2008-11-7 03:13 7961

[讨论]试发一个CrackMe,大家试试难度如何。

2008-11-7 03:13
7961
以前没写过CrackMe,没啥子经验。

今天吃饭时突然想到一个思路,自己觉得反跟踪的效果应该会很好,就写了这个CrackMe,是本人第一个CrackMe,实际算法极其简单,难度在于程序的流程分析,以及关键代码的定位。

由于没有经验,不知道深浅。可能难度有点大了。

简单说一下使用的干扰技巧

1.c++复杂类和冗余数据代码

2.多线程延迟注册的计算

3.异常处理及程序流程打乱

4.某”巧妙“的技巧,以后公布

关于Anti,多线程本来就难以调试,我在多线程基础上,加了两处anti的东西,其中有本人原创的一种思路(本人看过的资料不多,不太确定)。个人认为这种anti非常弱,可以忽略。

发到论坛上,有时间的人可以来测试一下,欢迎大家提意见。为减小体积,用upx压缩了一下。

PS. 由于下周有考试,近期可能不来论坛了。
关于这个CM的具体细节,在考试之后我再与大家分享,近期没时间了,见谅。个人认为这个CM是比较难的了。欢迎大家研究讨论。

有任何意见和建议,可以使用论坛的邮件功能,或者直接发邮件到我在CM中留下的邮箱。谢谢。

Crack Me.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
键盘输入 w}d
然后 shift 按住不放 + mouse点一下 (0,0)~(32,32) 内的区域
即可出现注册框
上传的附件:
  • 1.JPG (33.08kb,152次下载)
  • 2.JPG (40.34kb,146次下载)
2008-11-7 11:13
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上的哥哥好厉害哦.

在哪都能看见.
2008-11-7 12:03
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
见鬼了. 我只在这儿出现耶.
2008-11-7 12:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我就说你在看雪呢.
嘿嘿.一般都是留下一个 注册号就没人了.
2008-11-7 12:23
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
大牛都是这样的。。。
2008-11-7 12:31
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
恩.   留下一串数字就没影了.

羡慕死.
2008-11-7 12:34
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
8
sessiondiy兄看来对C++了如执掌。

本来想来修改几句话,看到sesiondiy兄已经完成了,就作罢了。

我原以为STL的东西会比较令人头疼(至少我比较头疼),所以没有去掉调试信息,故意保留一堆STL的符号在里面。其实这个对于熟悉STL的人来说,反而是最好的线索。

还有我那段在异常处理当中修改EIP,并用setjmp/longjmp返回异常发生处的方法,就是我昨天刚想到的。

说实话,关于setjmp/longjmp的使用,我也是无意中看到别人的代码中使用,才查了下这两个函数的用法,在这之前根本不知道C库还有这样的函数。

之前那个,请sessiondiy兄给一些评论。
由于之前没写过CM,不知道这个难度算得上中等算不上?

今天本来要修改的只是加了一点anti的强度,算法和到达关键代码的方法没有变,因为本来我这个就不打算在算法上做得复杂。

这回去掉了调试信息。这回的重点在于如何发现这个很弱的anti,以及如何去掉。

请大家继续测试。祝大家玩得愉快。

有什么意见欢迎与我交流。

这次直接用winrar压缩了。

Crack Me.rar
上传的附件:
2008-11-7 15:08
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
9
你们都误会了.
这是一种我认为更有效率的学习方法.
有心要学的人可输入正确的注册号自行追踪流程, 最后完全了解.
若是贴出过程我不觉得有什么帮助, 将使更多人只是看人家写好的文章,
甚至于跟本没试着追.
2008-11-7 16:36
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
恩恩,sessiondiy哥哥说的很有道理.受教了.不过我弄了半天没有一点
进展感觉比较失败对自己就没有信心了.
2008-11-7 17:29
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
11
同意。

先给个结论。

如果直接给过程,看的人可能就不亲自动手了。

最多给点提示,太详细了,反而对人的帮助不大。

经常见人回帖,内容就是:支持,学习,高手什么的,实际上可能根本就没仔细看贴。

这样不好。
2008-11-7 17:32
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
12
如果对C++的核心机制理解不深的话,对大量的thiscall函数会摸不着头脑。

我这个还没有用虚函数和多继承(原来想过加,暂时先取消了),但是有一个关键的”巨型“类。

如果分析有困难,看看这个,我刚看了下,也是多线程的,相对比较简单。

它的线程是一次性创建,循环运行的。

http://bbs.pediy.com/showthread.php?t=76208

而我这个,线程大都是一次性的,使用时创建,工作完成后就结束。相关于一个立即返回而不等它执行完成的函数调用。

当然,我的算法也是极其简单的,只是为了训练跟踪能力。

注意,我新发的那个有anti,但anti的方法比较怪,也不强,试过就知道了。

我自己测试时,因为这个anti,一不小心就飞了。
2008-11-7 17:41
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
13
session,貌似有个mm粉丝很崇拜你,
2008-11-7 18:09
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
14
为什么这些我都不懂
2008-11-7 19:07
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
15
那他可能崇拜死ccfer
通常他的回帖打字很少超过一行的
2008-11-7 19:09
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
16
同意
这点可用于别帖在讨论的话题
没下载过, 却回个支持,学习,高手什么的, ben
2008-11-7 19:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
额.   那我以后就多关注你的帖子.
学习下你们的经验.
2008-11-7 23:57
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
18
发布一点提示:

本程序使用SDK编写,没有使用任何窗口程序框架,所以直接在窗口过程进行分析,就可以找到注册窗口。
2008-11-8 12:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
            膜拜
2008-11-8 14:27
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
20
不知道有多少人测试过,我在8楼重新发的那个程序。

我就想知道这个anti的思路效果如何。你们调试时,程序会不会退出?

大家帮忙提提意见。谢谢了。
2008-11-8 22:51
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
嘿嘿.没人和你玩了.

我是玩不起.
2008-11-9 09:28
0
游客
登录 | 注册 方可回帖
返回
//