吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5052|回复: 10
收起左侧

[CTF] 一个CTFCM的追码

[复制链接]
ollydebug 发表于 2015-7-4 22:17
本帖最后由 ollydebug 于 2015-7-4 22:25 编辑

以前都是爆破,这次弄个追码。由于本人菜鸟,有错误还请大家多多包涵。废话少说,这个是CM截图。
QQ截图20150704171508.png
丢到OD里,ESP定律脱壳。字符串搜索定位到关键处。输入ollydebug,F8到这里后,发现输入的Flag长度必须小于30大于0。
QQ截图20150704171830.png
继续向下F8,其中还有一些花指令,没有大碍,只要不用IDAF5的话。到这里发现循环检测Flag开头是否为TSCTF{,如图。
QQ截图20150704172135.png
QQ截图20150704172318.png
所以Flag改为TSCTF{ollydebug,继续F8。结果发现有判断右括号在不在指定位置,如图。
QQ截图20150704172620.png
所以Flag再次调整为TSCTF{ollydebugollydebugolly},然后继续向下跟踪。这时发现这段反汇编代码反复检测在指定位置有没有下划线。而下划线明显是分割程序呀。
QQ截图20150704172933.png
于是改成TSCTF{ol_ydebu_ol_yde_ugolly},然后又是跟踪,到这里发现他获取第一段。
QQ截图20150704173550.png
然后计算MD5。
QQ截图20150704173629.png
QQ截图20150704221541.png
然后与真码的MD5作比较。
QQ截图20150704173742.png
真码的MD5为dcfed125d6507dc8c473c49fd8ad891d,在CMD5里查到了,是YQ。
QQ截图20150704173933.png
所以应改为TSCTF{YQ_ydebu_ol_yde_ugolly},继续向下跟。到了这里,发现一堆常量赋值。
QQ截图20150704174435.png
QQ截图20150704212901.png
这段数据现在看起来没什么用,但其实非常重要,一会再说。下面反汇编代码显示了第二段内容。
QQ截图20150704213746.png
继续向下跟,这两个call分别弄出了第一段和第二段的MD5。
QQ截图20150704213941.png
然后在这个call里,进行关键运算。
QQ截图20150704214204.png
F7进去,F8跟到这里,发现先取两组MD5对应的字符,一个一个取,假如两组MD5是12345,67890,那么取的就是1和6,2和7,以此类推。然后相减,然后与刚才那组数据进行对比(早知这样直接下硬件访问断点了)。
QQ截图20150704214424.png
这样我们可以你退到正确内容的MD5,为cda99cf90480d165fdd7119d76ce6aa6,在CMD5里查找到了,是w4nts。
QQ截图20150704214801.png
那我们吧Flag改为TSCTF{YQ_w4nts_ol_yde_ugolly},然后继续向下跟。然后在这里又以相同的形式出现了第四段数据。
QQ截图20150704214921.png
然后又push进去第四段数据进行运算。
QQ截图20150704215037.png
跟进这个call里,发现了base64算法。
QQ截图20150704215127.png
QQ截图20150704221442.png
是用来计算计算第四段内容的base64码,也是通过push。
QQ截图20150704215248.png
然后就是对比啦。
QQ截图20150704215334.png
其实对比的base64码在前面就能看到了:MzR0。
QQ截图20150704215431.png
然后逆运算得到正确数据:34t。
QQ截图20150704215621.png
所以将Flag再次改为TSCTF{YQ_w4nts_ol_34t_ugolly},然后又是无脑的跟踪,来到了这个地方。
QQ截图20150704215822.png
先进去第一个call,然后发现他是拿第三段内容进行xor循环解密xor文件,然后通过第二个call放出BMP文件,因为BMP文件的开头为BM,所以第三段的内容为T0。所以将Flag改为TSCTF{YQ_w4nts_T0_34t_ugolly}。然后咱们来看看弄出的BMP文件。
QQ截图20150704220334.png
这样就知道了第五段正确内容:LTlt17。那么正确Flag为:TSCTF{YQ_w4nts_T0_34t_LTlt17}。咱们可以再往后F8,就可以发现它是计算整个Flag的MD5然后在和真正Flag的MD5作比较。
QQ截图20150704221928.png
QQ截图20150704220628.png
真正Flag的MD5为:f8c1c3fe8421451965fc3487ed2366e8,但是我们在CMD5是解不开的。
QQ截图20150704220816.png
所以我们输入刚才得到的正确Flag,得到:You shall get the flag!
QQ截图20150704220957.png
另外告诉大家这里是正确位置。
QQ截图20150704221108.png
好了,这个CM也就分析完了。






免费评分

参与人数 4热心值 +4 收起 理由
smile1110 + 1 这是追码?这是分析算法
Chief + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
1094483658 + 1 我很赞同!
Pizza + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

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

 楼主| ollydebug 发表于 2015-7-4 22:26
为啥没人回复
1094483658 发表于 2015-7-4 22:35
感谢分享,学习了,楼主顺便把这个CM也放出吧
蚯蚓翔龙 发表于 2015-7-4 22:59
这个在CM区好像看过,记得XOR那一步的时候就心情没分析下去了。。。

点评

为啥不分析呢,还有这个在CM区哪里呀  发表于 2015-7-5 08:43
蚯蚓翔龙 发表于 2015-7-5 09:10
http://www.52pojie.cn/thread-369576-1-1.html
@ollydebug 帮你找了下,好像这个cm是这个朋友写的,也有分析了
 楼主| ollydebug 发表于 2015-7-5 21:41
蚯蚓翔龙 发表于 2015-7-5 09:10
http://www.52pojie.cn/thread-369576-1-1.html
@ollydebug 帮你找了下,好像这个cm是这个朋友写的,也有 ...

感觉分析的没我好,主要图太少了

点评

还是可以互相交流的嘛  发表于 2015-7-5 22:02
 楼主| ollydebug 发表于 2015-7-9 10:33
大器晚成0125 发表于 2015-9-28 20:55
支持一下,感谢分享。
zoonctrl 发表于 2015-11-17 13:46
不知道是什么意思啊  我也是  哎
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 15:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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