首页
社区
课程
招聘
[分享]KCTF2021,第二题解题过程分享
发表于: 2021-5-12 10:53 5233

[分享]KCTF2021,第二题解题过程分享

2021-5-12 10:53
5233

先拖入OD,整体先了解一下流程,再使用IDA分析逻辑,这题的算法逻辑比较复杂(没看出来是哪个现成的算法),只能一步一步分析了,使用IDA结合OD动态跟踪几次,大概了解了流程,
大致分为2步:
第一步,根据随机规则和关系字典填表(关键逻辑)
图片描述
(字典:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)
第二步:对填写好的表做检查
图片描述
以上逻辑都是围绕一个9x10的矩阵
图片描述
目标就是要把里面的0x00全部修改为1
图片描述
根据程序的随机规则得出以下一条红色路线,这样就能把所有为0x00的位置修改一遍(随机规则有6种case,就是行坐标和列坐标的移动规则)
图片描述
通过上图的红色路线,可以得到一个从开始到结尾的case数组序列{0x12,0x34,0x32,0x12,0x34,0x32,0x11,0x01,0x21,0x00,0x50,0x54,0x34,0x50,0x50,0x12,0x10,0x12,0x12,0x34,0x32,0x23,0x21},数组的每一个字节(或每一个数组成员)代表2个case,高半字节和低半字节,是由输入密码串的一个字符生成 图片描述
v10||v7
有了以上case数组、关系字典和生成case的公式,就可以写个简单的程序遍历出case数组对应的输入密码串序列号了
图片描述
图片描述
附件是分析的草稿日志记录(很乱)


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

上传的附件:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//