论坛首页 CTF竞赛交流区 阅读主题

[原创]KCTF2025 day10 wp

184 浏览 0 回复
#1 楼主 2026-06-01 21:08:55
没有任何技巧, 只有数据流追踪
输入的数据第一步处理在0000000140044310, 大概可以看出来是一个将数据转化为二进制串的函数, 第一个参数是结果, 第二个参数为要转化的数据, 最后是要转化成的长度, 只是把0换成2, 1换成3然后拼接每一次转化的结果, 以16字节为一块:

然后就是不停下硬件断点跟踪, 直到进到000000014000E5A0进行了第二步处理, 第一步处理得到的binstr的每一位作为一级索引, 配合一个同样由2和3组成的key在一张9 * 9的表(00000001400C10C0)中取值:

再继续跟这一步得到的密文, 在sub_14000CB50进行了最终校验.
然后在拼接完二进制字符串后的00000001400587A6下断点进行加密轮次分析, 一共断下3次, 说明密文长度应该为0x30, 然后就是跟踪每一块的二进制字符串到加密和校验部分分别获取key和密文, 其中加密函数在程序运行中大概要被调用30000多次, 所以还是使用数据追踪的方式获取key, keygen如下:

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288361.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号