这是HDUSEC CTF决赛的一道逆向题,最开始是不可见的,后来才公布。运行程序后需要在编辑框输入一个key,然后就是点击按钮了,界面很简陋,没有多看就用IDA分析了。
首先需要找到WinMain函数,这个不多说了。发现这是通过调用DialogBoxParam创建的对话框,那么可以去看窗口过程函数,稍微看一下发现字符串都是加密的,这个跟踪一下发现是通过XOR加密了(0×23),分析一下按钮点击的逻辑为:先获取用户的输入,然后经过3个函数的处理分别设置3个flag,只有都通过的时候才会弹出MessageBox提示消息。
当然啦,那三个校验函数并不需要详细分析,自己用0×23去异或一下加密的字符串,就知道成功后会通过MessageBox弹出提示:Xor_key_with_0xFA,或者用OD强制跳转也可以。这里题目还提供了一个key文件,没有扩展名的。按照这个提示,把key文件通过XOR 0xFA进行解密,得到一个新的文件,文件头部存在RIFF WAVEfmt特征字符串,可以推断出这是一个wav音频文件。于是我开心的用播放器放了一下,居然听不懂!!!
作为一只小菜鸟,我就到这里卡!住!了!后来看了ZJU的大神的writeup,才知道音频需要进行倒放。Google搜了一下,Windows XP自带的录音机有这个功能,于是用XP的录音机回放了一下,果然就能听到KEY了。
又涨姿势了!这音频反转也算是一种简单的隐写术啊。题目可以从上面给出的ZJUISA的链接找到百度网盘的下载地址。
本博客很少转载他人文章,如未特别标明,均为原创,转载请注明出处:
本文出自程序人生 >> [HDUSEC CTF]逆向分析彩蛋 Crack Hide
作者:代码疯子