看雪论坛
发新帖

[原创][第一题]分析及破解

BlackTrace 2016-11-4 08:07 2491
工具:OllyICE 吾爱扣扣专版(什么strongOd开上了)

打开od加载了crackme


然后看了一下这样的crackme,mfc写的,然后果断下各种取文本框的内容的断点,
然后运行,结果是断下来了,但是不是重点啊,都是取中间那个计次数的。

接下来看了一下,窗口,看看,窗口消息处理函数里会不会有收获。

随便看了一下。
messagebox这些都在这里,瞅了一下,并没有其他相关的收获。看了一下那个edit的id,去取文本框内容的那些api下了个条件断点,而且发现还是没有断下来。

看了线程,发现多了几个线程,于是在createthread 下了个断点,再运行。果然断下来了,去看一下,线程调的那个方法


然后在

下了个断点,然后不断的跟。就看见了取哪个文本框的内容了。

然后就是继续分析了,得到了大概流程,中间有大量的垃圾代码,和各种乱七八糟没啥卵用的东西,应该就是虚拟化了得吧

大概流程,
取注册码

然后判断注册码里面有,b字母没有
继续取,判断有p字母没有
有个检测线程是否被调试的方法(个人猜想,如果是就直接结束进程)

然后看看长度是否为7

然后就是

把注册码前两位 xor 0xf,
中间两位 xor 0x50
剩下的全部 xor 0x42



紧接着先生成一个小写字母a-z,然后转换为大写。
然后把上面各种xor的结果又还原回去,然后把注册码里面的字母转换为大写,
然后根据生成的大写字母表,查出注册码中有几个字母。

如果不等于2就跳到失败。



然后接着比较,大写注册码第3位到第6位4个字符是不是15PB,如果不是,就GG。



接着就是合并个字符串了,把123456789和注册码的第i位开始之后的字符合并在一起。i是那个你测试的次数



然后比较前两位是不是字符1和字符2



然后就是比较 之前拼接在123456789后的那个字符和字符1相加是否等于0x63 (这里就是坑爹的地方,也就是说,你只能一次成功,不然之后不管你输入什么都是成功不了的。无解,bug。。。)
如果不等于就GG。


然后就是比较注册码的最后一位 与 (字符7 + 次数i) 是否相等
不相等就GG.



以上就是整个流程(语文不太好。)。

最后得出的注册码是:1215pb8       //有广告嫌疑?


总结:有大量的vm过后的代码,很多无用的代码,这个crackme bug(算是吧,按要求来说的话)。

附上udd。

Crack_Me.zip
上传的附件:
最新回复 (10)
xishisugan 2016-11-14 23:13
2
我用OD调试,怎么图形框都出不来?
BlackTrace 2016-11-16 12:36
3
什么图形框?
zuoyang 2016-12-16 19:47
4
你好,要怎么去躲避检测??
zuoyang 2016-12-16 19:55
5
“什么strongOd开上了”需要开那些什么功能
BlackTrace 2016-12-16 21:38
6
忘了,记不太清了,你下个吾爱破解的OD就搞定检测了
zuoyang 2016-12-17 08:27
7
需要最新版的嘛?可是在我这就是用的吾爱,直接跑飞了
BlackTrace 2016-12-17 11:49
8
你下断点,在审计结束进程的api上下断,然后再栈回溯一下,到之前的地方,你就可以看到哪里的检测之类的了
zuoyang 2016-12-17 12:01
9
我的应该是系统版本的原因,我换个系统,OD载入后直接可以运行
BlackTrace 2016-12-17 13:16
10
嗯嗯,能行就好
好事多磨 2017-3-16 12:10
11
BlackTrace 你下断点,在审计结束进程的api上下断,然后再栈回溯一下,到之前的地方,你就可以看到哪里的检测之类的了
我用的原版OD,找不到检测的地方啊
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.013, SQL: 9 / 京ICP备10040895号-17