繁体   English   中英

.lib文件和反编译

[英].lib files and decompiling

我有一个.exe,它是由.for(fortran)和.c源文件的组合编译而成的。

由于图形服务器错误,它不能在Win98之后的任何版本上运行:

“ Ox7e4467a9用户32.dll中的访问冲突错误”

除非围绕上述错误(?)采取其他措施,否则我认为必须使用更现代的图形服务器从源文件重新编译.exe。 我有所有文件来做一个.lib文件!

是否可以从我拥有的当前.exe中提取有关丢失的lib文件的任何信息?

可以反汇编.exe,但是我不认为我可以从中获得很多收益吗?

您可能无法从可执行文件中“剪切” lib文件。 即使您可以某种方式从中获取代码,标准的编译器和链接器也不知道如何针对它进行链接,因为它没有所需的链接信息(它们不包含在结果二进制文件中)。

但是,如果您的问题是您的程序可以在Win98上运行,但不能在基于NT的系统(XP,Vista,Win7)上运行,那么我认为这很容易发现,什么不兼容会导致程序崩溃。 您提到在user32.dll中发生访问冲突 在调试器中启动程序,看看发生崩溃的功能。 确保已加载了PDB符号(这样您就可以看到内部非公共函数的名称)。 跟踪调用哪个Win32 API及其参数。 尝试找出无法访问的内存中应该包含的内容。

同样,如果没有其他信息,就不可能为您提供帮助。

一旦集成到映像文件(您的exe)中,静态分离到应用程序的库(您的.lib)(由链接程序完成)就无法分离,与您自己的代码区分开,因此,一个人无法检索到通过反编译exe从lib中获取代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM