簡體   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