一道VM题目
可以看到长度是15
跟踪调用read函数的函数
分析一下switch中每个指令的含义、
在scanf下面打断点
在关键跳转处下断点
打开Ponce插件
GitHub - illera88/Ponce: IDA 2016 plugin contest winner! Symbolic Execution just one-click away!
然后开始动调
输入15个随机字符,1234567890abcde
在栈中可以找到我们输入的1234567890abcde
Ctrl+Shift+M,把数据转换成符号
继续动调跑到这里
将EIP改到这一侧
继续运行回到判断,重复这个过程
可以得到flag每一位的值
flag{757515121f3d478}