第三届360信息安全大赛——CrackMe5
本帖最后由 purpleroc 于 2015-6-8 20:34 编辑恩,这次360比赛的一道题,感觉,这次的确做的挺水的,题目并没有想象中的难,不过呢,走神去了~梦游了一天~
当时没做出来的,今天上午弄出来了,写个记录,记录下~题目出的挺好的~
Crackme5
还是和去年一样的比赛规则,分值到一定程度才能继续开题。从能看160的题开始就开始琢磨了,可,情况似乎不那么乐观,没静下心来看,因为是比赛总想着去找其他的方法去突破。结果是,一直想着靠它翻盘,然后就没然后了。好吧,结束了也还是想知道它大概怎么做的,就再看了看。
还是先从当天的思路开始说起吧,拿到题目后照样peid查查壳、看看有啥算法、看看区段是否正常。然后发现如下:
http://purpleroc.com/MD/png/peid.jpg
居然52pojie,这壳是什么鬼?然后队友说了下52pojie和数字的关系。于是被科普了。
再然后,就直接双击运行了下,随意输入了个用户名密码,点确定后,“按钮”变灰,两秒后正常,然后~~~就在想着,难不成是有个好屌的算法,要算2秒才能出结果进行判定?就在看看源程序要啥算法呗。是的,不用看了,并没有,因为,加壳了啊亲,你能看到啥呢?
再然后错误的密码也如预期中的没有任何反应。所以,我们并不能通过返回信息来定位到判定点。
看样子,脱壳是第一要务哇,不过一贯来说,比赛不会考脱壳能力的,然后~这次还真有了。看了看,的确是人家自己写的防御措施,又有何不可呢。于是拿出OD,一路跟了下去,折腾了会儿后觉得,照这样单步下去估计是比赛结束了都搞不定。那就换个思路吧,拿出OD attach到进程后,把常见的GetDlgItem、GetWindowText之类的全bp了一遍。恩,结果你也知道,不可能会断下来。不能断下,就不能从处理用户名开始分析。那该从哪里开始跟呢?该怎么跟呢?
经过几次尝试后,发现程序似乎也并没有做什么反调试,而加壳的作用是防静态分析,可我还是想看看脱壳后的程序内容。于是拿出对付vmp的方法来。先运行程序,然后用OD attach上去,就直接dump下来,然后用OD静态分析。看了会儿,头都晕了,觉得也不靠谱。再回头去证实前面的两个问题,有啥算法:
………………………………………………
太难排版,全文阅读请点击:
http://purpleroc.com/MD/Crackme5.html
分析及CM下载地址: http://pan.baidu.com/s/1qWwWShQ
这个是@零度x 开发的,由于时间太短,直接延用之前的一个思路,稍微修改并把难度降低了,可以参考:
http://www.52pojie.cn/thread-257028-1-1.html
http://www.52pojie.cn/thread-257046-1-1.html
http://www.52pojie.cn/thread-258967-1-1.html L4Nce 发表于 2015-6-8 21:30
注册机是这样的:
username=输入的用户名为unicode
然后MD5(username);
卧槽。。。刚试了下 还真是
这尼玛~~~~
他前面做那么多事情~到底是想干嘛~ 抢个沙发哇。前排膜拜 前排帮顶膜拜大神 哇看来各路大神要来了先前排卖瓜子坐等牵牛 和断想师傅的到来说不定小生和恒大也来了 膜拜大神,好厉害啊。真是神一样的存在。学习了。 注册机是这样的:
username=输入的用户名为unicode
然后MD5(username);
然后去MD5的前20位
然后倒叙就是密码了。。
(坑爹) 下半年报名参加我们省的信息安全试试手。。。小白一个来膜拜 好高级的对话,小白表示毛都不会 楼主加油了,哈哈
页:
[1]
2