Common Language Runtime detected an invalid program. 'ecjWaozPRx0tgIw7JW.eZ1v30elPdPn6mow7R' threw an exception

751 views
Skip to first unread message

Jacob

unread,
May 31, 2011, 4:54:40 AM5/31/11
to .Net Reactor Support
Hello,

My Current .NET Reactor Version: 4.4.0.0

I have a WebService protected with .NET Reactor. When I call a
WebService-Function I get an Exception:

Server was unable to process request. ---> Exception has been thrown
by the target of an invocation. ---> The type initializer for
'ecjWaozPRx0tgIw7JW.eZ1v30elPdPn6mow7R' threw an exception. --->
Common Language Runtime detected an invalid program.

When I don't protect my assembly everything is OK.

When I protect the Assemby with all Reactor settings disabled ("-
stringencryption 0 -suppressildasm 0 -obfuscation 0") the same
Exception is thrown. I think it is a Problem of a .NET Reactor Method,
because it is an Obfuscated Method with throws the Exception also when
I disable all Obfuscation. The obfuscated methodname is always the
same.

I have sent a Mail to eziriz support but no answer since the 26. May.

Can anybody help me?

Steve

unread,
Jun 1, 2011, 7:05:37 PM6/1/11
to .Net Reactor Support
Hi,

You're going to have to modify the auto generated Reference.cs files
of each Web Reference and add the DoNotObfuscate attribute to each
SOAP method wrapper.
The Reference.cs files can be found under each Web Reference after
enabling the "Show All Files" option of the Solution Explorer Tab.
Since these classes are auto generated the DoNotObfuscate attribute
can disappear after you've edited it using VS, so you should add some
startup checks to your app to make sure the attribute is still there:

public static class ObfuscationChecker
{

public static void PerformChecks()
{
CheckDoNotObfuscate(typeof(com.example.class), "Method1");
CheckDoNotObfuscate(typeof(com.example.class), "Method2");
}

private static void CheckDoNotObfuscate(Type clsType, string
methodName)
{
// Get the MethodInfo object.
System.Reflection.MethodInfo mInfo =
clsType.GetMethod(methodName);
// See if the DoNotObfuscate attribute is defined for this
method.
if(!Attribute.IsDefined(mInfo, typeof(DoNotObfuscate)))
// Throw Exception if it's not defined.
throw new Exception(string.Format("DoNotObfuscate is
not set on {0}.{1}!", clsType, methodName));

}
}

I hope this helps, and I hope to see more answers to questions in this
group especially given the current support situation with eziriz.

Cheers,
Hassan

Jacob

unread,
Jun 6, 2011, 3:10:05 AM6/6/11
to .Net Reactor Support
Hello Hassan,
thanks for the answer!

The Client is not Obfucated or protected with .NET Reactor and the
exception throws when I protect the WebService with the parameter "-
obfuscation 0".With ILSpy I can see that none of my Methods (including
the WebService Methods) are Obfuscated. There are only some Obfuscated
classes but these classes are not mine.

Cheers,
Jacob

Seabhcan

unread,
Jun 7, 2011, 5:41:28 AM6/7/11
to .Net Reactor Support
I had a similar problem. I upgraded to VS2010 and found that my
reactor version 4.1.0.0 didn't work anymore. So I upgraded that to
4.4.0.0 that ran the code protection and gave no errors but my
application no-longer ran. Fiddling with my own code I found the
encrypted exe was hitting a "Common Language Runtime detected an
invalid program" exception.

Much banging of head against table followed, and some pointless
unanswered emails to eziriz

This morning I tried rolling back to Reactor version 4.3.1.0 and
everything seems to work fine.

Jacob

unread,
Jul 29, 2011, 3:01:39 AM7/29/11
to .Net Reactor Support
Hello,
I think I've found the Problem:

All "protected" assemblies does not work (also when no obfuscation and
no protection in .NET Ractor-ProjectFile is enabled). I tried the
newest version (4.4.0.0) and also some older (4.2.7.5, 4.1.3.1).
Today I deinstalled .NET Reactor and delete the license files (in
%ProgramData%\Eziriz\.NET Reactor\). I installed the version 4.2.7.5
and registered my old license (expired in 2009 but I can use all
version released before expiration date) and it works.

I've send this Problem to Pilmus (the external commercial platform
which eziriz is using). They send the the mail automatically to Eziriz
but when Eziriz doesn't answer after two business days I can go back
to Pilmus and let they know the Problem.

(Pilmus: "If for some reason you don't receive a response within 2
business days, please come back and let us know.")

I will let you know if I get some further information.

Jacob

unread,
Aug 21, 2011, 3:25:43 PM8/21/11
to .Net Reactor Support
Eziriz doesn't answered.
Now we're getting our money back from Pilmus.

rai

unread,
Sep 14, 2011, 4:13:51 AM9/14/11
to .Net Reactor Support
Try this number. Found it through whois:

+49 5833376063

I got hold of him through this number (probably his home number - but,
you have paid for the product and he does not reply elsewhere)
Reply all
Reply to author
Forward
0 new messages