首页
论坛
专栏
课程

[原创] KCTF 2019 Q1 第一题 基本映射

2019-3-23 20:46 671

[原创] KCTF 2019 Q1 第一题 基本映射

HHHso
16
2019-3-23 20:46
671

基本校验逻辑 :
(1)用输入key 的各字符 通过 s1 反映射为索引号,
(2)让然以索引号 通过s1正映射得到目标比较字符串s3
s1 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
s2 = 'abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ'
s3 = "KanXueCTF2019JustForhappy"
通过python简单逆操作可以得到key
''.join([s1[i] for i in [s2.index(c) for c in s3]])
j0rXI4bTeustBiIGHeCF70DDM



补充说明
0x00 对比函数主要针对校验逻辑(2)


0x01 映射逻辑(1)主要在OK响应函数中完成

0x02  其中this 对话框对象偏移0x64处为 CString数据成员
用于存储输入框 EDIT_ID=0x3EA的用户输入key



0x03 消息响应函数确定为 Dialog::Ok(void) 可由Dialog的虚函数表上下文得到,如


其属于Dialog虚拟函数表Hi_CDialog_vft_off_40347C中的函数
Dialog由 0040118B call    Hi_CDialog_init_sub_401390初始化
而调用于CWinApp的初始化函数,如下图


而其由启动的初始化函数组调用,用于初始化全局遍历CWinApp,符合MFC惯例。



[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (0)
游客
登录 | 注册 方可回帖
返回