首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WeTest质量开放平台团队的专栏

    手游热更新方案--Unity3D下的CsToLua技术

    Mono.Cecil ========== Mono.Cecil:一个可加载并浏览现有程序集并进行动态修改并保存的.NET框架。 麻将项目入口: [2.png] 举一个Mono.Cecil例子,这是原始的Unity C#代码: [3.png] 我们采用Cecil工具对生成的Dll进行代码嵌入,具体的嵌入逻辑如下: [4.png] (这也是一些外挂的套路,也有加壳和加密技术来提升反编译的难度了,此处省去一万字)上面的代码等价于如下: [6.png] Mono.Cecil底层是如何处理的呢,再举一个例子,这是原始的C#代码: [7. png] 上面是C#逻辑打包成dll后,采用Cecil反编译得到的内容如下,具体逻辑见注释: [8.png] 用Mono.Cecil得到了二进制文件的中间代码,中间代码是一种基于操作栈的虚拟机语言,指令间借助栈传递数据 ILspy的主要功能:从Mono.Cecil拿到具体类型,类型定义的方法,以及各自的MethodBody。

    2.7K20发布于 2018-05-24
  • 来自专栏蘑菇先生的技术笔记

    日志系统实战(一)—AOP静态注入

    标记需要注入的方法 [Log] public static string GetUserName(int userId) { return "Vidar"; } IL注入关键的地方,这里使用Mono.Cecil GetUserName(int userId) { Log.OnActionBefore(MethodBase.GetCurrentMethod()); return "Vidar"; } Mono.Cecil 地址 http://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/

    1.2K40发布于 2018-05-21
  • 来自专栏全球技术精选

    在.NET Core 中收集数据的几种方式

    这个库我还没怎么用过,生而为人,我很抱歉 〒▽〒 Mono.Cecil Mono.Cecil:一个可加载并浏览现有程序集并进行动态修改并保存的.NET框架, Mono Cecil十分强大,可以静态注入程序集 (注入后生成新的dll程序集)和动态注入程序集(注入后不改变目标程序集,只在运行时改变程序集行为,腾讯开源的Unity热更解决方案xLua有一个非常吸引人的特性就是Hotfix,其原理是使用Mono.Cecil

    1.4K20发布于 2021-01-11
  • 来自专栏全球技术精选

    在.NET Core 中收集数据的几种方式

    这个库我还没怎么用过,生而为人,我很抱歉 〒▽〒 Mono.Cecil Mono.Cecil:一个可加载并浏览现有程序集并进行动态修改并保存的.NET框架, Mono Cecil十分强大,可以静态注入程序集 (注入后生成新的dll程序集)和动态注入程序集(注入后不改变目标程序集,只在运行时改变程序集行为,腾讯开源的Unity热更解决方案xLua有一个非常吸引人的特性就是Hotfix,其原理是使用Mono.Cecil

    1.3K00发布于 2021-01-09
  • 来自专栏张善友的专栏

    Mono 2.0正式发布了

    Mono.Cecil - ECMA CIL Manipulation. Xml.Relaxng. Novell.Directory.Ldap C5 - Generics Library. Mono.Cecil - ECMA CIL Manipulation. Xml.Relaxng.

    1.7K100发布于 2018-01-31
  • 来自专栏林德熙的博客

    dotnet 6 使用 Obfuscar 进行代码混淆

    dotnet\shared\Microsoft.WindowsDesktop.App\6.0.1\ 路径,这是因为代码是之前写的,博客是鸽子很久才写的,还请大家自行更新 混淆原理 此混淆工具底层使用 Mono.Cecil 进行程序集的读取和编织,使用 Mono.Cecil 可以读取出程序集的信息,从读取到的信息进行更改,更改也就是混淆的核心逻辑,更改完成之后,再通过 Mono.Cecil 生成新的程序集文件,如此即可完成混淆

    2.8K10编辑于 2022-08-12
  • 来自专栏张善友的专栏

    Xamarin和微软发起.NET基金会

    Anders Hejlsberg宣布微软将开源Roslyn C#编译器,Mono项目团队正忙于将Roslyn集成进入Mono的技术堆栈(Mono.Cecil NRefactory IKVM.Reflection

    1.2K60发布于 2018-01-30
  • 来自专栏walterlv - 吕毅的博客

    .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖

    前者不可定制、运行缓慢、消耗资源(不过好消息是现在开源了);后者已被弃用、不受支持且基于旧版本的 Mono.Cecil。 以下是 GitHub 社区中的讨论: Mono.Cecil 0.10 support · Issue #182 · gluck/il-repack Migrate to vanilla 0.10 cecil

    3.7K50编辑于 2023-10-22
  • 来自专栏Niuery的技术日记

    IL编织器 --- Fody

    将程序集和 pdb 文件读入 Mono.Cecil 对象模型中。 根据需要重新应用强名称。 保存程序集和 pdb 文件。 「Fody」 使用 Mono.Cecil 和基于插件的方法在编译时修改 .NET 程序集的中间语言(IL)。 它不需要额外的安装步骤来构建。 属性是可选的,具体取决于所使用的编织器。

    1.2K10编辑于 2023-10-22
  • 来自专栏天下风云

    【C++静态私有字段】+【C# <Module>.cctor】+【C++ if(条件断点)】

    C#代码里面不能够编辑它,可以通过Mono.Cecil对托管DLL添加这个函数。

    36310编辑于 2024-06-11
  • 来自专栏张善友的专栏

    国内 Mono 相关文章汇总

    桌面应用程序脱离net framework 把成熟的代码从.NET移植到Mono Mono喜迁新家-http://www.xamarin.com/ Asp.Net Mvc3在Mono中部署的两个问题 使用Mono.Cecil Run Anywhere:这不是Java,这是C# Centos5.5安装MONO2.10.8和Jexus 5.0开启Linux平台.net应用新篇章 mono和monodevelop源码编译安装 利用Mono.Cecil SDK Mono 3.0.12 支持可移植类库 Linux+Mono+WebService:CS1703: An assembly with the same identity--mscorlib 运用Mono.Cecil

    13.6K60发布于 2018-01-26
  • 来自专栏呆呆敲代码的小Y 公众号

    Unity 热更新技术 | (一) 热更新的基本概念原理及主流热更新方案介绍

    ILRuntime项目的原理实际上就是先用VS把需要热更新的C#代码封装成DLL(动态链接库)文件,然后通过Mono.Cecil库读取DLL信息并得到对应的IL中间代码(IL是.NET平台上的C#、F#

    16.7K78编辑于 2023-03-14
  • 来自专栏架构技术

    Aop介绍及几种实现方式

    其原理是在编译生成IL后,借助Mono.Cecil的AssemblyDefinition读取程序集,并检测需要注入的点,并将指定的代码注入到程序集中。

    1.2K20发布于 2019-09-11
  • 来自专栏U3D技术分享

    ILRuntime热更新

    Studio 2022 JDK:Java SE 8(8u202 and earlier) SDK Tools:24.4.1 模拟器:雷电模拟器9.0.5 ---- 基础 原理 ILRuntime借助Mono.Cecil

    3.1K30编辑于 2022-09-21
  • 来自专栏InCerry

    .NET周刊【11月第1期 2025-11-02】

    ILAccess.Fody 利用 Fody 和 Mono.Cecil 在编译期对 IL 进行修改,提供了几乎与 UnsafeAccessor 一致的体验。

    39510编辑于 2025-11-12
  • 来自专栏软件开发

    DotNet 资源大全中文版(Awesome最新版)

    Fody - 用于编织.net程序集的可扩展工具 Mono.Cecil -Cecil是以ECMA CIL形式生成和检查程序和图书馆的图书馆。 Dominick Baier & Brock Allen IdentityManager IdentityServer Force.com Force.com Toolkit for .NET Jb Evain Mono.Cecil

    19.3K82发布于 2018-01-04
  • 来自专栏全栈程序员必看

    .Net开源框架

    官网 Mono.Cecil:Cecil 类库用于生成和检查 ECMA CIL 程序和库。

    8.5K31编辑于 2022-09-08
  • 来自专栏Dotnet9

    【值得收藏】收集了.Net 不少资源

    官网 Mono.Cecil:Cecil 类库用于生成和检查 ECMA CIL 程序和库。

    4.3K20编辑于 2022-04-18
领券