cdcq

梦幻小鱼干

导航

【攻防世界】secret-galaxy-300

看了题解才会,这题很有趣

涉及到的技巧:ida里ctrl+x可以追溯变量/函数的调用

ida进去之后能看见一个da♂rk galaxy

网上有一篇题解说得很好,这个东西在程序主体里没用过,那就看看它还在哪里出现了

一路追溯,可以看到这样一个东西

 不知道这个函数是咋运行的,我猜可能是程序启动的时候加载了什么东西,把这个函数稍上了

其实没看题解之前我倒是看见这个函数了,但是当时没有悟出是什么意思

题解就说了,这个其实是用已有的字符串拼了一个新串出来,然后藏到内存里

那么怎么还原出flag呢,一个一个扣也是可以的,不过有更简单的办法

进gdb动态调试,在return那个地址设个断点,然后查看byte_40DAC0这个地址和之后的内存就可以了

小技巧:

用指令“x/100s 0x40DAC0”可以快速查看字符串值

其中x指令是查看内存的值,100是查看几个字节,s表示以字符串形式查看

这样就可以直接看到flag啦

posted on 2020-12-20 21:38  cdcq  阅读(522)  评论(0编辑  收藏  举报