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. 4 1768
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).
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: AcYdnalrgu2J2mH iTUOrdFBxTO3sxA == X-WBNR-Posting-Host: 193.119.59.36 From: =?Utf-8?B?R2FyeSBCb25 k?= <Ga***@communit y.nospam> Subject: Writing an exe 'shrink wrapper' for .Net Date: Fri, 20 Jan 2006 00:44:01 -0800 Lines: 17 Message-ID: <8F************ *************** *******@microso ft.com> 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.publi c.dotnet.genera l NNTP-Posting-Host: TK2MSFTNGXA03.p hx.gbl 10.40.2.250 Path: TK2MSFTNGXA02.p hx.gbl!TK2MSFTN GP08.phx.gbl!TK 2MSFTNGXA03.phx .gbl Xref: TK2MSFTNGXA02.p hx.gbl microsoft.publi c.dotnet.genera l:186697 X-Tomcat-NG: microsoft.publi c.dotnet.genera l
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.
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: AcYdnalrgu2J2mH iTUOrdFBxTO3sxA == X-WBNR-Posting-Host: 193.119.59.36 From: =?Utf-8?B?R2FyeSBCb25 k?= <Ga***@communit y.nospam> Subject: Writing an exe 'shrink wrapper' for .Net Date: Fri, 20 Jan 2006 00:44:01 -0800 Lines: 17 Message-ID: <8F************ *************** *******@microso ft.com> 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.publi c.dotnet.genera l NNTP-Posting-Host: TK2MSFTNGXA03.p hx.gbl 10.40.2.250 Path: TK2MSFTNGXA02.p hx.gbl!TK2MSFTN GP08.phx.gbl!TK 2MSFTNGXA03.phx .gbl Xref: TK2MSFTNGXA02.p hx.gbl microsoft.publi c.dotnet.genera l:186697 X-Tomcat-NG: microsoft.publi c.dotnet.genera l
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.
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/lRwcnJpPJXaSyCP Rmi97of2fg== X-WBNR-Posting-Host: 193.119.59.36 From: =?Utf-8?B?R2FyeSBCb25 k?= <Ga***@communit y.nospam> References: <8F************ *************** *******@microso ft.com>
<rs************ **@TK2MSFTNGXA0 2.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************ *************** *******@microso ft.com> 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.publi c.dotnet.genera l NNTP-Posting-Host: TK2MSFTNGXA03.p hx.gbl 10.40.2.250 Path: TK2MSFTNGXA02.p hx.gbl!TK2MSFTN GXA03.phx.gbl Xref: TK2MSFTNGXA02.p hx.gbl microsoft.publi c.dotnet.genera l:186898 X-Tomcat-NG: microsoft.publi c.dotnet.genera l
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 decompressin g 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: AcYdnalrgu2J2mH iTUOrdFBxTO3sxA == >X-WBNR-Posting-Host: 193.119.59.36 >From: =?Utf-8?B?R2FyeSBCb25 k?= <Ga***@communit y.nospam> >Subject: Writing an exe 'shrink wrapper' for .Net >Date: Fri, 20 Jan 2006 00:44:01 -0800 >Lines: 17 >Message-ID: <8F************ *************** *******@microso ft.com> >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.publi c.dotnet.genera l >NNTP-Posting-Host: TK2MSFTNGXA03.p hx.gbl 10.40.2.250 >Path: TK2MSFTNGXA02.p hx.gbl!TK2MSFTN GP08.phx.gbl!TK 2MSFTNGXA03.phx .gbl >Xref: TK2MSFTNGXA02.p hx.gbl microsoft.publi c.dotnet.genera l:186697 >X-Tomcat-NG: microsoft.publi c.dotnet.genera l > >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. >
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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 not shrink,
(however it says it has completed).
I've done a complete backup, tried shrink again, no dice. I then
backed up the database (which the backup was 1.9GB), deleted the
database and made a new database with 2,048MB for the data and same...
|
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 (%) Status
MY_eems 368.49219 16.034182 0
I made a complete backup of the database and transaction log and then
executed this statement:
DBCC SHRINKFILE (MYeems_log, 1)
|
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 card (and backup
them to a server as well) all written in C#. So I'm making a wrapper
for the sim manager api. In order to use it's functions in my device
application, I've used platform invoke method, to acces the simmanager
functions from...
|
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 short windows that I
have to run in, manipulating the indexes is not an option.
But this leads to another question. When all of this is done, we will
need to shrink the db to reclaim the space. We will also need to
rebuild the indexes, but...
|
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 of this behavior is to prevent Xinclude instructions to point
to "out of application directory" files when processed by the XSLT
processor, among other things.
| |
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
mobile - 4 lines. When there is no company data, these 4 lines are
made invisible by the following code:
Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As
|
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 articles I have read about
TDD, a good unit test does not rely on the database or other such
external/environmental conditions. More generally, a good unit test is
atomic and makes as few assumptions about its runtime environment as
possible. But...
|
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 checkdb -OK.
dbcc reindex all tables -OK
Shrink database (with reorganize and release unused pace) -no any affets,
|
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 this. There are certain tools which profiles the activities on file system, but none of these provides the particular user information. Main task for all these tools to check the performance of the system.
First I thought why not to hook the unlink...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
| |
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |