1625-5 王子昂 总结《2017年10月12日》 【连续第377天总结】
A. reversing.kr
B.
SimpleVM
本来以为这个标题跟南邮CTF平台上的题目一样,只是个简单的虚拟机壳题……
没想到南邮的是入门类型,这个是复杂入门类型啊QAQ
ELF文件,拖入IDA发现EP地址在映像范围之外,于是无法正常分析
gdb加载又没有任何函数可下断
参考了一下WP,发现可以直接用IDA附加进程,然后dump内存下来再分析
dump脚本:
#include <idc.idc>
static main(void)
{
auto i,fp;
fp = fopen("f:\\dump.dex","wb");
for(i=0x8048000;i<0x804C000;i++)
{
fputc(Byte(i),fp);
}
}
直接保存用IDA加载即可(如果直接命令行输入的话去掉#include和main,直接输入命令即可)
dump下来再拖入IDA分析,这次能得到反汇编代码了
不过导入表坏了╮(╯_╰)╭
只好连猜带蒙
首先根据明码字符串input定位到这个地方,猜测该函数为输出printf
错误提示Wrong是被加密过的,直接搜索没有结果
根据print的出现地方和参数,可以猜测出byte_804b06e等几个字符串就是加密的提示内容了