编辑IL文件 修改DLL文件
本文章只是技术探讨,学习,技术上的研究而已。请支持正版.
如:KS.Gantt.DLL 为例
- 使用ILSpy反编译 工具
- 利用ildasm反编译 KS.Gantt.dll 生成IL中间代码 一般会生成 *.il 和*.res 一些其它资源文件 *.resources
- 然后用记事本修改IL文件
- 然后用ilasm编译中间代码,生成新的KS.Gantt.dll
- 在项目中使用 查看效果
破解过程
修改验证的代码
利用ildasm反编译 KS.Gantt.dll
打开IL文件找到对应的代码然后删除掉
哈哈 就这个。。
.try
{
IL_0260: ldarg.
IL_0261: ldtoken KS.Gantt.Gantt
IL_0266: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
IL_026b: ldarg.
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.
IL_0286: ldloc.
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.
IL_028e: callvirt instance void [System]System.ComponentModel.Component::Dispose()
IL_0293: ldnull
IL_0294: stloc.
IL_0295: leave.s IL_0297 }
然后用ilasm编译中间代码
ilasm /dll /output=D:\MyDll\KS.Gantt.dll /Resource=D:\MyDll\Gantt.res D:\MyDll\Gantt.il
我一看到这几个单词。我就知道成功了。。
然后在去验证
那个授权验证代码不在了哈。。
不过呢。后来我测试 。我发现在这个DLL不能用的。运行会报这个错的
Unhandled Exception: System.IO.FileLoadException: Strong name validation failed
所以又得删除那个签名,删除以下所有内容
.publickey = ( // .$..............
// .$..RSA1........
3B B2 D0 F9 DA 7E B2 6B CF EB F6 // ;....~U.P@k.. .g
E7 D6 AF 4F 6D 5D 0B C7 E2 // ...e2Om!].S.....
F0 6A EE F8 DB F9 A1 B5 C1 // .j.8.t."4......f
B7 0B A8 9E 8A E1 D1 AB A2 4E 3A // ...6I..q..&..xN:
8B 8C 7F 4D 5F 1F 8D DE 6C EC // .q..MT"(_...l.."
8A 3F 0A F4 F4 7F B7 8C F5 5D F4 CB // 4.5?........]..T
DD 5E D5 0D 7F B1 9B 7F 0E FB 2A // ...^.. ........*
5F 3D 2C E2 6D FE FE ) // v_E= ,.m.Ur0Iv(.
最后在从新编译DLL。成功了
编辑IL文件 修改DLL文件的更多相关文章
- lib文件和dll文件
一. 简介 1.1 C++两种库文件 lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamic link library. ...
- LIB文件和DLL文件的作用
(1)lib是编译时需要的,dll是运行时需要的.如果要完成源代码的编译,有lib就够了.如果也使动态连接的程序运行起来,有dll就够了.在开发和调试阶段,当然最好都有.(2)一般的动态库程序有lib ...
- 关于vs的lib文件和dll文件
一.LIB文件概念 一个lib文件是obj文件的集合.当然,其中还夹杂着其他一些辅助信息,目的是为了让编译器能够准确找到对应的obj文件 二.与DLL的区别 (1)lib是编译时需要的,dll是运行时 ...
- C#中修改Dll文件 (反编译后重新编译)
Dll文件生成后,如没有源代码,又要修改其中内容 可以用微软自带的ildasm和ilasm程序 先用ildasm将dll文件反编译成il文件 ildasm Test.dll /out=Test.il ...
- Unity-反编译由IL生成的DLL文件
本文由博主SunboyL原创,转载请注明出处:http://www.cnblogs.com/xsln/p/DLL_DeCompilation.html 在Unity实际开发过程中,我们 ...
- 如何利用.snk文件生成DLL文件中的Publickeytoken
1.在该路径下C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin查找是否有sn.exe. 没有的话,从网上下载,注意需要的版本. 2.打开c ...
- winmd文件和dll文件的区别
今天在研究一个二维码项目,用到一个第三方组件 ZXing,因为做的是Windows应用商店程序,应用商店程序是可以引用winmd文件也可以引用dll文件,但是这两种文件ZXing都提供了,最后和同事讨 ...
- VC2010 利用 def 文件生成 dll 文件的方法
近期有个需求,要生成一个dll 文件.文件里的函数都是採用 stdcall 函数调用约定,可是不希望函数名被修饰(add 被修饰成 add@8). 这时就要用def 文件了. 比方我有以下两个函数: ...
- 使用Def文件导出Dll文件
模块定义 (.def) 文件是包含一个或多个描述 DLL 各种属性的 Module 语句的文本文件.如果不使用 __declspec(dllexport) 关键字导出 DLL 的函数,则 DLL 需要 ...
随机推荐
- Event Store 2.0发布,带来了安全支持和测试版Projections库
Event Store 2.0版本于上周发布,它带来了安全支持允许锁定Event Store和在事件流上设置访问控制列表.其主要新特性包括: HTTP和TCP之上的身份认证,包括账户管理 测试版Pro ...
- 《CLR.via.C#第三版》第二部分第13章节 接口 读书笔记(七)
这章的书写感觉很普通,是些基础的认知知识. 其中一点的重要认知,泛型接口的好处(其实也是使用泛型的好处之一):编译时类型安全&处理值类型时减少装箱. 再说点书上没有的.本来这些知识我打算另外分 ...
- 谷歌chrome浏览器www.tradeadexchange.com广告弹窗跳转劫持病毒
近期大量网友出现chrome浏览器被劫持的情况,表现如下: · 点击(访问)任意网站任意链接均有概率弹出www.tradeadexchange.com. · ...
- iOS-App上架流程
前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...
- WPF 浏览文件夹,获取其路径
public void GetPath(System.Windows.Controls.TextBox TB) { FolderBrowserDialog FBD = new FolderBrowse ...
- 两张图总结 Neutron 架构 - 每天5分钟玩转 OpenStack(74)
前面我们详细讨论了 Neutron 架构,包括 Neutron Server,Core 和 Service Agent.现在用两张图做个总结.先看第一张: 与 OpenStack 其他服务一样,Neu ...
- Neutron 架构 - 每天5分钟玩转 OpenStack(67)
前面我们讨论了 Neutron 的基本概念,今天我们开始分析 Neutron 的架构. Neutron 架构 与 OpenStack 的其他服务的设计思路一样,Neutron 也是采用分布式架构,由多 ...
- OWIN 中 K Commands 与 OwinHost.exe 相等吗?
OwinHost.exe: While some will want to write a custom process to run Katana Web applications, many wo ...
- DDD 领域驱动设计-Value Object(值对象)如何使用 EF 进行正确映射
写在前面 首先,这篇博文是用博客园新发布的 MarkDown编辑器 编写的,这也是我第一次使用,语法也不是很熟悉,但我觉得应该会很爽,博文后面再记录下用过的感受,这边就不多说. 阅读目录: 上一篇回顾 ...
- 软件工程-构建之法 WordCount小程序 统计文件中字符串个数,单词个数,词频,行数
一.前言 在之前写过一个词频统计的C语言课设,别人说你一个大三的怎么写C语言课程,我只想说我是先学习VB,VB是我编程语言的开始,然后接触到C语言及C++:再后来我是学习C++,然后反过来学习C语言, ...