請(qǐng)教,如何反編譯dll文件
如何反編譯dll,如何將反編譯的文件生成dll。
反編譯dll
安裝vs,最好是最新版本的,如果要反編譯的dll使用新版本創(chuàng)建的,也能反編譯成功。下面是詳細(xì)的反編譯步驟。
1.打開(kāi)C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,這個(gè)程序是微軟提供的反編譯軟件,打開(kāi)要反編譯的dll。
2.然后選擇文件-轉(zhuǎn)儲(chǔ),這時(shí)會(huì)彈出轉(zhuǎn)儲(chǔ)選項(xiàng)的對(duì)話框(一般按照默認(rèn)即可),設(shè)定好以后選擇轉(zhuǎn)儲(chǔ)位置。
3.完成后會(huì)生成以res和il結(jié)尾的文件,還有可能包含以.resources結(jié)尾的文件。這樣我們就將dll反編譯完成。根據(jù)需要修改il文件。
如何反編譯.resources文件呢
選擇開(kāi)始-所有程序-vs安裝文件夾-vs tools-開(kāi)發(fā)人員命令提示符,然后在彈出的dos窗口下輸入resgen 1.resources 1.resx,這樣resources文件變轉(zhuǎn)化成可以編輯的resx文件。
組合dll
先說(shuō)如何將resx文件組合成resources文件
選擇開(kāi)始-所有程序-vs安裝文件夾-vs tools-開(kāi)發(fā)人員命令提示符,然后在彈出的dos窗口下輸入resgen 1.resx 1.resources,這樣resx文件變轉(zhuǎn)化成可以編輯的resources文件。
將反編譯后的文件組合成dll文件
選擇開(kāi)始-所有程序-vs安裝文件夾-vs tools-開(kāi)發(fā)人員命令提示符,然后在彈出的dos窗口下輸入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改變,這樣就生成了想要的dll。
當(dāng)然如果對(duì)生成的dll不放心,可以使用.net Reflector進(jìn)行查看。希望你能成功
dll文件反編譯成源代碼
1、首先在反編譯工具中打開(kāi)DLL文件。
2、然后用“程序集管理器”瀏覽DLL文件的節(jié)點(diǎn)。
3、雙擊某個(gè)節(jié)點(diǎn)查看它的代碼,然后在右側(cè)欄中,弄清楚不同的代碼。
4、接著將代碼導(dǎo)到Visual Basic中。
5、最后在Visual Studio中編輯代碼,就完成了反編譯DLL文件。
可以反編譯DLL文件嗎
dll是二進(jìn)制代碼,只可能反編譯為匯編;
但是,從原理上絕對(duì)可以,任何東西都是可逆的(包括時(shí)間,愛(ài)因斯坦就試圖證明過(guò)),但是反編譯的亢信息(符號(hào)及表達(dá)是不可逆的),也即編譯是多對(duì)一,即多源碼可編譯成同一機(jī)器碼,而同一機(jī)器不可能窮盡所有可能的源碼(理論上可實(shí)現(xiàn),但不可能做到),而且目前的反編譯的軟件反編譯成的源碼可讀性太差。
如何把dll文件反編譯修改之后的文件編譯成dll
你在你的solution中新建一個(gè)工程,然后把a(bǔ).cs,b.cs,c.cs添加到這個(gè)工程里面(我建議你新建類,然后把類的代碼copy過(guò)去,這樣即使命名空間不同也不會(huì)造成混亂)
然后再你引用的工程里addreference->project->你新建的這個(gè)工程,就可以調(diào)用了.
這樣如果你需要修改的話直接在ide里修改,可以實(shí)時(shí)看到效果
怎么反編譯dll文件
找另一臺(tái)的電腦上去復(fù)制下這個(gè)缺失的文件。
可以嘗試使用騰訊電腦管家來(lái)修復(fù)缺失DLL文件
1、打開(kāi)騰訊電腦管家
2、電腦診所
3、軟件問(wèn)題
4、丟失.Dll 文件
5、一鍵修復(fù)
6、完成
如果還是解決不了,去下一個(gè)文件直接復(fù)制進(jìn)去就能搞定了
c++dll 文件如何反編譯?
DLL函數(shù)查看器可以查看DLL文件的內(nèi)部的函數(shù),符號(hào)等>
還可以用Dependency Walker查看PE依賴、查看DLL函數(shù) 。
你如果想反匯編整個(gè)文件,就用IDAPro,比較復(fù)雜,需要看專門的書(shū)來(lái)學(xué)習(xí)。