We will publish (as open source) by he end of the week our
ThonaConsulting.Licensing.LicenseManager class, which should be a little
harder to hack :-)

Why? Well, we basically use signed XML configuration files - you can not
just replace a je/jne with a jmp, when the reach into the class picks up
a config value.

Now, this is not advertisement - this is going to be real open source,
for free use.

The problem, though, still stands - we are, like everyone else, relying
on making it HARD for people to modify assemblies. So, HOW DIFFICULT is
it to change the CLR to load assemblies that have been modified?

I assume it is not trivial - maybe it is simply technical, but IMHO you
get a lot of points where you have the signature as an important part
(like linking into the GAC), and so it might be a LOT of things to
modify.

Let me second this question - anyone has any metrics?

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

-----Original Message-----
From: Trey Nash [mailto:tnash@;DIGITRIX.COM] 
Sent: Dienstag, 22. Oktober 2002 02:53
To: [EMAIL PROTECTED]
Subject: Re: [ADVANCED-DOTNET] tamper proof assembly question


Hi all,

OK, let me explain a little further. :-)  I'm not looking at a scenario
where I'm trying to avoid people hacking into a machine remotely.

Many apps out there require serial numbers.  The compiled code of the
app, whether it be IL or i386 assembly, typically will boil down to a
junction point in the code where you can simply replace a 'je/jne' with
'jmp' (in the i386 assembly case.)  See what I mean?  Hacker finds that
weak point, hex edits the exe, and it's hacked.

Now then, suppose we want to rely on the CLR to prevent this.  The CLR
then becomes the target.  The hacker then would have to hack the CLR to
allow it to load assemblies without varifying their integrity.  My
question is, does anyone have a metric as to how difficult this will be
for a determined hacker?

Thanks,

   -Trey

> One of the worst case scenarios would be for someone to ship a hacked 
> mscorlib then somehow run sn.exe on the deployment machine to turn off

> verification checking on mscorlib. There are 3 problems the bad guy 
> has to overcome:
>
> 1. getting the fake mscorlib onto the machine
> 2. getting sn.exe onto the machine (it only ships with the sdk and not

> the redist) 3. running the application (sn.exe) under an admin account
>
> So at least make 2 harder by only putting the redist on to deployment 
> machines.
>
> Richard Blewett
> DevelopMentor

You can read messages from the Advanced DOTNET archive, unsubscribe from
Advanced DOTNET, or subscribe to other DevelopMentor lists at
http://discuss.develop.com.

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to