-
-
[原创] KCTF 2019 Q1 第一题 基本映射
-
2019-3-23 20:46 2585
-
基本校验逻辑 :
(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惯例。
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界
赞赏
他的文章
鸿蒙通识
23079
看原图