对于Win32可移植可执行文件(PE)
答案 0 :(得分:2)
一个类没有偏移量 - 它的方法有偏移量。如果PE文件是DLL,并且导出了类,则可以从导出的函数表中获取其方法的偏移量。但名字会被破坏。修改方案是编译器和版本特定的。
您可以使用DUMPBIN工具(Visual Studio或Platform SDK中提供)来查看导出表。 IIRC,它甚至可以为你解读名字。如果您想以编程方式执行此操作,请使用ImageHlp API中的函数 - ImageLoad()
,依此类推。
没有办法摆脱非运动类方法的补偿。
此外,可以在MAP文件,调试符号或PDB文件中找到偏移量。如果它是第三方产品,那么很可能是您无法获得的。
编辑重新:Microsoft DLL。 Microsoft通过Microsoft Symbol Server为许多文件(包括Win32和.NET)提供调试符号。从v.2005开始,Visual Studio可以在加载DLL时自动提取这些符号。