Latest Releases最新发布You can always get the latest Introduction介绍Reflector and JustDecompile are great tools for doing an in-depth examination of various types of assemblies and also for disassembling IL code towards a supported .NET language. 反射和JustDecompile是伟大的工具,做一个深入的研究,也为各类组件拆卸IL代码朝着支持。NET语言。 However, they are unable to modify either the structure or the IL code of assemblies. Reflexil allows such modifications by using the powerfulMono.Cecil library written by Jb EVAIN . Demo Application演示应用Let's use a very simple application that is able to add two numbers:让我们用一个非常简单的应用程序,能够将两个数字相加: using System; 使用系统; using System.Windows.Forms; 使用 System.Windows.Forms; namespace ReflexilDemo 命名空间 ReflexilDemo中 { { public partial class DemoForm : Form 公共部分类 DemoForm:表格 { { public DemoForm() 公共 DemoForm() { { InitializeComponent();在InitializeComponent(); } } private void ComputeAndDisplay( decimal x, decimal y) 私人的无效 ComputeAndDisplay( 十进制 X, 进制y) { { MessageBox.Show( String .Format( " {0}+{1}={2}" , x, y, x + y)); MessageBox.Show( 字符串格式(“{0} + {1} = {2}”,X,Y,X + Y)); } } private void DisplayResultButton_Click( object sender, EventArgs e) 私人的无效 DisplayResultButton_Click( 对象发件人,EventArgs五) { { ComputeAndDisplay(LeftOperand.Value, RightOperand.Value); ComputeAndDisplay(LeftOperand.Value,RightOperand.Value); } } } } } } Using Instruction Editor使用说明编辑器Using the instruction editor, let's update the ![]() Then we have to update the "call" instruction to use the overloaded method ![]() It is time to save our work and to test our patched assembly:现在是时候来拯救我们的工作,并测试我们的补丁装配: ![]() Our assembly is now using the overloaded method and the suitable parameter:现在我们的组件使用重载的方法和合适的参数: ![]() Instruction Editor Features指令编辑器功能The instruction editor supports all opcodes defined in
In a quite comprehensible way, the Using C#/VB.NET Code Injection使用C#/ VB.NET代码注入You can choose your preferred injection language and input/display bases (binary, octal, decimal, and hexadecimal) with the configuration form:你可以选择你首选的注射语言和输入/显示基地(二进制,八进制,十进制和十六进制)的配置形式: ![]() Let's use the "Replace all with code" feature on the body of the ![]() A compile window enables us to view the resulting IL code.编译窗口,使我们能够查看生成的IL代码。 A basic support for intellisense/insight is provided:提供一个基本的支持的intellisense /有识之士的是: ![]() We can do it again with VB.NET language.我们可以做到这一点再次用VB.NET语言。Note that in this simple case, we obtain an identical IL code (it is not always the case):请注意,在这个简单的例子中,我们得到一个相同的IL代码(它并不总是如此): ![]() Let's save and test our patched assembly:让的保存和测试我们的补丁装配: ![]() C#/VB.NET Code Injection Features C#/ VB.NET代码注入特点The code is compiled using Method Attributes Editor方法属性编辑器You can easily update a method signature or change his visibility scope.您可以轻松地更新方法签名或改变他的可视范围。 You are also able to change the return type:你也可以改变返回类型: ![]() Method parameters (and variables) are also editable.方法参数(变量)都还可以。Reflexil can load symbols (MDB and PDB files are supported) to display original variable names: Reflexil的可以加载符号(MDB和PDB文件都支持),以显示原始变量名: ![]() Exception Handlers异常处理
Type Attributes Editor类型属性编辑器Like methods, you can change any type visibility scope.方法一样,您可以更改任何类型的可见范围。 So you can expose a previously ![]() Member manipulation会员操作
![]() Smart injection : injecting a new property will generate a field, getter/setter methods and IL code.智能注入:注入了新的属性将产生一个字段,getter / setter方法??和IL代码。 ![]() Resources Editor资源编辑器You can inject and alter embedded resources, linked resources and assembly linked resources.你可以注入和改变嵌入的资源,链接资源和装配资源链接。 A complete hex editor is provided to update, export or import files.一个完整的十六进制编辑器提供更新,导出或导入文件。 Custom attributes Editor自定义属性编辑器Custom attributes are fully supported.完全支持自定义属性。 ![]() Assembly and Assembly Reference Editor大会和大会参考编辑With the assembly editor, you can use a different entry point:装配编辑器,你可以使用不同的入口点: ![]() You can also update all information regarding identification: version, public key, name and culture.您还可以更新有关的所有信息识别版本,公钥,名称和文化。 Note that you can also alter any referenced assembly so you can use a different version:请注意,您还可以改变任何引用的程序集,所以你可以使用不同的版本: ![]() Module Editor模块编辑器With the module editor, you can simply change the kind of your application (transform an executable assembly to a DLL library for instance):随着模块的编辑器,你可以简单地改变你的应用程序(例如可执行程序集转换到一个DLL库)的那种: ![]() Signed Assemblies Support签名的程序集支持When saving a signed assembly, the resulting assembly is placed in the "delay signed" state. ![]()
![]() Deobfuscation Support反混淆技术支持
![]() Babel NET, CliSecure, CodeFort, CodeVeil, CodeWall, CryptoObfuscator, DeepSea, Dotfuscator, dotNET Reactor, Eazfuscator NET, Goliath NET, ILProtector, MaxtoCode, MPRESS, Rummage, Skater NET, SmartAssembly, Spices Net and Xenocode are supported.通天NET,CliSecure,CodeFort,CodeVeil,CodeWall,CryptoObfuscator,深海,Dotfuscator的,dotNET的反应堆,NET Eazfuscator,巨人网,ILProtector,MaxtoCode,MPRESS,临检,溜冰NET,SmartAssembly,香料网和Xenocode的支持。 ![]() ![]() Assembly Verifier大会验证With the assembly verifier (using peverify.exe from .NET SDK), you can determine whether the IL code and associated metadata meet type safety requirements.装配验证(使用peverify.exe。NET SDK),你可以决定的IL代码和相关元数据是否满足类型安全要求。 ![]() ![]() Conclusion结论
Change Log更改日志//////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.6 - 17/01/2013 /////////////////////////////////////////////////////////// / / V1.6 - 17/01/2013 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - Optional ILMerged version to prevent unexpected Mono.Cecil assemblies. - 可选ILMerged的版本,以防止意想不到的Mono.Cecil组件。 upgrades:升级: - de4dot 1.9.0 update. - de4dot 1.9.0更新。 New deobfuscation support for CodeFort, CodeWall,新的反混淆技术支持为CodeFort CodeWall ILProtector, MPRESS, Rummage. ILProtector,临检MPRESS。 - Mono.Cecil 0.9.5.4 update. - Mono.Cecil 0.9.5.4更新。 - ARM, WindowsRuntime and Module characteristics support. - ARM,WindowsRuntime和模块特性的支持。 bugfixes:错误修正: - Check customized Mono.Cecil assembly - 检查的定制Mono.Cecil总成 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.5 - 16/04/2012 /////////////////////////////////////////////////////////// / / V1.5 - 16/04/2012 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - deobfuscation support for Babel NET, CliSecure, CodeVeil, CryptoObfuscator - 支持为通天NET,CliSecure,CodeVeil,CryptoObfuscator反混淆 DeepSea, Dotfuscator, dotNET Reactor, Eazfuscator NET, Goliath NET,深海,Dotfuscator的dotNET的的反应堆,Eazfuscator NET,巨人NET, MaxtoCode, Skater NET, SmartAssembly, Spices Net and Xenocode. MaxtoCode,溜冰NET,SmartAssembly,香料净Xenocode的。 Thanks to de4dot by 0xd4d!感谢de4dot由0xd4d! upgrades:升级: - Mono.Cecil update. - 更新Mono.Cecil。 bugfixes:错误修正: - bugfix for "register for verification skipping" and delay signed assembly. - 修正为“注册验证跳过”延迟签名的程序集。 - bugfix for "resign" and delay signed assembly. - 修正错误的“辞职”,并拖延签署的组件。 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.4 - 27/01/2012 /////////////////////////////////////////////////////////// / / V1.4 - 27/01/2012 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - custom attributes support. - 自定义属性的支持。 - assembly/module renaming. - 组件/模块命名。 upgrades:升级: - search the type tree with a regex like ^SerializableAttribute$. - 搜索类型树这样一个正则表达式^ SerializableAttribute $。 bugfixes:错误修正: - fixed drag&drop issues with column headers. - 固定列标题拖放问题。 - fixed broken ExceptionHandler editor after Mono.Cecil 0.9.x migration. - 固定破碎的ExceptionHandler编辑后Mono.Cecil 0.9.x版本迁移。 - fixed broken Variable editor after Mono.Cecil 0.9.x migration. - 固定破碎变量编辑后Mono.Cecil 0.9.x版本迁移。 - fixed assembly resolution issues, thanks to Douglas Drinka. - 固定大会决议问题,感谢道格拉斯Drinka。 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.3 - 24/08/2011 /////////////////////////////////////////////////////////// / / V1.3 - 24/08/2011 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - resource support (injection and alteration): Embedded resources, linked - 资源支持(注入和改建):嵌入式资源链接 resources and assembly linked resources.资源和集会链接资源。 Complete hex editor to update,完整的十六进制编辑器更新, export or import files.导出或导入文件。 upgrades:升级: - works both on Reflector 6.x and Reflector 7.x. - 工程上反射6.x和反射7.x版本 bugfixes:错误修正: - fixed assembly loading errors when using symbols and pdb file is not - 固定程序集加载错误时使用的符号和pdb文件 available.可用。 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.2 - 07/03/2011 /////////////////////////////////////////////////////////// / / V1.2 - 07/03/2011 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - Reflexil is now MIT/X11 licensed - Reflexil的是现在MIT/X11行货 - technical update: using customized Mono.Cecil/Light 0.9.x - 技术更新:使用的定制Mono.Cecil /轻0.9.x版本 - technical update: using customized ICSharpCode.SharpDevelop.Dom.dll - 技术更新:使用自定义ICSharpCode.SharpDevelop.Dom.dll - technical update: using customized ICSharpCode.TextEditor.dll - 技术更新:使用自定义ICSharpCode.TextEditor.dll - technical update: using customized ICSharpCode.NRefactory.dll - 技术更新:使用定制ICSharpCode.NRefactory.dll upgrades:升级: - moved "Kind" and "Target Runtime" from Assembly to Module handler - 提出“好心肠”,“目标运行时模块处理程序”从大会 - better support for pdb and mdb files and strong name assemblies - 更好地支持PDB和mdb文件和强名称组件 - complete support for PE32+ assemblies - PE32 +组件的完整支持 - less memory consumption - 更少的内存消耗 - lazy loading of every metadata element - 懒加载的每一个元数据元素 - speed and optimizations - 速度和优化 - you can enable/disable cache settings for intellisense - 您可以启用/禁用缓存设置智能感知 - injection/compilation with version control: v2.0, v3.5, v4.0 - 注塑/编译版本控制:V2.0,V3.5,V4.0 - new injection import process - 注入新进口过程 - added architecture support (I386, AMD64, IA64) in module definition - 增值模块定义架构的支持(I386,IA64,AMD64) - new attributes grouping - 新属性分组 bugfixes:错误修正: - fixed PointerType/ArrayType/ReferenceType Cecil/Reflector code matching - 固定PointerType /数组类型/ ReferenceType的的塞西尔/反射代码匹配 (No data shown for methods with "ref" array parameters) (没有数据显示的方法与“裁判”数组参数) - fixed crashes when attempting to replace all with code - 固定崩溃时尝试更换所有的代码 (Could not find a part of the path) (找不到路径的一部分) - fixed type import when updating field, method, property or event - 更新字段,方法,属性或事件时,固定式进口 - fixed extra random assembly reference when injecting/compiling - 固定的额外随机装配时参考注入/编译 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.1 - 28/04/2010 /////////////////////////////////////////////////////////// / / V1.1 - 28/04/2010 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - rename, delete or inject class/interface/struct/enum/event/field/method/ - 重命名,删除或注射类/接口/结构/枚举/事件/场/方法/ constructor/property/assembly reference构造函数/属性/程序集的引用 - smart injection : injecting a new property will generate a field, - 智能注射:注射会产生一个新的属性字段, getter/setter methods and IL code.的getter / setter方法??和IL代码。 - open architecture: Reflexil is now able to be used with Reflector, - 开放式体系结构:Reflexil的是现在能够被用来与反射, Cecil.Studio or anything able to convert an object model to Mono.Cecil Cecil.Studio或任何能够转换对象模型来Mono.Cecil的 - property editor (attributes, type, constant) - 属性编辑器(属性,类型,常量) - field editor (attributes, type, constant) - 字段编辑器(属性,类型,恒) - event editor (attributes, type) - 事件编辑器(属性,类型) - assembly verifier (using peverify.exe from .NET SDK) - 装配验证(使用peverify.exe。NET SDK) upgrades:升级: - interfaces and base type selection for type editor - 接口和基类型编辑器类型的选择 - Reflector/Mono.Cecil method matching - 反射/ Mono.Cecil的方法匹配 bugfixes:错误修正: - fixed framework version detection for Mono, initial patch by Robin Herbots - 固定的框架由罗宾·贺伯特为单声道,初始补丁版本检测 - fixed constant handling with parameters - 固定不变的参数处理 - fixed InitLocals initialization for method bodies - 固定InitLocals的初始化方法体 - fixed branch to self causes stack overflow, patch by Brien Sourceforge - 固定分支自我导致堆栈溢出,奥布莱恩Sourceforge上的补丁 - fixed crash with unsupported assemblies - 固定与不支持的组件崩溃 - fixed grid refresh for method overrides - 定格刷新方法重写 - fixed offset compute after code injection - 固定偏移计算代码注入后 - fixed code injection/type matching with nested types - 固定代码注入/嵌套类型的类型匹配 - fixed const handling with parameters, fields and properties - 固定常量处理参数,字段和属性 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v1.0 - 23/10/2009 /////////////////////////////////////////////////////////// / / 1.0 - 23/10/2009 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - proper configuration for code injection with .NET 3.5 compiled files - 正确的配置代码注入。NET 3.5编译的文件 - using up to date Mono.Cecil.Pdb (now fully managed) - 使用最多日期Mono.Cecil.Pdb的(现已全面管理) bugfixes:错误修正: - fixed ArgumentOutOfRange with some compile errors (replace all with code) - 固定ArgumentOutOfRange这样的一些编译错误(取代所有的代码) - fixed error CS0006: Metadata file '...' - 固定错误CS0006:元数据文件'......“ could not be found无法找到 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v0.9.1 - 30/04/2009 ///////////////////////////////////////////////////////// / / v0.9.1 - 30/04/2009 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - check if .NET Framework v3.5 is installed - 检查是否安装NET框架V3.5 bugfixes:错误修正: - some debug code was left, causing errors to users without "c:" drive. - 留下一些调试代码,导致用户没有错误“C:”驱动器。 misc:杂项: - source code cleanup - 源代码清理 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v0.9 - 28/01/2009 /////////////////////////////////////////////////////////// / / V0.9 - 28/01/2009 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - instruction offset column - 指令偏移列 - code editor intellisense - 代码编辑器的智能感知 - region folding - 区域折叠 - insight window - 洞察力窗口 bugfixes:错误修正: - assembly browser was only listening to mouse events - 组装浏览器只是听鼠标事件 - fix combobox rendering errors without visual themes - 修复组合框渲染错误,而视觉主题 misc:杂项: - source code cleanup - 源代码清理 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v0.8 - 25/05/2008 /////////////////////////////////////////////////////////// / / V0.8 - 25/05/2008 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - assembly reference editor (name, version, public key, token, hash) - 程序集的引用编辑器(名称,版本,公钥令牌,哈希) - assembly name editor (entry point, assembly kind, framework version, name, - 组件名称编辑器(入口点,装配类,框架版本,名称, version, public key, token)版本,公钥令牌) upgrades:升级: - 'unsafe' code generation support - “不安全”的代码生成支持 - reflector item handler - 反射项处理程序 bugfixes:错误修正: - field reference fix after code injection - 字段引用代码注入后修复 - forms tabindexes - 形式tabindexes的 //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // v0.7 - 17/01/2008 /////////////////////////////////////////////////////////// / / V0.7 - 17/01/2008 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / news:新闻: - type attributes editor (sealed, semantic, layout, string format, - 类型的属性编辑器(密封,语义,布局,字符串格式, visibility, ...)能见度,...) - strong name remover - 强劲名卸妆 upgrades:升级: - sn.exe registry keys with framework 3.5 - SN.EXE的框架3.5注册表键 - C# / VB.NET code generator |