473,405 Members | 2,354 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

Writing an exe 'shrink wrapper' for .Net

Hi All,

Can anybody point me to some 'how-to' documentation, tutorials, etc as to
how to write a shrink/protect wrapper for .Net exes/dlls, (like the
Shrinkwrap product for instance).

I have got a couple of products nearly ready for sale, and have already come
up with some routines to protect them, (in the style of the old TurboPower
OnGuard), but really wanted to shrink and protect the exe's, so as to make
reverse engineering a bit more difficult.

I am having some trouble getting started. I have searched the net for links
and help, but have come up blank. Any pointers on how to get going would be
really appreciated.

Thanks
Gary.
Jan 20 '06 #1
4 1722
Gary Bond wrote:
Hi All,

Can anybody point me to some 'how-to' documentation, tutorials, etc as to
how to write a shrink/protect wrapper for .Net exes/dlls, (like the
Shrinkwrap product for instance).

I have got a couple of products nearly ready for sale, and have already come
up with some routines to protect them, (in the style of the old TurboPower
OnGuard), but really wanted to shrink and protect the exe's, so as to make
reverse engineering a bit more difficult.

I am having some trouble getting started. I have searched the net for links
and help, but have come up blank. Any pointers on how to get going would be
really appreciated.

Thanks
Gary.


Of course you won't find something like that easily by searching on
google. You need very in depth knowledge in win32asm, the Win32 API,
experience with compression algos (LZW or derivatives and such), and a
load of experience in very complex anti-debugging tricks (otherwise the
whole thing will be mostly pointless). Then again, I don't know how to
support MSIL either, and you might still want to do obfuscation. It's
not the kind of knowledge you'll pick up in a weekend or by reading a
book, it would take you years to master all this, so your best bet is to
find a decently priced commercial offering (or just obfuscating and
using a really good protection scheme in your apps).
Jan 20 '06 #2
Hi Gary,
Welcome to MSDN Newsgroup!

Thanks for John's reply. In addition to his comment, you also could refer
to the following article,
Title: The Increasing Need to Protect your Applications from Hackers and
Competitors
URL: http://www.codeproject.com/showcase/Dotfuscator.asp

I hope the above information is helpful for you. Thanks and have a nice day!

Best Regards,

Terry Fei [MSFT]
Microsoft Community Support
Get Secure! www.microsoft.com/security
--------------------
Thread-Topic: Writing an exe 'shrink wrapper' for .Net
thread-index: AcYdnalrgu2J2mHiTUOrdFBxTO3sxA==
X-WBNR-Posting-Host: 193.119.59.36
From: =?Utf-8?B?R2FyeSBCb25k?= <Ga***@community.nospam>
Subject: Writing an exe 'shrink wrapper' for .Net
Date: Fri, 20 Jan 2006 00:44:01 -0800
Lines: 17
Message-ID: <8F**********************************@microsoft.co m>
MIME-Version: 1.0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Newsgroups: microsoft.public.dotnet.general
NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGXA03.phx.gbl
Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.dotnet.general:186697
X-Tomcat-NG: microsoft.public.dotnet.general

Hi All,

Can anybody point me to some 'how-to' documentation, tutorials, etc as to
how to write a shrink/protect wrapper for .Net exes/dlls, (like the
Shrinkwrap product for instance).

I have got a couple of products nearly ready for sale, and have already comeup with some routines to protect them, (in the style of the old TurboPower
OnGuard), but really wanted to shrink and protect the exe's, so as to make
reverse engineering a bit more difficult.

I am having some trouble getting started. I have searched the net for linksand help, but have come up blank. Any pointers on how to get going would bereally appreciated.

Thanks
Gary.


Jan 23 '06 #3
Hi Both,

Thanks for the comments, and thanks for the link Terry - I will have a look
later this afternoon. (I think obfuscation is a must in any event)

Yep, I always knew this was going to be a hard one. I kinda thought that
compressing all or part of the code in question, then at runtime
decompressing the code in memory and using the ability of c# to run code from
memory might be the way to go. That way the uncompressed code only ever
exists in memory and yet is 'runnable'.

You could control the decompression of the code from compressed to
uncompressed form via your wrapper program so providing some level of
security.

What do you think? I know the effort to do this may not be commercially
viable, but its an interesting question anyway.

Anyhow, thanks both the comments,
regards,
Gary

""TerryFei"" wrote:
Hi Gary,
Welcome to MSDN Newsgroup!

Thanks for John's reply. In addition to his comment, you also could refer
to the following article,
Title: The Increasing Need to Protect your Applications from Hackers and
Competitors
URL: http://www.codeproject.com/showcase/Dotfuscator.asp

I hope the above information is helpful for you. Thanks and have a nice day!

Best Regards,

Terry Fei [MSFT]
Microsoft Community Support
Get Secure! www.microsoft.com/security
--------------------
Thread-Topic: Writing an exe 'shrink wrapper' for .Net
thread-index: AcYdnalrgu2J2mHiTUOrdFBxTO3sxA==
X-WBNR-Posting-Host: 193.119.59.36
From: =?Utf-8?B?R2FyeSBCb25k?= <Ga***@community.nospam>
Subject: Writing an exe 'shrink wrapper' for .Net
Date: Fri, 20 Jan 2006 00:44:01 -0800
Lines: 17
Message-ID: <8F**********************************@microsoft.co m>
MIME-Version: 1.0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Newsgroups: microsoft.public.dotnet.general
NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGXA03.phx.gbl
Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.dotnet.general:186697
X-Tomcat-NG: microsoft.public.dotnet.general

Hi All,

Can anybody point me to some 'how-to' documentation, tutorials, etc as to
how to write a shrink/protect wrapper for .Net exes/dlls, (like the
Shrinkwrap product for instance).

I have got a couple of products nearly ready for sale, and have already

come
up with some routines to protect them, (in the style of the old TurboPower
OnGuard), but really wanted to shrink and protect the exe's, so as to make
reverse engineering a bit more difficult.

I am having some trouble getting started. I have searched the net for

links
and help, but have come up blank. Any pointers on how to get going would

be
really appreciated.

Thanks
Gary.


Jan 23 '06 #4
Hi Gary,
Thanks for your response. :)

Yes, this is a very interesting question. If I get any information about it
later, I'll share with you. Thanks for your understanding!

Best Regards,

Terry Fei [MSFT]
Microsoft Community Support
Get Secure! www.microsoft.com/security

--------------------
Thread-Topic: Writing an exe 'shrink wrapper' for .Net
thread-index: AcYf/lRwcnJpPJXaSyCPRmi97of2fg==
X-WBNR-Posting-Host: 193.119.59.36
From: =?Utf-8?B?R2FyeSBCb25k?= <Ga***@community.nospam>
References: <8F**********************************@microsoft.co m> <rs**************@TK2MSFTNGXA02.phx.gbl>Subject: RE: Writing an exe 'shrink wrapper' for .Net
Date: Mon, 23 Jan 2006 01:21:02 -0800
Lines: 89
Message-ID: <A8**********************************@microsoft.co m>
MIME-Version: 1.0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Newsgroups: microsoft.public.dotnet.general
NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.dotnet.general:186898
X-Tomcat-NG: microsoft.public.dotnet.general

Hi Both,

Thanks for the comments, and thanks for the link Terry - I will have a looklater this afternoon. (I think obfuscation is a must in any event)

Yep, I always knew this was going to be a hard one. I kinda thought that
compressing all or part of the code in question, then at runtime
decompressing the code in memory and using the ability of c# to run code frommemory might be the way to go. That way the uncompressed code only ever
exists in memory and yet is 'runnable'.

You could control the decompression of the code from compressed to
uncompressed form via your wrapper program so providing some level of
security.

What do you think? I know the effort to do this may not be commercially
viable, but its an interesting question anyway.

Anyhow, thanks both the comments,
regards,
Gary

""TerryFei"" wrote:
Hi Gary,
Welcome to MSDN Newsgroup!

Thanks for John's reply. In addition to his comment, you also could refer to the following article,
Title: The Increasing Need to Protect your Applications from Hackers and
Competitors
URL: http://www.codeproject.com/showcase/Dotfuscator.asp

I hope the above information is helpful for you. Thanks and have a nice day!
Best Regards,

Terry Fei [MSFT]
Microsoft Community Support
Get Secure! www.microsoft.com/security
--------------------
>Thread-Topic: Writing an exe 'shrink wrapper' for .Net
>thread-index: AcYdnalrgu2J2mHiTUOrdFBxTO3sxA==
>X-WBNR-Posting-Host: 193.119.59.36
>From: =?Utf-8?B?R2FyeSBCb25k?= <Ga***@community.nospam>
>Subject: Writing an exe 'shrink wrapper' for .Net
>Date: Fri, 20 Jan 2006 00:44:01 -0800
>Lines: 17
>Message-ID: <8F**********************************@microsoft.co m>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.dotnet.general
>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGXA03.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.dotnet.general:186697
>X-Tomcat-NG: microsoft.public.dotnet.general
>
>Hi All,
>
>Can anybody point me to some 'how-to' documentation, tutorials, etc as to >how to write a shrink/protect wrapper for .Net exes/dlls, (like the
>Shrinkwrap product for instance).
>
>I have got a couple of products nearly ready for sale, and have already

come
>up with some routines to protect them, (in the style of the old TurboPower >OnGuard), but really wanted to shrink and protect the exe's, so as to make >reverse engineering a bit more difficult.
>
>I am having some trouble getting started. I have searched the net for

links
>and help, but have come up blank. Any pointers on how to get going
would be
>really appreciated.
>
>Thanks
>Gary.
>



Jan 24 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: R Camarda | last post by:
Help, I have a database that has a data file of 2GB and a log file of 31GB. In enterprise manager, when I choose shrink it says there is 30GB of unused space. When I shrink the database, it does...
5
by: BashiraInTrouble | last post by:
Hi Friends, I have tried almost everything but I cant seem to shrink the transaction log. Executing DBCC SQLPERF(LOGSPACE) gives me this info: Database Log Size (MB) Log Space Used (%) ...
0
by: bohuge | last post by:
Hey! At the time being I'm working on a backup solution for a Qtek9090 pocketpc, which should be able to find and backup outlook data to a server, local files, messages and contact from the sim...
12
by: hallpa1 | last post by:
Hi all, I posted messages before about trying to purge many records (about 35%) of a 200Gig database. The responses gave me a lot to think about, especially regarding the indexes. But due to the...
9
by: Julien Biezemans | last post by:
Hi! Here is the problem: I'd like to restrict local filesystem stream operations to one directory just like a root jail. fopen('/file.bin') would actually open /some/path/file.bin. One goal...
3
by: Galka | last post by:
Hello Environment: Windows XP, MS Access 2003. I'd like - in a report - to save space , when there is no company data. When there is, I print out company name, address, telephone number and...
30
by: Cramer | last post by:
I've finally gotton board with TDD (test driven development) and wow is it effective! I went from sceptic to True Believer with my first effort. My question: According to the various books and...
6
by: Major Drake | last post by:
Windows 2003 64 bit sp2 + SQL Server std 32 bit sp2 compability mode 90, recovery model simple. I have about 40 Gb database where is about 98% free space (I deleted data from tables). dbcc...
0
ashitpro
by: ashitpro | last post by:
Writing System Call Wrappers in User Space. Recently I saw a post in Linux/Unix section to know the user who deleted the file in linux. Currently there is nothing in linux which could achieve...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.