il編譯成dll
Ⅰ 如何反編譯DLL文件,編譯後又怎麼重新生成DLL文件呢
我也在找,
用VS帶的IL可以反編譯,編譯出來的文件是.il
.res
我按網上的教程修改好後再編譯成DLL沒有成功,正在為這事發愁。
Ⅱ ILSpy反編譯DLL文件後改動其中一小部分,怎麼再將其編譯到該DLL中
如果改動很小,可以用一些支持.net元數據分析的工具比如CFF Explorer找到方法的位置,用16進制編輯工具修改方法體。也有直接支持分析和修改的比如SAE,還有作為插件的Reflexil之類的。修改比較復雜那就自己用基礎工具比如Cecil或者dnlib之類來修改程序集。當然也可以全部反編譯,修改後再編譯。這種又臟又累的活小女子做不合適,還是考慮交給男人吧。
Ⅲ 關於DLL與IL的轉換
反編譯的一般只是看看,能再次編譯成功挺困難的,你可以轉成C#,這樣方便讀,有錯誤可以手動改。
Ⅳ net il為什麼能反編譯出整個dll
to flashthunder(閃雷)
Reflector for .NET 下載地址:http://www.aisto.com/roeder/dotnet/
to gzheng23()
1.下載Reflector.FileDisassembler.zip,解壓後得到一些文件,其中Reflector.FileDisassembler.dll是已經編譯好的,其它是它源碼;
2.打開Reflector,在view菜單下的Add-Ins,將Reflector.FileDisassembler.dll添加到裡面;
3.open一個dll,exe,或mcl為後綴的文件,當然要支持.net的
4.選擇要反編譯的dll(會在列表中顯示),選擇Tools->File Disassembler,在右窗口會出現設置存放源碼位置的路徑,點擊產生就可以了!
Ⅳ 如何編譯生成dll
使用VC下的cl和link手工創建dll並實現函數導入
1、創建dll頭文件:
/*
* dllmain.h
*/
#ifndef _DLLMAIN_H
#define _DLLMAIN_H
int getNumber();
#endif
2、創建dll源文件:
/*
* dllmain.c
*/
#include "dllmain.h"
int getNumber()
{
return 10;
}
3、 創建def文件:
; export.def
LIBRARY MY_DLLMAIN ; MY_DLLMAIN 將成為生成的dll的名稱
EXPORTS
getNumber @1 ; 這個名稱即為函數的實際導出名稱 @1為函數的導出編號
4、生成dll文件:
cl dllmain.c /c
link /def:export.def /dll dllmain.obj
這時,工程中已經包含了 dllmain.h dllmain.c export.def dllmain.obj dllmain.lib dllmain.exp MY_DLLMAIN.dll 其中,後4個文件是編譯鏈接過程中生成的文件
5、創建dlltest.c:
/*
* dlltest.c
*/
#include <stdio.h>
#include "dllmain.h" //dll庫的頭文件
#pragma comment(lib,"dllmain.lib") //dllmain.lib即是上一步生成的文件
int main()
{
printf("%dn",getNumber());
}
6、編譯、鏈接dlltest.c
cl dlltest.c /c
link dlltest.obj
注意:這里dllmain.lib和dllmain.h應該和dlltest.c在同一個目錄中。此步的結果將生成 dlltest.exe
7、運行:
dlltest
這時,系統將載入my_dllmain.dll這個動態鏈接庫,將調用其中的getNubmer函數。
Ⅵ 用反編譯軟體生成的.il文件該如何編譯成.dll
騰訊電腦管家電腦診所針對commom.dll、MSVC**.dll、d3dx**.dll等常見的dll文件丟失問題,推出了一鍵修復功能。在網上下載安裝騰訊電腦管家8.0版本後,打開程序,點擊右上角「電腦診所——軟體問題——丟失dll文件」,進入dll一鍵修復區,找到相應要修復的dll選項,點擊「立即修復」即可恢復正常。十分方便,建議試試。
Ⅶ 請教,如何反編譯dll文件
如何反編譯dll,如何將反編譯的文件生成dll。
反編譯dll
安裝vs,最好是最新版本的,如果要反編譯的dll使用新版本創建的,也能反編譯成功。下面是詳細的反編譯步驟。
1.打開C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,這個程序是微軟提供的反編譯軟體,打開要反編譯的dll。
2.然後選擇文件-轉儲,這時會彈出轉儲選項的對話框(一般按照默認即可),設定好以後選擇轉儲位置。
3.完成後會生成以res和il結尾的文件,還有可能包含以.resources結尾的文件。這樣我們就將dll反編譯完成。根據需要修改il文件。
如何反編譯.resources文件呢
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resources 1.resx,這樣resources文件變轉化成可以編輯的resx文件。
組合dll
先說如何將resx文件組合成resources文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resx 1.resources,這樣resx文件變轉化成可以編輯的resources文件。
將反編譯後的文件組合成dll文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改變,這樣就生成了想要的dll。
當然如果對生成的dll不放心,可以使用.net Reflector進行查看。希望你能成功
Ⅷ Vs2010自帶工具反編譯dll轉儲IL文件之後還有許多其他文件被編譯出來,這些文件怎樣才能一同編譯回dll中
你還要把這些文件做成一個項目最後生成同命名空間的dll文件就可以了。
Ⅸ C#的一個問題:我用ildasm把dll文件生成了一個.il和一個.res文件,請問怎麼重新生成dll文件
用VS的ILAsm重新編譯即可