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

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

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

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

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

【攻防世界】secret-galaxy-300

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

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

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

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

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

小技巧:

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

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

这样就可以直接看到flag啦

相关文章:

  • 2022-01-09
  • 2021-07-25
  • 2021-06-17
  • 2021-08-31
  • 2021-08-07
  • 2021-10-29
  • 2021-11-27
  • 2021-06-23
猜你喜欢
  • 2021-11-24
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2021-09-11
  • 2021-12-18
  • 2021-04-25
相关资源
相似解决方案