BUU[QCTF2018]Xman-babymips
BUU[QCTF2018]Xman-babymips
分析
首先查壳,32位无壳,放入IDA分析。先shift+F12去看一下关键的string
然后交叉引用去找到它在干嘛
去看一下fdata是什么
不难猜出这个是用来弄flag前缀的,接着去看一下sub_4007F0函数
其实就是简单的判断i是否为偶数(i&1是用来判断奇偶的),这里for循环中i=5和后面strncmp函数中a1+5都是因为前面的前缀占了5个字节,然后看一下 off_410D04里面是什么
这些都知道后就开始写脚本(因为是BUU下载的题就直接舍弃第一个那个前缀,就不写那一部分脚本了)
脚本
a = [0x52, 0xFD, 0x16, 0xA4, 0x89, 0xBD, 0x92, 0x80, 0x13, 0x41, 0x54, 0xA0, 0x8D, 0x45, 0x18, 0x81, 0xDE, 0xFC, 0x95, 0xF0, 0x16, 0x79, 0x1A, 0x15, 0x5B, 0x75, 0x1F] |
总结
第一次知道有%0x100是用来防止溢出的,涨知识了,但还是不太懂原理/(ㄒoㄒ)/~~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逆向上分之路!
评论