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

XCTF EasyHook

时间:2020-09-18 00:03:59      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:来源   pre   想法   write   返回   加密   现在   分析   python   

无壳,使用IDA直接分析主函数

技术图片

逻辑很简单,问题的关键是Hook,题目也是EasyHook,

会发现在生成文件后,文件内容是被加密后的,那就怀疑加密函数参与Hook

动态调试一步步来看,先进入401220函数
技术图片

发现这里有获取writefile函数地址的操作,初步怀疑可能进行hook操作

然后又进行一系列操作计算sub_401080函数和writefile函数的地址偏移,就进一步确认了这个想法

最后进入sub_4010D0
技术图片

发现这里对内存进行了修改,成功实现了Hook操作,也就是说当执行writefile函数的时候,不再是写文件,而是跳转到sub_401080函数技术图片

进入sub_401080函数查看具体干了什么
技术图片

进入加密函数
技术图片

技术图片

发现判断函数,如果都成立就返回1,调用它的函数里面有一个全局变量也会置1,这样就会输出正确

而之前发现的主函数里的奇怪的函数明显就是个幌子,并无实际作用

写脚本计算flag

res=[
    0x61,0x6A, 0x79, 0x67, 0x6B, 0x46, 0x6D, 0x2E, 0x7F, 0x5F, 0x7E,0x2D, 0x53, 0x56, 0x7B, 0x38, 0x6D, 0x4C, 0x6E, 0x00
]
flag=list("1234567891234567890")
for i in range(0,18):
    if i%2==1:
        flag[i]=chr((res[i]^i)+i)
    else:
        flag[i+2]=chr(res[i]^i)
print("".join(flag))
print(res[18]^0x13)

### 来源:CSDN YenKoc

参考:https://blog.csdn.net/Plus_RE/article/details/78039696?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-6-78039696.nonecase&utm_term=easyhook%20%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8C
https://blog.csdn.net/YenKoc/article/details/105631031?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-4-105631031.nonecase&utm_term=easyhook%20%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8C

XCTF EasyHook

标签:来源   pre   想法   write   返回   加密   现在   分析   python   

原文地址:https://www.cnblogs.com/LLeaves/p/13661836.html

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