欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

攻防世界xctf reverse:no-strings-attached

程序员文章站 2022-05-15 11:50:37
...

攻防世界xctf reverse:no-strings-attached

先查基本信息,ELF程序,无壳

尝试运行

攻防世界xctf reverse:no-strings-attached

拽入IDA中,shift F12未发现有价值信息,F5

攻防世界xctf reverse:no-strings-attached

经过查看,authenticate()为重要函数,通过下面代码分析,S2即为我们需要的flag

攻防世界xctf reverse:no-strings-attached

s2是由decrypt()函数产生的,来看一下decrypt()函数

攻防世界xctf reverse:no-strings-attached

查看汇编代码,decrypt的返回值在eax中

攻防世界xctf reverse:no-strings-attached

 

gdb动态调试,在decrypt()函数结尾处下断点,随后读取eax中的值,获取s2

查看.text段的函数

objdump -t -j .text 554e0986d6db4c19b56cfdb22f13c834 

攻防世界xctf reverse:no-strings-attached

使用disass decrypt 查看汇编代码

攻防世界xctf reverse:no-strings-attached

我们把断点,下在decrypt()函数的最后一条指令上

使用“i b”命令,查看断点信息

攻防世界xctf reverse:no-strings-attached

r,运行到断点

n,单步执行,到decrypt()函数结束的下一行

攻防世界xctf reverse:no-strings-attached

i r,查看寄存器的值

攻防世界xctf reverse:no-strings-attached

查看eax的值:

x/6sw $eax

6:显示6行数据

s:字符串形式

w:word(4字节)形式

攻防世界xctf reverse:no-strings-attached

flag get

 

相关标签: reverse