簡體   English   中英

如何對使用.resource文件存儲程序集的.exe進行反向工程?

[英]How to reverse engineer an .exe that uses a .resource file to store an assembly?

上下文

我是一家開發MMO的工作室的游戲開發人員。 我們構建了一個權威的服務器,但仍遇到漏洞和自動化問題。 我下載了用於破解我們游戲的主機器人,以確定它如何利用我們的服務器,以便我們可以相應地進行修補。

我使用dotPeek反編譯.exe以獲取源文件,但遇到了一個問題:我只獲得了啟動器的源文件。 啟動程序在運行時將核心程序集注入我們的應用程序。 它通過將程序集作為十六進制數據存儲在.resource文件中來實現。 知道如何從這個.resource文件中獲取源代碼?

謝謝大家的幫助。 我通過從.resource文件中提取二進制數據並將其寫入.dll文件然后使用dotPeek對其進行反編譯來獲取源文件。 請參閱我的解決方案了解更多詳

你不應該使用GetManifestResourceStream來獲取嵌入數據嗎?

感謝大家的幫助 - 使用反編譯器並在運行時讀取二進制匯編數據並將其寫入.dll文件的組合幫助我獲取源代碼:

我使用dotPeek反編譯啟動器。 在程序集資源管理器中,我然后右鍵單擊程序集並選擇Export to Project...然后我在Visual Studio中打開項目並插入一行使用File.WriteAllBytes來編寫byte [](已經可以通過他們的應用程序獲得,但是這只是使用ResourceManager.GetObject將.resource文件中的二進制數據轉換為.dll文件。 然后我在dotPeek和wala中打開了.dll文件 - 源代碼可見。

我建議圍繞這個問題進行設計,這是一種由服務器強制執行的軟訪問密碼。 您的問題的真實性是:.Net可以擴展。 不要在客戶端exe周圍進行“貓捉老鼠爭奪”,而是考慮如何檢測非人類活動,或如何隨機要求僅限人類活動。

如果你的游戲值得關注,他們克服你。 他們很多:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM