我有一个从Visual Studio构建的EXE,我想清除或只删除PDB文件名的路径部分。我正在寻找一种工具来在PE的调试目录中进行调整,而不使用十六进制编辑器。许多人建议BinPlace,但我不能让它工作。我还没有看到实际上用于此目的的binplace命令行。已经提出了其他Microsoft工具,除了命令行帮助之外,这些工具几乎没有文档。命令行帮助还表明这些工具不适用于(例如pdbstr)。同样,提出这些建议的人没有发布命令行使用信息,因为这些工具没有记录,我回到了第一个方面。在这种情况下,重新链接对我来说不是一个选项,但我知道链接器开关会改变这些信息。是否有任何工具可用于从EXE清除PDB路径信息,或者您是否有一个有效的binplace命令行?
答案 0 :(得分:0)
peupdate可以在这里下载:
http://bytepointer.com/tools/index.htm#peupdate
此工具可用于列出,删除或更改可执行模块中的PDB字符串。以下示例清除整个PDB字符串(路径和文件名):
peupdate -c <module_path>
剥离PDB路径并保留PDB文件名允许符号查找在调试模块时如果符号路径正确设置(例如“c:\ joeblow \ test.pdb”更改为“test.pdb”):< / p>
peupdate -s <module_path>
更改PDB路径:(任意字符串)
peupdate -u <new_path> <module_path>