Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何让Radare2在库调用中使用符号表信息?_C_Assembly_Reverse Engineering_Glibc_Disassembly - Fatal编程技术网

C 如何让Radare2在库调用中使用符号表信息?

C 如何让Radare2在库调用中使用符号表信息?,c,assembly,reverse-engineering,glibc,disassembly,C,Assembly,Reverse Engineering,Glibc,Disassembly,Objdump可以判断二进制文件何时调用GLIBC函数,如printf: $ objdump -d crackme03.64 -Mintel | grep printf 5c8: ff 25 12 0a 20 00 jmp QWORD PTR [rip+0x200a12] #200fe0 <__printf_chk@GLIBC_2.3.4> 有没有办法让Radare找出这些函数对应的是什么?如果您使用的是git的最新版本,应该可以使用 Radare2

Objdump可以判断二进制文件何时调用GLIBC函数,如
printf

 $ objdump -d crackme03.64 -Mintel | grep printf
 5c8:   ff 25 12 0a 20 00       jmp    QWORD PTR [rip+0x200a12]    #200fe0 <__printf_chk@GLIBC_2.3.4>

有没有办法让Radare找出这些函数对应的是什么?

如果您使用的是git的最新版本,应该可以使用

Radare2的开发速度非常快——项目每天都在发展,因此建议使用当前的git版本。更新您的版本,它将解决您的问题:

$ git clone https://github.com/radare/radare2.git
$ cd radare2
$ ./sys/install.sh

Objdump使用的符号表信息与动态链接在运行时用于填充get值的符号表信息相同。这就是你想要雷达2做的吗?如果是这样,更好的标题可能是“…使用符号表信息进行库调用”。您只分析对glibc函数的调用,而不是glibc函数的代码。(后者可能会很棘手,因为延迟的动态链接,以及
memset
等函数的运行时调度)已更改,感谢您的澄清此问题应该在reverseeengineering.stackexchange.com上。您应该标记它以使其迁移。是的,在IRC中得到了相同的答案,不幸的是,它是正确的。如果有Linux发行版的软件包(例如PPA、可供下载的RPM等),那就太酷了。
$ git clone https://github.com/radare/radare2.git
$ cd radare2
$ ./sys/install.sh