首页
社区
课程
招聘
[原创] KCTF2024 第十题(孩子吃三吃麻了
发表于: 2024-9-4 17:56 5548

[原创] 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_930sub_6c0),一个线程读取结果,另一个线程检查flag,但直接看这两个处理函数好像也和flag没什么关系

main里还把3795字节长的数据拷贝到了输入的后面:
图片描述

进去P一下发现像是函数,但是IDA自动分析出的东西不太能看,人肉跟一下可以发现:


[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回