*地址(在printf中找到)在汇编中意味着什么?

Mas*_*ask 3 c disassembly

拆解printf并没有提供太多信息:

(gdb) disas printf
Dump of assembler code for function printf:
0x00401b38 <printf+0>:  jmp    *0x405130
0x00401b3e <printf+6>:  nop
0x00401b3f <printf+7>:  nop
End of assembler dump.


(gdb) disas 0x405130
Dump of assembler code for function _imp__printf:
0x00405130 <_imp__printf+0>:    je     0x405184 <_imp__vfprintf+76>
0x00405132 <_imp__printf+2>:    add    %al,(%eax)
Run Code Online (Sandbox Code Playgroud)

它是如何在引擎盖下实施的?

为什么拆卸无济于事?

*之前的意思是什么0x405130

nos*_*nos 8

这是一个特定的实现,http://ftp.fr.openbsd.org/pub/OpenBSD/src/lib/libc/stdio/printf.chttp://ftp.fr.openbsd.org/pub/OpenBSD/src /lib/libc/stdio/vfprintf.c

  • 以下是glibc的用法:http://sourceware.org/git/?p = glibc.git; a = blob; f = stdio-common/vfprintf.c; h = 6e0e85cd7cca9f4dfc9e86fb702db131ab2e1639; hb = refs/heads/master# L195 (3认同)