key-wp
key-wp
这道题让我大体懂得了逆向 7分分析3分猜的可怕之处。
0x00
首先 exeinfope.exe 分析并没有加壳,直接放到 ida 里直接蒙掉(ida自己的原因,一开始字符串都分析不出来,有时候 ida 会发疯)。最后确定了主函数 sub_401100(),如下:
追踪这个 v10 ,发现 sub_4020c0 函数:
猜测 sub_4020c0 是字符串比较函数,比较的结果放到 v10 中。跟进 sub_4020c0,有:
主体就是 a4 与 this 的字符串比较,其中 a4 对应 v9, this 对应 v28。但是 v28 追踪是 0(很迷), v9 追踪是 Block。
0x01
我们先追踪Block,有:
追踪 sub_4021E0 函数:
猜测sub_4021E0 就是针对每一个 this[i],返回 this[i] = a3。
0x02
0x00 中写了v28 追踪是 0,所以从另一个角度来入手。我们发现了 “flag.txt” 所在的函数:
之后不知道咋整了,不知道怎么把 v25 和 v28 联系起来。。(其实看完 wp 之后,感觉这俩应该是一个值。)
0x03-wp1
总结,读出 flag.txt 的内容,并与 Block 作比较。脚本如下:
1 | block = "themidathemidathemida" |
0x04-wp2
我认为这个题用动态调试更好一点。
注意:首先得在C:\Users\CSAW2016\haha\flag_dir\flag.txt创建文件,否则程序会报错退出。
Step1:让ida与gdb地址对齐,具体方法见https://www.cnblogs.com/lyxin/p/6282030.html
Step2:如下所示打断点:
Step3:可以在EAX中看到flag(ida中可以分析出来)
x64dbg 指令:
1 | alt+e // 符号栏 |
留言
- 文章链接: https://wd-2711.tech/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!