Reflexil / News: Recent posts

Release 1.9

- 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"... read more

Posted by Sebastien LEBRETON 2014-11-29

Release 1.8

- Added verbatim string operand type in the instruction/constant/argument
editor so that you can use special chars like \n, \t...

- Support for Microsoft SDK v7.1A, v8.0A, v8.1A.

- 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"

Posted by Sebastien LEBRETON 2014-07-14

Release 1.7

- Module attributes support.

- Mono.Cecil update.
- de4Dot 3.0.3 update.

- 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.

Posted by Sebastien LEBRETON 2014-01-03

Release 1.6

- Optional ILMerged version to prevent unexpected Mono.Cecil assemblies.

- de4dot 1.9.0 update. New deobfuscation support for CodeFort, CodeWall,
ILProtector, MPRESS, Rummage.
- Mono.Cecil update.
- ARM, WindowsRuntime and Module characteristics support.

- Check customized Mono.Cecil assembly

Posted by Sebastien LEBRETON 2013-01-17

Release 1.5

- deobfuscation support for Babel NET, CliSecure, CodeVeil, CryptoObfuscator
DeepSea, Dotfuscator, dotNET Reactor, Eazfuscator NET, Goliath NET,
MaxtoCode, Skater NET, SmartAssembly, Spices Net and Xenocode.
Thanks to de4dot by 0xd4d!

- Mono.Cecil update

- bugfix for "register for verification skipping" and delay signed assembly
- bugfix for "resign" and delay signed assembly

Posted by Sebastien LEBRETON 2012-04-16

Release 1.4

- custom attributes support.
- assembly/module renaming.

- search the type tree with a regex like ^SerializableAttribute$

- fixed drag&drop issues with column headers.
- fixed broken ExceptionHandler editor after Mono.Cecil 0.9.x migration.
- fixed broken Variable editor after Mono.Cecil 0.9.x migration.
- fixed assembly resolution issues, thanks to Douglas Drinka.

Posted by Sebastien LEBRETON 2012-01-27

Release 1.3

- resource support (injection and alteration): Embedded resources, linked resources and assembly linked resources. Complete hex editor to update, export or import files.

- works both on Reflector 6.x and Reflector 7.x.

- fixed assembly loading errors when using symbols and pdb file is not available.

Posted by Sebastien LEBRETON 2011-08-25

Release 1.2

- 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

- 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

- 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

Posted by Sebastien LEBRETON 2011-03-07

Difficulties to load Reflexil 1.1 ?

If you have Reflexil located in a « Reflexil » sub/directory try to rename this directory. You can also try to put directly all dll’s into Reflector directory.

It seems that there is a bug that prevents Reflexil from loading if binaries are located in a sub directory called Reflexil.
This seems to be a Reflector bug and, i'm currently discussing about this with the Reflector team.

Posted by Sebastien LEBRETON 2010-12-13

MIT License

Reflexil is now MIT-Licensed

Posted by Sebastien LEBRETON 2010-09-06

Release 1.1

- 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)... read more

Posted by Sebastien LEBRETON 2010-04-14

Release 1.0

- proper configuration for code injection with .NET 3.5 compiled files
- using up to date Mono.Cecil.Pdb (now fully managed)

- fixed ArgumentOutOfRange with some compile errors (replace all with code)
- fixed error CS0006: Metadata file '...' could not be found

Posted by Sebastien LEBRETON 2009-10-23

Release 0.9.1

- check if .NET Framework v3.5 is installed

- some debug code was left, causing errors to users without "c:" drive.

- source code cleanup

Posted by Sebastien LEBRETON 2009-05-27

Release 0.9

- instruction offset column
- code editor intellisense
- region folding
- insight window

- assembly browser was only listening to mouse events
- fix combobox rendering errors without visual themes

- source code cleanup

Posted by Sebastien LEBRETON 2009-01-28

Release 0.8

- assembly reference editor (name, version, public key, token, hash)
- assembly name editor (entry point, assembly kind, framework version, name,
version, public key, token)

- 'unsafe' code generation support
- reflector item handler

- field reference fix after code injection
- forms tabindexes

Posted by Sebastien LEBRETON 2008-05-25

Release 0.7

- type attributes editor (sealed, semantic, layout, string format,
visibility, ...)
- strong name remover

- sn.exe registry keys with framework 3.5
- C# / VB.NET code generator

- 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

Posted by Sebastien LEBRETON 2008-01-17

Release 0.6

- symbol loading support (pdb and mdb)
- 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

- multiple selection support in grids
- method RVA tooltip in grids
- assembly / method definition cache system... read more

Posted by Sebastien LEBRETON 2007-10-30

Release 0.5

- Better C# and VB.NET languages code injection support.
- Binary, Octal, Hexadecimal, Decimal base support.

- Code injection is no more context free , you can update fields and call methods.
- Scroll positions are now saved when creating/updating/deleting instructions

- You can now use Reflexil even if the library is not in the Reflector folder.
- No more errors when PATH environment variables contains quotes.

Posted by Sebastien LEBRETON 2007-09-14

Release 0.4

signed assembly support
exception handlers

using non cli images
reflector email attribute

Posted by Sebastien LEBRETON 2007-08-29

Release 0.3

- c# injection on the fly

- instructions drag'n'drop
- opcode list autocomplete
- opcode description

Posted by Sebastien LEBRETON 2007-08-23

Release 0.2

New support for
- contextual operands (instruction(s), variable, parameter, owned generic type)
- member references (field, method, type) using a browser like Reflector

Posted by Sebastien LEBRETON 2007-08-23

Initial release 0.1

The plugin is only in a very early stage, but still, you can deal with primitives types and branches very easily.

Posted by Sebastien LEBRETON 2007-08-23