如果我尝试反汇编Linux内核,由于Linux elf-binary很大,需要相当长的时间。
有没有办法只解除函数或符号,例如 start_kernel 函数?
我不想使用 grep,因为它无论如何都需要很长时间。
除非您编译了包含调试符号的内核,否则没有可供 objdump 使用的符号。内核二进制文件不太可能包含调试符号,除非您专门使用此类选项对其进行了编译。
如果您的内核二进制文件确实有调试符号,可以使用
nm -g
找到它们,然后使用 objdump -j <symbol>
进一步使用。
objdump -d vmlinux --disassemble='add your function name here'
您不能单独反汇编特定的函数或符号,但您可以反汇编特定的目标文件,而不是完整的内核映像。
例如。
objdump -DS XYZ.o > XYZ.S