使用JustDecompile修改程序集】的更多相关文章

原文:使用JustDecompile修改程序集        JustDecompile是Telerik公司推出一个免费的.net反编译工具,支持插件,与Visual Studio 2010,2012集成,能够创建Visual Studio project文件.今天我们使用其一个插件Assembly Editor Plugin来修改程序集.首先,我们来写一个非常简单的时间限制程序: 1: static void Main(string[] args) 2: { 3: Timebomb(); 4:…
原文 利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习) Mono.Cecil是一个强大的MSIL的注入工具,利用它可以实现动态创建程序集,也可以实现拦截器横向切入动态方法,甚至还可以修改已有的程序集,并且它支持多个运行时框架上例如:.net2.0/3.5/4.0,以及silverlight程序 官方地址:http://www.mono-project.com/Cecil 首先,我先假想有一个这样的商业组件,该组件满足了以下条件: 1. 该程序集的代码被混淆过了 2. 该程序…
读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内的 internal 类型能够被其它程序集直接调用)”.以此类推,你可以用此方法,直接修改程序集,达到想要的目的. 银行的一个项目,客户要求使用他们现有的的  Teradata 数据库,项目组第一个想到的是 NHibernate ,但是几乎没有找到关于 NHibernate 支持 Teradata…
在读取RedisSessionStateProvider配置 提到用mono ceil 来修改程序集以及它的签名,里面GetPublicKey 和GetPubliKeyToken 方法里面那个字符串的获取 以及后来的签名 我们都应该 用code来实现,还有应用该dll文件的签名也一同需要修改. 所以我这里实现了一个简单的helper方法 如下: namespace ConsoleSession { using Mono.Cecil; using System; using System.IO;…
延迟加载是一个很大的诱惑,可以达到一些比较好的效果,比如: 1.在实体框架中,由于关联数据的数量和使用时机是不确定的,通过延迟加载,仅在使用的时候去执行关联数据的查询操作,减少无谓的数据查询操作,可以降低单次数据查询执行的时间,提升系统的性能. 2.在一个插件平台中启动平台时只加载必需的程序集,当执行到具体插件时再加载插件相关的程序集,仅在需要的时候加载资源,可以减少插件平台的启动时间,使内存的占用更合理些. 延迟加载可以使资源的占用更加合理,并提升一定的性能,当然也有一些例子来说明延迟加载的坏…
说明:文中示例均以将文件置于D盘根目录(D:\)下为例. 一.查看程序集是否具有强命名 sn -T d:\LicBase.dll 若有则会显示PublicKeyToken值,反之不会. 二.给无强命名程序集添加强命名 1.创建密钥对,并将其存储在 d:\LicBase.snk 中 sn -k d:\LicBase.snk 2.反编译目标程序集 ildasm d:\LicBase.dll /out=d:\LicBase.il 3.重新编译,附带强命名参数 ilasm d:\LicBase.il /…
上一篇我们讲了如何在windows和Linux上编译CoreClr的问题 虽然文章使用的是windows 10 (Bash)环境,但是也可以做为ubuntu环境的参考. 成功编译CoreCLR的源代码之后,会在**\coreclr\bin\Product\Windows_NT.x64.{*}**目录生成对应的二进制文件,这里包含了基本的CLR运行时文件.其中就有我们这次想要修改的CoreRun.exe文件,它就是CLRHost的入口可执行程序,等同于dotnet命令. 当然本篇文章主要是以win…
dnSpy 是 0xd4d 开发的 .NET 程序调试神器. 说它是神器真的毫不为过!它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!本文讲向大家介绍如何使用 dnSpy 修改 .NET 程序. 如果你发现本文原本应该有图的地方却没有看到图片,那可能是被某种特殊的网络屏蔽了.请移步至 神器如 dnSpy,无需源码也能修改 .NET 程序 - 吕毅 - gitee 阅读. dnSpy 的主打功能是无需源码的调试,林德熙 有一篇文章 断点调试 Windows 源代码 介绍了这个方法.而本文…
1.修改解决方案名称 右键,重命名 2.修改项目名称 右键,重命名 3.修改程序集名称和默认命名空间 项目,属性 4.替换解决方案中的名称 编辑,替换,替换范围默认整个解决方案 5.用记事本打开.sln文件,替换 6.修改.sln文件同级目录的对应文件夹名称 7.删除Debug和Release文件夹中的内容 8.重新生成解决方案…
很多团队经历时间的积淀之后,都会有很多的可重用的公共技术组件.大部分的团队都会把这些公共组件生成程序集(dll)后,放到GIT或SVN的一个公共目录里面,以供各个项目中使用.起初在项目很少又或者是公共组件不多的时候,这样看起来也没有多大问题.但是随着团队越来越大,项目的组件增多,所封装的可重用组件越来越多,一些问题就会慢慢暴露出来.这个时候如果还是使用这种方式去管理程序集,显然就不太合适了. 我们知道,在Java中比较常用的包管理工具,如Maven.实际上在很多大公司里面都会搭建自己公司的Mav…