0

Is it possible to decompile an executable that when trying to decompile w/ Reflector, errors out with "Module ... does not contain a CLI header.", and if so, how to decompile this to C#?

Thank you.

Joel Coehoorn
  • 399,467
  • 113
  • 570
  • 794
ElHaix
  • 12,846
  • 27
  • 115
  • 203
  • I'm guessing it may have been obfuscated as I'm able to decompile all the associated libraries (DLL's), just not the .exe. – ElHaix Jan 12 '10 at 01:59
  • I think if it doesn't have a CLI header then the CLR itself wouldn't be able to execute it. So it seems more likely that it's a native EXE loading .NET DLLs (via hosting or COM interop), as per Kevin's answer. Could be wrong though...! – itowlson Jan 12 '10 at 02:01

3 Answers3

7

That would most likely indicate that it's not a managed assembly. Which means Reflector won't be able to decompile it.

Kevin Dente
  • 25,430
  • 7
  • 43
  • 47
2

Reflector can only decompile assemblies. The reason for this is that .Net can only load and execute assemblies, not modules. The module must belong to an assembly. Find that, and the module will be loaded.

EDIT: after rereading, it seems to me more likely that you have a non-.Net DLL.

codekaizen
  • 26,990
  • 7
  • 84
  • 140
0

Its most likely obfuscated. Obfuscating .Net exes will cause Reflector to show this message.

logicnp
  • 5,796
  • 1
  • 28
  • 32