有没有一种方法(最好命令行)转储一个可执行文件的所有函数名称(不只是出口/import)?
有问题的可执行文件是Microsoft EXE / DLL,因此应该可以从Microsoft Symbol Server中获取符号。
可移植的可执行DOS头部长度
PE:区段标题的SizeOfRawData和VirtualSize字段之间的关系
x64组装优化
有关在加载地址空间中加载DLL的问题
从Windows PE文件修改.rdata unicodestring
请注意,微软决定要发布多少个符号。 只是因为有一个符号服务器并不意味着你得到私人符号。
你可以在WinDbg中做到这一点:
打开故障转储…(不打开可执行文件)
选择DLL /可执行文件
.symfix
.reload
x *!*
你可以使用cdb从命令行执行它:
cdb -z "c:windowssystem32notepad.exe" -c ".symfix;.reload;x *!*;q"
x calc!*应该转储函数。 calculator.exe的类型和全局变量
0:000> x calc!* 00bd6b7a calc!std::locale::locale (<no parameter info>) 00bc1138 calc!_imp__NtQueryLicenseValue = <no type information> 00bf308b calc!CToolsetDialog::`scalar deleting destructor' (<no parameter info>) 00bc6479 calc!CContainer::IsFocusOnMainDisplayAllowed (<no parameter info>) 00be29b3 calc!CContainer::ToggleHistoryFunc (<no parameter info>) 00bcb3bb calc!DigitGroupingStringToGroupingNum (<no parameter info>) 00bf2235 calc!RecoveryCallback::IsNextPingRequired (<no parameter info>) 00bd23f8 calc!_Mtxlock (<no parameter info>) 00bc11e8 calc!_imp__InterlockedIncrement = <no type information> 00bc13b4 calc!_imp__DestroyWindow = <no type information> 00c08593 calc!exception::exception (<no parameter info>) 00c03c90 calc!std::operator<<unsigned short,std::char_traits<unsigned short>,std::allocator<unsigned short> > (<no parameter info>)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。