Reflexil Changelog

What's new in Reflexil 2.0

Mar 21, 2016
  • news:
  • ILSpy support.
  • hot assembly replacement feature for ILSpy 2.3+ and Reflector 8.5+.
  • support for generic instance types and methods in the instruction editor.
  • generic type arguments editor when selecting a type/method with generic parameter(s).
  • upgrades:
  • improved member matching with code injection.
  • try to resolve an assembly from the host assemblies first, then use the default
  • resolver.
  • de4Dot 3.1.4 update.
  • Mono.Cecil 0.9.6 update.
  • tooltips for long types.
  • better display with generic instance providers.
  • plugin API cleanup.
  • bugfixes:
  • fixed .NET 3.5 profile detection.
  • properly remove assembly context when the host assembly is unloaded.
  • validate current handler before switching to keep all alterations.
  • fixed injection adding bad or duplicate corlib reference (again).
  • fixed implicit version when injecting assembly name reference.
  • properly give the focus to the member reference window treeview.
  • handle the case when assembly resolving fails during injection.
  • workaround Reflector not displaying sub menu separators.
  • fixed C# code generation with generics.
  • fixed type/method hierarchy mapping with generics.
  • fixed NRE when editing custom attribute.
  • fixed Reflector type search for lambda methods using the same parameter.
  • the assembly browser is now able to properly locate generic members.
  • fixed broken symbol loader.

New in Reflexil 1.9 (Dec 5, 2014)

  • news:
  • optimize and fix IL code after body alteration or code injection. You can control this behaviour from the settings window.
  • extended verbatim string operand type in the constant & argument editor so that you can use special chars like \n, \t...
  • type specification composition, so that you can define a String[][]* var
  • add compilation profiles to better support Unity/Silverlight assemblies with "Replace all with code"
  • upgrades:
  • Mono.Cecil update.
  • Filter autogenerated members with "Replace all with code"
  • bugfixes:
  • fixed ModuleAttributes value will never be saved in some case. (lonwern)
  • fixed related property when deleting a getter or setter method
  • fixed member selector and properties without getter & setter
  • fixed injection adding bad or duplicate corlib reference

New in Reflexil 1.8 (Dec 5, 2014)

  • news:
  • added verbatim string operand type in the instruction editor so that you can use special chars like \n, \t...
  • upgrades:
  • support for Microsoft SDK v7.1A, v8.0A, v8.1A.
  • bugfixes:
  • fixed graphical issues with Windows 8.
  • PEVerify was not always targeting the proper assembly.
  • strong name remover was not always targeting the proper assembly.
  • fixed PE Header when removing strong name.
  • fixed support for volatile and unsafe modifiers in "replace all with code"

New in Reflexil 1.7 (Jan 3, 2014)

  • News:
  • Module attributes support.
  • Upgrades:
  • Mono.Cecil update.
  • de4Dot 3.0.3 update.
  • Bugfixes:
  • Using "Replace All With Code" feature was unable to resolve the working assembly in some cases, preventing some advanced alterations to the source code.
  • Fixed injection of nested types.
  • Properly handle module characteristics.

New in Reflexil 1.6 (Jan 18, 2013)

  • New:
  • Optional ILMerged version to prevent unexpected Mono.Cecil assemblies.
  • Upgrades:
  • de4dot 1.9.0 update. New deobfuscation support for CodeFort, CodeWall, ILProtector, MPRESS, Rummage.
  • Mono.Cecil 0.9.5.4 update.
  • ARM, WindowsRuntime and Module characteristics support.
  • Bugfixes:
  • Check customized Mono.Cecil assembly

New in Reflexil 1.5 (Jun 29, 2012)

  • news:
  • deobfuscation support for Babel NET, CliSecure, CodeVeil, CryptoObfuscator DeepSea, Dotfuscator, dotNET Reactor, Eazfuscator NET, Goliath NET, MaxtoCode, Skater NET, SmartAssembly, Spices Net and Xenocode.
  • upgrades:
  • Mono.Cecil update
  • bugfixes:
  • bugfix for "register for verification skipping" and delay signed assembly
  • bugfix for "resign" and delay signed assembly

New in Reflexil 1.3 (Aug 29, 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.
  • bugfixes:
  • fixed assembly loading errors when using symbols and pdb file is not available.

New in Reflexil 1.2 (Aug 29, 2011)

  • news:
  • Reflexil is now MIT/X11 licensed
  • technical update: using customized Mono.Cecil/Light 0.9.x
  • technical update: using customized ICSharpCode.SharpDevelop.Dom.dll
  • technical update: using customized ICSharpCode.TextEditor.dll
  • technical update: using customized 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
  • complete support for PE32+ assemblies
  • 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
  • new injection import process
  • added architecture support (I386, AMD64, IA64) in module definition
  • new attributes grouping
  • bugfixes:
  • fixed PointerType/ArrayType/ReferenceType Cecil/Reflector code matching (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

New in Reflexil 1.1 (Aug 29, 2011)

  • 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.
  • open architecture: Reflexil is now able to be used with Reflector,
  • Cecil.Studio or anything able to convert an object model to Mono.Cecil
  • property editor (attributes, type, constant)
  • field editor (attributes, type, constant)
  • event editor (attributes, type)
  • assembly verifier (using peverify.exe from .NET SDK)
  • upgrades:
  • interfaces and base type selection for type editor
  • Reflector/Mono.Cecil method matching
  • bugfixes:
  • fixed framework version detection for Mono, initial patch by Robin Herbots
  • fixed constant handling with parameters
  • fixed InitLocals initialization for method bodies
  • fixed branch to self causes stack overflow, patch by Brien 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

New in Reflexil 1.0 (Aug 29, 2011)

  • news:
  • proper configuration for code injection with .NET 3.5 compiled files
  • using up to date Mono.Cecil.Pdb (now fully managed)
  • bugfixes:
  • fixed ArgumentOutOfRange with some compile errors (replace all with code)
  • fixed error CS0006: Metadata file '...' could not be found

New in Reflexil 0.9.1 (Aug 29, 2011)

  • news:
  • check if .NET Framework v3.5 is installed
  • bugfixes:
  • some debug code was left, causing errors to users without "c:" drive.
  • misc:
  • source code cleanup

New in Reflexil 0.9 (Aug 29, 2011)

  • 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

New in Reflexil 0.8 (Aug 29, 2011)

  • 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

New in Reflexil 0.7 (Aug 29, 2011)

  • news:
  • type attributes editor (sealed, semantic, layout, string format,
  • visibility)
  • strong name remover
  • upgrades:
  • sn.exe registry keys with framework 3.5
  • C# / VB.NET code generator
  • bugfixes:
  • static field code generation
  • VB.NET 'Single' type alias code generation
  • C# / VB.NET keywords used as field/method/parameter names
  • main window flicker fix

New in Reflexil 0.6 (Aug 29, 2011)

  • news:
  • symbol loading support (pdb and mdb)
  • method attributes editor (member access, vtable layout, code type,
  • managment, calling convention, return type) -> so you can change a method
  • visibility
  • parameter editor -> so you can change a method signature
  • variable editor
  • upgrades:
  • multiple selection support in grids
  • method RVA tooltip in grids
  • assembly / method definition cache system
  • bugfixes:
  • namespaces with type browser
  • pointer type matching
  • method matching
  • generic type matching
  • remoting timeout with compilation window
  • Mono.Cecil import context update
  • VB.NET arrays
  • unsafe C# compilation setting
  • prevent "insert after/insert before" when a list is empty

New in Reflexil 0.5 (Aug 29, 2011)

  • news:
  • VB.NET code injection
  • binary, octal, hexadecimal, decimal base support.
  • configuration form
  • upgrades:
  • code injection is no more 'context-free': type, fields and methods can
  • be referenced, and are automaticaly mapped to original items.
  • scroll positions are now saved when creating/updating/deleting
  • instructions or exception handlers
  • bugfixes:
  • injection code works even if the library is not in the same folder than Reflector.
  • sn.exe (strong name utility) is correctly located even if PATH variable
  • contains quotes.