首页
社区
课程
招聘
[原创][第一题]分析及破解
发表于: 2016-11-4 08:07 6314

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

2016-11-4 08:07
6314

工具: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月23日上海龙之梦大酒店举办!

上传的附件:
收藏
免费 2
支持
分享
最新回复 (10)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我用OD调试,怎么图形框都出不来?
2016-11-14 23:13
0
雪    币: 1305
活跃值: (213)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
3
什么图形框?
2016-11-16 12:36
0
雪    币: 28
活跃值: (52)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
你好,要怎么去躲避检测??
2016-12-16 19:47
0
雪    币: 28
活跃值: (52)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
“什么strongOd开上了”需要开那些什么功能
2016-12-16 19:55
0
雪    币: 1305
活跃值: (213)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
6
忘了,记不太清了,你下个吾爱破解的OD就搞定检测了
2016-12-16 21:38
0
雪    币: 28
活跃值: (52)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
需要最新版的嘛?可是在我这就是用的吾爱,直接跑飞了
2016-12-17 08:27
0
雪    币: 1305
活跃值: (213)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
8
你下断点,在审计结束进程的api上下断,然后再栈回溯一下,到之前的地方,你就可以看到哪里的检测之类的了
2016-12-17 11:49
0
雪    币: 28
活跃值: (52)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
我的应该是系统版本的原因,我换个系统,OD载入后直接可以运行
2016-12-17 12:01
0
雪    币: 1305
活跃值: (213)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
10
嗯嗯,能行就好
2016-12-17 13:16
0
雪    币: 12
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
BlackTrace 你下断点,在审计结束进程的api上下断,然后再栈回溯一下,到之前的地方,你就可以看到哪里的检测之类的了
我用的原版OD,找不到检测的地方啊
2017-3-16 12:10
0
游客
登录 | 注册 方可回帖
返回
//