【Reversing.kr】AutoHotKey2
本帖最后由 whklhh 于 2017-10-15 01:16 编辑Reversing.kr是韩国的一个逆向题目网站
有分国度的排行榜,还是挺有意思的
本题即来自于第十八关AutoHotKey2
http://reversing.kr/challenge.php可以下载到文件
解压出来又来了ReadMe
不过这次比较简单,翻译一下是要求让程序正确运行即可
查壳发现又有UPX,upx -d脱下后就能进IDA静态分析了
先运行试试,发现报Exe Corrupted,跟AutoHotKey一样嘛,应该还是自校验吧~
那我看看源程序,结果还是报这个错
这样就没法像AutoHotKey一样借源程序便利啦,不过也对,这次要求是正常运行而不是找数据了嘛
那么乖乖分析自校验的位置吧~
IDA查找字符串,发现有两处引用
那么在OD中弹窗出现时按F12暂停,然后ALT+K查看调用堆栈就能找到具体的call了
锁定sub_4481e0中的call sub_4508c7
http://img.blog.csdn.net/20171015003040322?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
返回值1时将错误提示字符串提供给了sub_43C205,大概率就是弹窗调用了
直接爆破仍然会报错,再爆破报错的地方就直接结束了╮(╯_╰)╭
所以只好按部就班过自校验啦
虽然不明白这几个参数是哪来的,不过我们可以先分析一波~
要求Return 0,因此不能落入Label_18和Label_19中关闭文件句柄并return v13
只有函数的最后一行才有return 0~基本过程跟AutoHotKey一样
http://img.blog.csdn.net/20171015004829694?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
通过文件指针读取本文件的二进制数据流
第一步是以整个文件的除了最后4字节的数据按4字节运算,最后结果异或0xAAAA后与最后4字节比较运算
过程在sub_450F95中,比较复杂,反正动态调试可以直接看到,就不费心去折腾了~
将得到的数据用十六进制编辑器(Winhex/UltraEdit等)写入文件最后4字节就行啦
(注意小端序哦,寄存器中的值和二进制数据顺序不同~)
http://img.blog.csdn.net/20171015005204785?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
接着以倒数第5-8字节作为偏移,要求16个字节与硬编码相同,再下一个字节为03
将硬编码dump出来再通过查找功能即可
http://img.blog.csdn.net/20171015005417475?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
找到索引是0x00032800,写入倒数第二个4字节即可(同样也要注意小端序哦)
再往后是对之后的字节进行读取啥的,就没有我们可以干涉的部分了
这里注意一下,因为我们修改了倒数第5-8字节,因此最后4字节的运算结果改变了,需要重新观察一下并写入
(刚开始没反应过来,重新跟着走了一遍才发现╮(╯_╰)╭)
最后写入的8个字节是00 28 03 00 33 C6 2B 36
完成以后运行就显示了不同的东西:
http://img.blog.csdn.net/20171015005943717?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
嗯……英文苦手_(:з」∠)_
手打下来第一句话拖到翻译里,知道要找的这个人是Eddard Stark的私生子,故事来源于冰与火之歌
在Eddard的维基百科中搜索【私生子】得到结果:
http://img.blog.csdn.net/20171015010245373?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2hrbGhoaGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
于是就知道了这货是Jon Snow啦(连姓都不一样了,不愧是私生子
还有世界名曲冰与火啊。
另外楼主是否有AHK代码还原工具?(反编译出源码来
@whklhh 冥界3大法王 发表于 2017-10-15 08:28
还有世界名曲冰与火啊。
另外楼主是否有AHK代码还原工具?(反编译出源码来
@whklhh
啊?你说这个题目的AHK? 英语头有点大 感谢分享,虽然看不懂不过还是得谢谢楼主 {:301_1007:}看见1了就看不懂了 有时候思路总是被局部
页:
[1]