D^3CTF_d3hell
一道exe结合dll的题目
首先需要分析dll,进去一顿乱点发现了一个tea加密
还有在text段的一堆乱码
于是就猜测有smc加密的,但tcl后来才知道有天堂之门
但是这里和一般的天堂之门不一样,是从64位转到32位的天堂之门
这里的retf就是比较显著的天堂之门的特征,所以之后的代码就是32位的
需要dump出去用ida32打开查看
因为菜鸡不会写idapython脚本dump数据,就shift+E导出了
但是要注意shift+E直接导出是ascii码…
选这个raw bytes选项才能保存exe
保存之后打开就能发现一个smc加密了
没法F5很烦,摁看汇编
里面的666C169A对照了原程序就是这段汇编之后的地址,所以这段汇编是对后面代码的一个smc解密
翻译过来的逻辑大概是这样的
1 | for i in range(1,0x249): |
写一个idapython脚本就是
1 | import idc |
这就是解密后的代码
code中存放的是time()
v8是time()的地址
所以这段代码是为了check time()源码有没有被修改
这里检测是否是调试状态,如果是或者sleep()被修改那么会将一些关键的数值替换掉
这里实现了tea解密并且后面的0x405020和0x405060分别对应着exe中大数和最后异或的re_table的地址
这个dll和exe之间是通过地址定位的
…一开始写tea脚本跑了半天跑出来不对…
后来发现xdbg能直接调试看
才发现自己有反反调的插件…
然后直接找网站大数分解一下就完事了
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !