更改已有程序集中的资源

如果有源代码的话,更改程序集中的资源文件就特别简单了。

但如果没有源代码呢?重新做一个?可能已经编译过的dll里面还有些什么不知道的东东呢,那要经过编译测试,再编译再测试了。

其实更改已编译的dll里面的资源只需以下三步:

 

#1:反编译

 

用以下的命令来搞一下反编译:

ildasm /out=assembly_name.il assembly_name.dll

把assembly_name更改为你需要的文件名。

如果你反编译的dll只是一个resource集的话,那就会得到三个文件:

  1. *.resources - 二进制资源文件。
  2. assembly_name.res - 资源表。
  3. assembly_name.il - MSIL代码。

 

#2:更改资源文件(*.resources)

 

因为这个*.resources文件是二进制的,所以需要用到工具才能编辑。我用的是Resource .NET

编辑保存好之后,就可以进行第三步了。

 

#3: 编译

 

可以用以下的命令来把刚才反编译的编译成dll:

ilasm /RESOURCE=assembly_name.res /DLL assembly_name.il /OUTPUT=assembly_name.dll

把assembly_name更改为你需要的文件名。

 

另外,如果该DLL是有签名的话,那么就可能不行的哦。

posted @ 2010-05-14 16:39 David Views(...) Comments(...) Edit 收藏
Freelance Jobs