473,392 Members | 1,367 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,392 software developers and data experts.

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 "disassembled" from someone with
"bad intentions"...

How can i protect it efficiently...?

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

Look in this newsgroup what is written about obfucator,
When that is not enough you can as well look in the newsgroups
microsoft.visual.basic.languages.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*******@hotmail.com> wrote in message
news:eD**************@TK2MSFTNGP09.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 "disassembled" 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 misunderstanding. 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*******@hotmail.com> wrote in message
news:Os**************@tk2msftngp13.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
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...
6
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...
5
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...
4
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...
2
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...
5
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...
3
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...
4
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 ...
22
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...
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: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
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
Oralloy
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,...
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...

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.