首页
社区
课程
招聘
[原创][2021][KCTF] 第七题 千里寻根 wp
发表于: 2021-5-23 10:45 7987

[原创][2021][KCTF] 第七题 千里寻根 wp

ccfer 活跃值
16
2021-5-23 10:45
7987

2021 KCTF 第七题 千里寻根


首先用x64dbg调试,发现有壳,很多smc,一层套一层,而且好像有反调试,不能直接跑起来

不想脱壳,直接运行exe,等待输入序列号的时候,再用调试器附加

通过ReadFile回溯定位到读取输入序列号的位置:

往下单步看一看,找找感觉,走到处理输入的地方:

继续走看到这个:

后面就是利用gs:[10]复制堆栈数据并切换堆栈,跳转到新代码空间执行,销毁前一轮代码,smc解码,一般可能会只夹杂一行有效代码,

然后重新rdtsc取随机偏移,拷贝代码和数据,切换新堆栈,进入下一轮smc

感觉对我来说都是体力劳动,实在也没啥太多技术性的描述

可以对gs:[10]下了个硬件写断点,每次修改后意味着要进入下一轮了

根据硬件断点的命中次数,应该是循环了2021轮


旅途无比艰辛啊,直接瞻仰一下最后一轮的代码吧:


最后就是到每一轮中去找出那一行有效逻辑代码,感觉自动化识别我两三天也写不好,我选择肉眼识别

毕竟原始代码的执行是要恢复到真实堆栈位置的,可以利用rsp的位置辅助判断


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-5-23 10:53 被ccfer编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 2745
活跃值: (1846)
能力值: ( LV12,RANK:298 )
在线值:
发帖
回帖
粉丝
2
强!膜拜!
2021-5-23 12:49
0
游客
登录 | 注册 方可回帖
返回
//