首页
论坛
课程
招聘
[原创]KCTF2022签到题 险象环生
2022-5-10 14:23 227

[原创]KCTF2022签到题 险象环生

2022-5-10 14:23
227

本人实属菜鸡一枚,大佬勿喷,菜鸡解题思路:

 

查壳为32位无壳exe,ida32打开,发现Wrong Serial!和Success!,交叉引用查看不到Success,但是能查看到wrong。
猜测:success代码部分被反反汇编了,无奈,往下找,发现如下图所示:
图片描述
箭头所指处为call的函数地址,发现ida没法加载,下方的一堆数据段应该是代码段,尝试按下C和P还原汇编代码无效。没办法了,动调。
动调之前分析一下按钮按下后做了什么事,通过汇编代码发现:
图片描述
x32dbg打开后,于是下断点0x401498,输入KCTF和官方给的序列号(刚好是14位),然后单步调试到下图位置0x401620发现寄存器eax有变化,如箭头所示:
图片描述
单步走到0x401630处发现ecx的值为输入的序列号的前十位,推测此处eax的值为flag的前十位,如图所示:
图片描述
那么后四位在哪呢?重新来一遍,单步观察0x401620以前的寄存器eax和ecx的变化,不难发现在0x401562处的eax为1212,如下图所示:
图片描述
于是拼接得到的字符串为15920863481212,提交得到正确flag。

 

由于以上未经代码还原,后四位的产生仅为推测,可能不是此处eax的值,但是仅为思路借鉴,本人认为有必要写写,静态调试不行就动态调试,虽没有逐行汇编做分析,大佬勿喷。


[2022夏季班]《安卓高级研修班(网课)》月薪三万班招生中~

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回