有"First Thunk"(FT),加载程序在执行后用正确的地址覆盖.
但是当PE使用OFT时?
PE甚至需要吗?
windows assembly exe reverse-engineering portable-executable
我知道两种查找依赖项的方法,
ldd app.out这会为一个简单的应用程序返回此依赖项:
linux-vdso.so.1 (0x00007ffff93f5000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f02383a0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0238800000)
Run Code Online (Sandbox Code Playgroud)
并readelf -d app.out | grep NEEDED返回:
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
Run Code Online (Sandbox Code Playgroud)
我想了解为什么输出差异libc.so在两种情况下都是/lib64/ld-linux-x86-64.so.2解释器并且在第一个中是有意义的,但是关于linux-vdso.so.1?哪一个更准确?