473,748 Members | 2,223 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How do I remove MSIL from my native executable?

Hi all,

Playing VS2005 was more fun than Doom III, and I do enjoy my games. Anyway,
it's back to work for me and I'm bogged down in my familiar VB6 stomping
grounds because I don't want my secrets exposed to casual inspection via
MSIL. VB6 doesn't do this to me, whereas, if I read Balena correctly, VB2005
always will.

The one single and only issue holding up my migration is this matter of IP
security, and I'm sorry folks but no variation on MSIL ("obfuscated " or
otherwise) will cut it for me. What I want is to compile to true native code
with NO MSIL whatsoever. Is this possible to achieve? If so how is it done?

Please don't take this the wrong way, but this is a technical query, not a
product query. I paid more than a grand for VS2005 on the expectation that
I'd get a real compiler, and I don't intend to spend another cent,
especially for a feature that comes for FREE with old and "obsolete" VB6! So
please don't tell me to go spend another grand on "product X", because I
already feel that I didn't get what I paid for in the first place.

All I want is location and/or specification of the executable features that
will allow me to remove any and all MSIL from the binary of a VS2005
compiled "native" executable without disabling it. That'd be a cinch for
those of you who know 8086 & x64 architecture...

Anyway, Thanks in advance of your assistance...

--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com
Sep 5 '07 #1
10 1932
The answer is simple,

AFAIK you can only generate with Visual Studio to the native dotNet code.
Not to the native OS code. However as there has a runtime to be installed,
your program is never completely build in true machine code. (The programs
would be enourmous and terrible slow).

As far as I know can VB6 programs (or Java or whatever) not run without a
runtime, therefore you have to make your programs with Intel Assembler or by
instance true C.

One of the advantages of dotNet is that the runtime is a part of the Net
framework (in fact a windows version independable OS extention) and
therefore programs build in whatever Windows dotNet languages will run on
that. There is as well a (Mono) framework for Linux, however that needs the
Mono software to build applications.

Cor

"Number 11950 - GPEMC! Replace number with 11950" <nu****@fieldcr aft.biz>
schreef in bericht news:46******** *************** @news.optusnet. com.au...
Hi all,

Playing VS2005 was more fun than Doom III, and I do enjoy my games.
Anyway,
it's back to work for me and I'm bogged down in my familiar VB6 stomping
grounds because I don't want my secrets exposed to casual inspection via
MSIL. VB6 doesn't do this to me, whereas, if I read Balena correctly,
VB2005
always will.

The one single and only issue holding up my migration is this matter of IP
security, and I'm sorry folks but no variation on MSIL ("obfuscated " or
otherwise) will cut it for me. What I want is to compile to true native
code
with NO MSIL whatsoever. Is this possible to achieve? If so how is it
done?

Please don't take this the wrong way, but this is a technical query, not a
product query. I paid more than a grand for VS2005 on the expectation that
I'd get a real compiler, and I don't intend to spend another cent,
especially for a feature that comes for FREE with old and "obsolete" VB6!
So
please don't tell me to go spend another grand on "product X", because I
already feel that I didn't get what I paid for in the first place.

All I want is location and/or specification of the executable features
that
will allow me to remove any and all MSIL from the binary of a VS2005
compiled "native" executable without disabling it. That'd be a cinch for
those of you who know 8086 & x64 architecture...

Anyway, Thanks in advance of your assistance...

--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com

Sep 5 '07 #2
"Cor Ligthert[MVP]" <no************ @planet.nlwrote in message
news:D0******** *************** ***********@mic rosoft.com...
The answer is simple,

AFAIK you can only generate with Visual Studio to the native dotNet code.
Not to the native OS code. However as there has a runtime to be installed,
your program is never completely build in true machine code. (The programs
would be enourmous and terrible slow).
Without IP security at least equivalent to or better than that of VB6,
VB2005 has no advantages, period. It's like an office application suite that
can neither save nor export to standard file formats - pretend software -
and we've all seen plenty of that junk around the traps.

If I read Balena correctly, the "native" executable by VB2005 has two parts.
The first is the MSIL which it can run without because the second part is
not MSIL and this does all the work. So I'm looking for information on how
these two parts are specified.

How do I remove that first MSIL part of the executable to the maximum extent
possible to make it as difficult to decompile as a VB6 application...?

How is this done without paying twice for .NET?
I cannot migrate without an answer to this question.

Thanks in advance...

--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com
Sep 5 '07 #3
There is no way to bypass MSIL with managed code. Forget it. There is a
built in obfuscator in VS 2005. Also, Desaware sells an online book for
about $60?? written by Dan Appleman about obfuscation. The book provides a
link to an open source obfuscator created by Desaware.
Sep 5 '07 #4
Cor, would you mind taking a look at my question on Word Automation
Compatability? Please...

Sep 5 '07 #5
"Charlie" <cfarrier at charlesfarriers oftware.comwrot e in message
news:FD******** *************** ***********@mic rosoft.com...
There is no way to bypass MSIL with managed code. Forget it.
What is "bypass MSIL with managed code"?
There is a
built in obfuscator in VS 2005. Also, Desaware sells an online book for
about $60?? written by Dan Appleman about obfuscation. The book provides
a
link to an open source obfuscator created by Desaware.
Ok, done some hunting. According to:
http://www.improve.dk/articles/dotne...g-dotnet-code/

by compiling to a native dll and using an external reference from the
executable, source code buried in the dll can be protected...?

Is this really true?
I thought VB2005 compiled DLLs to MSIL as well, or have I misread something?

Thanks in Advance...
--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com
Sep 5 '07 #6


"Number 11950 - GPEMC! Replace number wit" wrote:
"Charlie" wrote in message
news:FD******** *************** ***********@mic rosoft.com...
There is no way to bypass MSIL with managed code. Forget it.

What is "bypass MSIL with managed code"?
With managed code...VB.net, C#.net, etc, the code, whether dll or exe, will
always be compiled to MSIL. When that file is run, the JIT compiler compiles
to native.
C++ compiles directly to native.
There is a
built in obfuscator in VS 2005. Also, Desaware sells an online book for
about $60?? written by Dan Appleman about obfuscation. The book provides
a
link to an open source obfuscator created by Desaware.

Ok, done some hunting. According to:
http://www.improve.dk/articles/dotne...g-dotnet-code/

by compiling to a native dll and using an external reference from the
executable, source code buried in the dll can be protected...?

Is this really true?
I thought VB2005 compiled DLLs to MSIL as well, or have I misread something?
The article you cited suggested writing the code you want to protect in C++,
which compiles to native and therefore does not decompile to MSIL, which
makes it more difficult to reverse engineer. C++ is part of VS, so be my
guest.

The article also suggested obfuscation. Dotfuscator comes free with VS 2003
and 2005, but it is a limited version. The full blown version is $$$pricey.

This link covers a lot of the obfuscators on the market:

http://www.howtoselectguides.com/dotnet/obfuscators/

They mention xenocode, but because xenocode did not reply to their request
to submit their product, it did not get reviewed. You might want to check
xenocode's website to see what they offer...Look for their discount code if
you decide to buy their product. If the discount code's s not available now,
it is usually offered around major U.S. holidays.

>
Thanks in Advance...
--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com
Sep 5 '07 #7
"Charlie" <c2farrATyahoo. comwrote in message
news:91******** *************** ***********@mic rosoft.com...
>

"Number 11950 - GPEMC! Replace number wit" wrote:
[SNIP]
by compiling to a native dll and using an external reference from the
executable, source code buried in the dll can be protected...?

Is this really true?
I thought VB2005 compiled DLLs to MSIL as well, or have I misread
something?
>
The article you cited suggested writing the code you want to protect in
C++,
which compiles to native and therefore does not decompile to MSIL, which
makes it more difficult to reverse engineer. C++ is part of VS, so be my
guest.
[SNIP]

So what happens if I compile VB to a DLL & externally reference it? Are you
telling me that VB can't reference an external DLL or compile to MSIL-free
DLL while VC++ can? I thought VB could do everything all the other languages
in VS could do...???

--
Timothy Casey GPEMC! >11950 is the nu****@fieldcra ft.com.au 2email
Terms & conditions apply. See www.fieldcraft.biz/GPEMC
www.fieldcraft.biz & www.speed-reading-comprehension.com
www.geologist-1011.com & www.web-design-1011.com
Sep 5 '07 #8
Number 11950 - GPEMC! Replace number with 11950 schreef:
Hi all,

Playing VS2005 was more fun than Doom III, and I do enjoy my games. Anyway,
it's back to work for me and I'm bogged down in my familiar VB6 stomping
grounds because I don't want my secrets exposed to casual inspection via
MSIL. VB6 doesn't do this to me, whereas, if I read Balena correctly, VB2005
always will.

The one single and only issue holding up my migration is this matter of IP
security, and I'm sorry folks but no variation on MSIL ("obfuscated " or
otherwise) will cut it for me. What I want is to compile to true native code
with NO MSIL whatsoever. Is this possible to achieve? If so how is it done?

Please don't take this the wrong way, but this is a technical query, not a
product query. I paid more than a grand for VS2005 on the expectation that
I'd get a real compiler, and I don't intend to spend another cent,
especially for a feature that comes for FREE with old and "obsolete" VB6! So
please don't tell me to go spend another grand on "product X", because I
already feel that I didn't get what I paid for in the first place.

All I want is location and/or specification of the executable features that
will allow me to remove any and all MSIL from the binary of a VS2005
compiled "native" executable without disabling it. That'd be a cinch for
those of you who know 8086 & x64 architecture...

Anyway, Thanks in advance of your assistance...
AFAIK you can't remove it, but you could make it inaccessable by
wrapping it up in a security envelope like HASP. But that would require
more money.
--
Rinze van Huizen
C-Services Holland b.v
Sep 5 '07 #9
Now if eziriz can pull the plug on MSIL, what is the problem
with anyone else doing just that?
Perhaps you don't understand - there may be a way to "pull the plug on
MSIL" but apparently we here don't know how to do it - and most of us
don't care about it. If you really want this functionality pay eziriz
the $169 licensing fee for it - or take the time to figure it out
yourself. We're not here to develop a solution for you because you
feel jipped by Microsoft. Sorry for being rude, but you seem to be
getting upset at people who have no control over a feature of the
software.

Also, if you don't mind me asking, what type of software are you
creating that must be so secure? Don't take this the wrong way, but is
the software you are writing even worth the effort of disassembling,
rewriting, and redistributing?

Thanks,

Seth Rowe
Sep 5 '07 #10

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

Similar topics

5
5313
by: Dan | last post by:
Hi Gurus I got a very basic question to ask: When a .NET exe (MSIL) is first run, the JIT-compiler will converts the IL into native codes so that it can executes on the current machine. my question is: 1) where does the native codes reside? is it saved somewhere in the hard drive or it will only resides in the memory? or does the JIT compiler writes
14
2777
by: Aaron | last post by:
I know when you compile a .NET app c# or vb the code is converted to MSIL. I was just wondering is it 100% reversible? If so, does that mean someone can steal all your source code just by decopiling the dll or exe? Aaron
3
3392
by: NigelW | last post by:
Clarification needed please. If I compile a C++ program with the /clr option inpsection of the resulting assembly with ILDASM shows MSIL even for methods in classes for which I have not specified garbage collection with __gc. Am I correct in thinking there is really two kinds of managed (i.e. MSIL) code from C++, that which uses garbage collection and that which does not?
1
1821
by: John Doe | last post by:
Hi all, I have a lot of confusion about what this runtime environment is. When I write an application with unmanaged code and unmanaged data, can I compile it to the MSIL, or it will compile mandatorily to the x86 instruction set?
7
1528
by: Daniel Dünker | last post by:
Hello. I was screwing around a bit with the exe-files produced by .Net Compilers and trying to understand how they work... so i ended up at the 6 Byte stub, which calls the _CorExeMain in mscoree.dll ... so i thought "Hey, thats how it tells the Framework, that it shall load it as .Net programm...". So i build some native code into it which should have been executed before the .Net programm itself gets loaded. Trying that on a...
74
16015
by: Zytan | last post by:
I have a struct constructor to initialize all of my private (or public readonly) fields. There still exists the default constructor that sets them all to zero. Is there a way to remove the creation of this implicit default constructor, to force the creation of a struct via my constructor only? Zytan
6
6035
by: jackie | last post by:
when i try to use msil disassembler to disassemble the .exe file generated by vc++2005,it says "has no valid CLR header",what does that mean?? thx for your help in advance..
3
2952
by: Tony Johansson | last post by:
Hello! I'm reading in a book and it says the following. "MSIL(Microsoft Intermediate Language) generated by all the .NET language compilers. This is a common standard for the binary code generated by the compilers and is what is executed by the CLR" Now to my question about the text.
2
1646
by: Stefan Hoffmann | last post by:
hi @all, I have these two getter: public ArrayList I1 { get { if (i1 == null) {
0
8983
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
9528
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, 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...
1
9310
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
9236
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8235
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...
0
6072
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
4592
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
4863
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2774
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.