-
-
[分享]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期)
赞赏
他的文章
- [原创]签到题 逐光启航 241
- [原创]KCTF2024防守篇提交题目 344
- [原创]第一题 失控的AI 3607
- [分享]题目名称 第六题 病疫先兆--解题基本思路 7243
谁下载
看原图
赞赏
雪币:
留言: