逆向攻防世界CTF系列9-no-strings-attached
逆向攻防世界CTF系列9-no-strings-attached
wsccmp:应该是个比较函数,相同为0,输出“Success! Welcome back!”,点进unk,从上往下看的车。
不知道decrypt是个什么,查了下,是解密的意思。
解法1:
选中shift+e
把s和A2转出,目标程序是 32 位 Ubuntu ,所以 wchar_t 表示 \0 占 4 字节,后面 4 个是截止符,不代入计算。(64位也是4字节)
1 |
|
输出9447{you_are_an_international_mystery}
解法2:
得a2=[0x1401,0x1402,0x1403,0x1404,0x1405],同理可得s,再修改上面的代码也行
解法3:
脚本查看
运行脚本,ida中,file,script file,选择脚本,查看地址,最后的0L要舍去
这里的39我猜测是尾项地址-0x08048AA8/4算出来,填>39的也没事,0L处截断就行
1 | addr=0x08048AA8 |
1 | s = [5178, 5174, 5175, 5179, 5248, 5242, 5233, 5240, 5219, 5222, 5235, 5223, 5218, 5221, 5235, 5216, 5227, 5233, 5240, 5226, 5235, 5232, 5220, 5240, 5230, 5232, 5232, 5220, 5232, 5220, 5230, 5243, 5238, 5240, 5226, 5235, 5243, 5248] |
解法4:
动态分析
此时我们需要转变一下思维:之前我们都是各种找、各种逻辑推断正确输入。但是我们忽略了一件事,那个与输入的比较的正确答案,一定是加载到内存里面之后,才与输入比较。要是我们能跟踪到这个正确答案储存在内存的位置然后把他拿出来,也行
参考[CTF-攻防世界 Reverse新手练习解析_ctf中的rev题-CSDN博客](https://blog.csdn.net/weixin_42621117/article/details/99768988#:~:text=XCTF 攻防世界)这篇文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matriy's blog!
评论