码迷,mamicode.com
首页 > 其他好文 > 详细

【CTF】Reverse Writeup@360CTF

时间:2015-04-16 12:22:35      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

来源: 360 CTF 2014 Reverse20

说明:已在压缩包中给定了一个用ReverseMe.exe加密过后的文件:密文.db请分析ReverseMe.exe的算法,写出解密算法,解密该文件得到Key。该Exe里有一个bug,导致exe无法运行;
提示:
你有两种方法得到该Key:
1.找到bug,patch掉之后,运行两次该程序即可解密文件得到key。
2.老老实实的逆这个简单的算法,写出一个解密程序,解密。

答案: 4A5B8DE6F7D3B6F5

?

解题思路:

用od载入程序,运行提示参数错误

技术分享

猜测参数应该是一个文件名,那这里就填入pass.db,重新运行出现异常,这个应该就是题目中所说的bug。

技术分享

那么就直接用ida6.6打开文件,按Ctrl+F5反编译一下,得到如下主函数

技术分享

可以看出程序从文件中读入数据然后调用了sub401000函数进行处理

技术分享

函数的意图很明显,就是用0x73686974对原始字符串进行异或处理,剩余的部分在用0x73进行异或处理,因此可以得到如下的方法求解flag

技术分享

由于内存中字符有逆序存储的方式,所以这里应该倒过来写。最后运行一下即可获得答案。

技术分享

?

?

@Reference:周鹏(室友你的博客是多少……)

【CTF】Reverse Writeup@360CTF

标签:

原文地址:http://www.cnblogs.com/windcarp/p/4431500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!