type
status
date
slug
summary
tags
category
icon
password

📝思路(一)手撸

首先是先要找到main函数,在start函数里面我们可以找到main函数
notion image
之后我们先简单识别一些函数
notion image
很显然v7是我们输入的数
notion image
我们在v7这里下个硬件断点,跟踪它的变化
notion image
第一个我们发现这里是一些SSE指令和ymm寄存器,应该是对中间32个字节进行了处理
notion image
然后就是这里比对,由此我们可以确定对中间32个字节进行了加密
notion image
然后我们看见这里有个条件跳转,但是我们动调了以后发现,根本没有对r12寄存器的操作,由此我们可以判断r12被隐藏了
notion image
这里也有个异常处理,怀疑是被Dwarf 隐藏代码了
我们把调试信息dump下来
notion image
然后通过Dwarf expression恢复寄存器
脚本:

📝思路(二)分析器

如果DW_CFA_val_expression恢复寄存器所运行的表达式非常长,手工恢复显然是不太可能
因此这里借鉴一下riChar师傅出DSCTF2022-nothing题的思路
riChar师傅的原文:ISC-Nothing出题思路及WriteUp
notion image
将代码复制下来为analysis.rs
准备好Cargo.toml文件
之后在终端
notion image

📝思路(三)终极手撸

notion image
当将我们输入的数压入栈的时候,在前面我们知道r12是我们存储前8个字节,然后我们在栈上直接下内存断点
notion image
然后我们就直接到了虚拟机的地方
notion image
之后根据我们的分析,可以得出四个寄存器的操作
notion image
之后就是写个脚本解决
 
 
💡
有关复现上的问题,欢迎您在底部评论区留言,一起交流~
DSCTF2022-nothing复现与思路2022强网杯-easyre思路复现
Loading...
5m10v3
5m10v3
目前主攻方向为Re
Announcement
🎉5m10v3のBlog已经上线啦🎉
-- 感谢各位师傅的支持 ---
👏欢迎师傅们前来交流👏