-
-
[原创] KCTF2024 第十题(孩子吃三吃麻了
-
发表于: 2024-9-4 17:56 5548
-
TL;DR
程序text段内容都与flag无关,data段校验code被释放到RWX段后,修正跳转,执行校验:将输入作为3x3数组下标交换数组元素,和目标数组比较是否一致。
1
2
3
4
|
目标数组 | 原始数组 123 013
456 526
780 478
|
一致则在程序本体中打印解密的结果。
正文
看一下程序入口,看起来没有反调试和异常处理,主体只有23k,非常小巧。
首先是在sub_13c0
的字符串解密函数,用第三个参数循环xor第一个参数,一共用过三种XOR Key:
- 主函数中的
050108
- 失败/成功时的
060401
- 失败/成功时的
030508
解密出的字符串多是API函数名和输入输出的提示,和flag没什么关系
程序主函数中开了两个线程(sub_930
和sub_6c0
),一个线程读取结果,另一个线程检查flag,但直接看这两个处理函数好像也和flag没什么关系
main里还把3795字节长的数据拷贝到了输入的后面:
进去P一下发现像是函数,但是IDA自动分析出的东西不太能看,人肉跟一下可以发现:
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!
赞赏
他的文章
赞赏
雪币:
留言: