BUUCTF xxor
题解BUUCTF xxor
分析
首先用exe查壳,发现它是64位,于是用IDA打开看看,按F5去看反汇编代码
发现它要输入6次,然后看到下面的for循环,这个上面是把v6的东西都放在dword_601078里头,然后进行sub_400686,于是我们点进去,看看这个函数要干嘛。
然后可以发现这是个魔改的tea加密,然后返回,看最外面怎样得到flag
说明要得到flag一定要使这个函数正确,才可以得到flag,那么我们点进去看这个函数在干嘛
发现他这里刚好给出了我们6个a数组的值,与上面的tea加密的函数里头的v3和v4需要的值相对应,于是就能够知道这个会是一个明文
那么现在就需要找到密匙就能解出来了
在前面可以看到这个a2于是我们点进去,看看它是个什么东西
于是我们很容易得到密匙是2 2 3 4
那么就可以写脚本了
|
一开始我是用C去输出的,发现会出现乱码,于是去看看别人写的脚本,发现这里涉及到了大小端的输出,这里使用的小端序输出,因为之前的是方便于人去看的大端序输出,所以输出的时候需要反过来,因为这里是64位所以需要输出三次,如果这里是32位就是+1 和a[i]本身。
最后得到flag
flag{re_is_great!} |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逆向上分之路!
评论