编辑IL文件 修改DLL文件的方法

如:KS.Gantt.DLL 为例

1、使用ILSpy反编译 工具

2、利用ildasm反编译 KS.Gantt.dll  生成IL中间代码 一般会生成 *.il 和*.res 一些其它资源文件 *.resources

3、然后用记事本修改IL文件

4、然后用ilasm编译中间代码,生成新的KS.Gantt.dll

5、在项目中使用 查看效果

破解过程

1 我找到了Gantt 控件的验证的代码

2 利用ildasm反编译 KS.Gantt.dll

3 打开IL文件找到对应的代码然后删除掉 如果不会 去学习一哈 怎么使用IL

哈哈 就这个。。

.try
  {
   IL_0260: ldarg.0
   IL_0261: ldtoken  KS.Gantt.Gantt
   IL_0266: call    class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
   IL_026b: ldarg.0
   IL_026c: call    class [System]System.ComponentModel.License [System]System.ComponentModel.LicenseManager::Validate(class [mscorlib]System.Type,
                                                               object)
   IL_0271: stfld   class [System]System.ComponentModel.License KS.Gantt.Gantt::license
   IL_0276: leave.s  IL_0297

  } // end .try
  catch [mscorlib]System.Exception
  {
   IL_0278: pop
   IL_0279: call    bool [mscorlib]System.Diagnostics.Debugger::get_IsAttached()
   IL_027e: brtrue.s  IL_0295

   IL_0280: newobj   instance void KS.Gantt.frmAbout::.ctor()
   IL_0285: stloc.0
   IL_0286: ldloc.0
   IL_0287: callvirt  instance valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.Form::ShowDialog()
   IL_028c: pop
   IL_028d: ldloc.0
   IL_028e: callvirt  instance void [System]System.ComponentModel.Component::Dispose()
   IL_0293: ldnull
   IL_0294: stloc.0
   IL_0295: leave.s  IL_0297

  } 

4 然后用ilasm编译中间代码

ilasm /dll /output=D:\MyDll\KS.Gantt.dll /Resource=D:\MyDll\Gantt.res D:\MyDll\Gantt.il

我一看到这几个单词。我就知道成功了。。

5 然后在去验证一哈DLL文件

那个授权验证代码不在了哈。。

不过呢。后来我测试 。我发现在这个DLL不能用的。运行会报这个错的

Unhandled Exception: System.IO.FileLoadException: Strong name validation failed 

所以又得删除那个签名,删除以下所有内容

.publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00  // .$..............
        00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00  // .$..RSA1........
        3B B2 D0 F9 DA 7E 55 B2 50 40 6B CF EB 20 F6 67  // ;....~U.P@k.. .g
        E7 D6 AF 65 32 4F 6D 21 5D 91 53 0B 04 C7 E2 15  // ...e2Om!].S.....
        F0 6A EE 38 F8 74 DB 22 34 F9 A1 B5 16 C1 04 66  // .j.8.t."4......f
        B7 0B A8 36 49 9E 8A 71 E1 D1 26 AB A2 78 4E 3A  // ...6I..q..&..xN:
        8B 71 8C 7F 4D 54 22 28 5F 1F 8D DE 6C 96 EC 22  // .q..MT"(_...l.."
        34 8A 35 3F 95 0A F4 F4 7F B7 8C F5 5D F4 CB 54  // 4.5?........]..T
        92 94 DD 5E D5 0D 20 12 7F B1 9B 15 7F 0E FB 2A  // ...^.. ........*
        76 5F 45 3D 20 2C E2 6D FE 55 72 30 49 76 28 FE ) // v_E= ,.m.Ur0Iv(.

最后在从新编译DLL。成功了

以上这篇编辑IL文件 修改DLL文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 编辑IL文件 修改DLL文件的方法

    如:KS.Gantt.DLL 为例 1.使用ILSpy反编译 工具 2.利用ildasm反编译 KS.Gantt.dll  生成IL中间代码 一般会生成 *.il 和*.res 一些其它资源文件 *.resources 3.然后用记事本修改IL文件 4.然后用ilasm编译中间代码,生成新的KS.Gantt.dll 5.在项目中使用 查看效果 破解过程 1 我找到了Gantt 控件的验证的代码 2 利用ildasm反编译 KS.Gantt.dll 3 打开IL文件找到对应的代码然后删除掉 如果不

  • VS2010中lib与dll文件的生成与使用方法

    一. lib文件的简介 .lib是一种文件后缀,是Windows操作系统的库文件,有静态lib和动态lib之分: 1).静态lib文件:将导出的文件的声明和实现都放在lib文件中,此时lib文件主要包含函数的实现部分(cpp文件),例如类的函数定义.使用时只需配合相关的头文件,编译后程序将lib文件中的代码嵌入到宿主程序中,也就是最后的exe文件中,此时移除lib文件,程序可以正常运行,即编译后就不需要lib文件的支持了. 2).动态lib文件:相当于是一个h头文件,用于支持相应的dll文件的运

  • 浅析hosts 文件的作用及修改 hosts 文件的方法

    1 什么是hosts文件? hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联" 数据库 ".当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析. 2 hosts文件的作用 2.1 加快域名解析 对于经常访问的网站,咱们可以通过在hosts文件中配置域名和 IP 的映射关

  • Java调用.dll文件的方法

    下截JNative组件 jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2 解压JNative-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.3.2</st1:chsdate>.zip 获得三个文件,分别是:

  • Python运行DLL文件的方法

    什么是DLL文件? DLL文件为动态链接库(英语: Dynamic-link library, 缩写为DLL) 它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了"无库-静态链接库-动态链接库"的时代.静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指

  • C# 添加对System.Configuration.dll文件的引用操作

    却被编译器提示说: 警告 1 "System.Configuration.ConfigurationSettings.AppSettings" 已过时: "This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings" 于是转而想找到那个ConfigurationManager类来使

  • Java读文件修改默认换行符的实现

    目录 Java读文件修改默认换行符 方法如下 Java替换换行符 Java读文件修改默认换行符 Java默认换行符是'\n'.但有时数据并不以'\n'进行换行 方法如下 public static void testRead(String confPath) throws IOException { System.setProperty("line.separator", "/03"); BufferedReader brConf = new BufferedRea

  • Visual Style中的shellstyle.dll文件修改方法

    Visual Style中的shellstyle.dll文件修改  2007-3-8 11:25:00  作者: Silencer  shellstyle.dll修改 *部分内容参考自whistl3r的Shellstyle Tutorial 预备知识 1.shellstyle.dll的结构 UIFiles: UIFile1:定义窗体及任务列表样式 UIFile2:定义控制面板样式 Resources:资源文件列表 10,11,12:音乐文件夹 13,14,15:图片文件夹 16,17,18:查找

  • 修改系统DLL文件实现禁用的方法

    大家一直在找修该DLL的教材  我知道很多初级的电脑新手和一些网吧非常需要这个教材,最近在网上收集整理出来和大家分享. 首先引导下系统 主要的些dll 基本上只要修改它们就可以实现很高的安全性 首先请没改过DLL的朋友请下载个 EXESCOPE6.3 - 6.4工具 (在下面下载) 1.Browselc.dll IE所需要调用的库文件DLL 结构雏形就是它了 2.Shdoclc.dll 系统窗口 及设置对话框 等等........ 比如 删除文件 重命名. 3.Shell32.dll 和上面是同

  • 破解.net程序(dll文件)编译和反编译方法

    我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器 Ildasm.exe:用来将dll,exe编译为IL文件 ilasm.exe:用来将IL文件编译回来dll或exe EmEditor文本处理工具这个大家如果没有我这有下载里面有注册码EmEditor.rar 2Ildasm和ilasm基本知识: ilasm.exe与ildasm.exe的使用 首先打开cmd命令.cd 到 C:\Program

随机推荐