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重新编译即可