473,795 Members | 2,861 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Protecting Assembly against disassembling.. .

Hi,
how can i protect a assembly against disassembling with ILDASM and
other products like that. i have a dll with some encryption methods
implemented and i dont want them to be exposed, to the outside of
the world. of cource there are restrictions like modifiers and misc.
but i dont want the assembly "disassembl ed" from someone with
"bad intentions"...

How can i protect it efficiently...?

Thanks in advance
Kerem Gümrükcü
Jul 21 '05 #1
5 1873
Kerem,

Look in this newsgroup what is written about obfucator,
When that is not enough you can as well look in the newsgroups
microsoft.visua l.basic.languag es.vb and csharp, than you get a multiple of
these answers.

http://groups-beta.google.com/group/...rch+this+group

I hope this helps,

Cor
Jul 21 '05 #2
Use the CryptoAPI for your encryption needs and use modern encryption
techniques that don't place the key into the code.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Kerem Gümrükcü" <ka*******@hotm ail.com> wrote in message
news:eD******** ******@TK2MSFTN GP09.phx.gbl...
Hi,
how can i protect a assembly against disassembling with ILDASM and
other products like that. i have a dll with some encryption methods
implemented and i dont want them to be exposed, to the outside of
the world. of cource there are restrictions like modifiers and misc.
but i dont want the assembly "disassembl ed" from someone with
"bad intentions"...

How can i protect it efficiently...?

Thanks in advance
Kerem Gümrükcü

Jul 21 '05 #3
Hi,

i dont place any keys inside my code, this would be stupid and foolish.
key and/or iv are placed in memory and you cant avoid this!
The point is to protect my code against disassembling with ldasm and
other stuff. but the major part of the code has already been rewritten
to cpp...we cant use microsofts crypto api, because the code must be
portable to other plattforms like mono-project or ansi c++ compilers...
Regards
Kerem Gümrükcü
Jul 21 '05 #4
Sorry for the misunderstandin g. Your original post appeared to say that the
reason you wanted to avoid ildasm was to prevent exposure of your encryption
methods. Most encryption/decryption code is public knowledge and often open
source, (all the most secure ones are, anyway), so I was assuming that you
had rolled your own encryption method and that your code wasn't
sophisticated, and that you were concerned enough to hide it.

It appears that I misread your original post.

Note: there still has to be a key somewhere. It's either in your code or
it's not. If it is not, that is better. Since you were so concerned about
ILDASM, I assumed that it was in your code. Your follow-up statement is
intriguing. If you have found a way to encrypt and decrypt securely without
using a private or symmetric key that has to be stored somewhere, I'd love
to hear about it.

If your app has been rewritten to cpp this quickly, then this discussion
(about ILDASM) is moot. C++ is a fine language and runs well on many
different platforms.

Good Luck.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Kerem Gümrükcü" <ka*******@hotm ail.com> wrote in message
news:Os******** ******@tk2msftn gp13.phx.gbl...
Hi,

i dont place any keys inside my code, this would be stupid and foolish.
key and/or iv are placed in memory and you cant avoid this!
The point is to protect my code against disassembling with ldasm and
other stuff. but the major part of the code has already been rewritten
to cpp...we cant use microsofts crypto api, because the code must be
portable to other plattforms like mono-project or ansi c++ compilers...
Regards
Kerem Gümrükcü

Jul 21 '05 #5
Try to use Spices.Net Obfuscator (http://spices.9rays.net) with antiILDASM =
True or Complete to prevent your assembly from opening and full
disassembling by ILDASM.
Also usage of this option crashes some decompilers.

--
Best regards,
Al Ponomarev

Jul 21 '05 #6

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

Similar topics

18
5732
by: Alan Sheehan | last post by:
Hi pythonistas, I am looking for methods of deploying applications with end users so that the python code is tamper proof. What are my options ? I understand I can supply .pyc or .pyo files but they can easily be reverse engineered I am told. Is it possible to load the scripts from zip files where the zip files are password protected ?
6
1779
by: Nate A | last post by:
I am at the beginning stages of writing a massive database-connected business management application using the .NET framework and am becoming worried about the security of the application upon completion. I have recently become aware of the ease at which a .NET assembly can be disassembled into its easily readable, underlying CLI code. I can see that it would not be difficult for a malicious user to disassemble, modify, and then...
5
1901
by: John | last post by:
Dear all, I've got a security question that is so difficult that "maybe" there will be no answer for it. It's regarding protecting asp code. I did write some asp code, that I sell to companies, to control several dbases. Because I sell the code, it's not that they own the code and can sell it further or change the code, or add some extra code to it. It's like I'm selling a program like Excel and that they can use the program, not...
4
1862
by: Reinhold Schalk | last post by:
Hello, somewhere i've read that using strong names does assure two things: 1. Assure that the content of the assembly is not modified (that's ok in my opinion) 2. Assure that the assembly is really from the "fabricator" (?) If these two point are correct (i'm not sure), i have a problem with point 2. To assure the authentity of the fabricator, the public key (which is a part of the manifest) has to be checked against a certificate.
2
3277
by: Gaz | last post by:
....and recompiling it again Hi all, I've got an Assembly DLL and associated .NetModules and want to amend a function in one of the .NetModules I've used ILDASM to decompile the .NetModules into IL so I can modify the code but am having trouble trying to compile up the .NetModule and effectively renew the Assembly.
5
3073
by: Kerem Gümrükcü | last post by:
Hi, how can i protect a assembly against disassembling with ILDASM and other products like that. i have a dll with some encryption methods implemented and i dont want them to be exposed, to the outside of the world. of cource there are restrictions like modifiers and misc. but i dont want the assembly "disassembled" from someone with "bad intentions"...
3
1452
by: RossettoeCioccolato | last post by:
The version of dumpbin that ships with VC8 will disassemble x86 code. Is there a version of dumpbin that ships with VC8 that is able to disassemble AMD64 object code? Or is there some other solution. I have compiled both x86 and x64 versions of a binary using VC8 and I need to see, in both cases, whether the resulting object code is what I expected. Regards, George.
4
290
by: Anthony Bouch | last post by:
I'm building an n-tier application with data access, application and UI layers in separate projects and hence separate assemblies. MyProjectUI.dll MyProjectApp.dll MyProjectDataAccess.dll etc... The application will eventually be publicly available for download and installed on end-users machines.
22
2629
by: flit | last post by:
Hello All, I have a hard question, every time I look for this answer its get out from the technical domain and goes on in the moral/social domain. First, I live in third world with bad gov., bad education, bad police and a lot of taxes and bills to pay, and yes I live in a democratic "state" (corrupt, but democratic). So please, don't try to convince me about the social / economical / open source / give to all / be open / all people are...
0
9673
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9522
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10216
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10165
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,...
0
9044
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, 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...
1
7543
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 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...
0
6783
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();...
0
5437
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...
0
5565
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.