|
I understand this may be a question all of you get alot, but I can't find any information on comparisons of each language. My problem is, recently I built a large program that I was very proud of in VB.NET. The program interfaced with AutoCAD and I wanted to get input on it from an AutoCAD discussion group. Unfortunately, I didn't know about Reflector and other decompiling programs, so everyone could see my code. While the code I used to interface with AutoCAD is not a secret on the internet, I still was upset that someone could have free-reign to my source code.
Now I am looking into building something different. A database program. In database standards it will be simple client side program using MDB databases. ADO.NET seems the new and simple option going well with VB.NET, but I also found source code for a mixed mode program, using MFC and ADO.NET.
I am curious about these decompiling programs for .NET. It seems really easy to decompile .NET programs but I don't hear much about decompiling C++ programs.
-Is compiled C++ really that secure?
-Can someone use a decompiling program and produce a Visual Studio solution from an .NET exe?
-What would you make this decision based on?
It is so frustrating that Microsoft has made an easy to program framework, but then made it easy for someone to decompile.
Sorry for the long post. Your help is greatly appreciated!
David Hovey
Phoenix, Arizona
|
|
|
|
|
David Hovey wrote: It is so frustrating that Microsoft has made an easy to program framework, but then made it easy for someone to decompile.
That is why there are programs called obfuscators out there.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
I read a book about this and this is basically what they said.
This problem exist with any interpretted/bytecode languages (vb.net, c#, java, alot of the scripting languages, and also .net versions of normally compiled languages) because they aren't compiled to machine code and are still in a relatively high level form.
An obfuscator will make things harder for a person trying to reverse engineer but c++ (assuming you're not using managed code) will probably be harder since it is reduced to machine code and the high level information is stripped out. There are some decompilers for compiled languages but they can only reconstruct part of the code because compiler optimizations tend to change the structure of your code plus some information is impossible to reconstruct.
In theory anything can be reversed but unless you're doing something really revolutionary that has never been done before it probably is not going to be worth someones time to try and reconstruct your obfuscated or compiled code. It would probably take less time for them to just write it themselves.
|
|
|
|
|
Paul and Mark,
Thanks for your help. I have heard of obfuscator's before but wasn't aware of their purpose. I found a freeware version called Skater that seems to work the best. After using the program I checked my compiled program with Reflector and I can't even make out what the original purpose of a function was.
I tried using the Community Edition of the program that comes with Visual Studio, but it seemed to only rename local variables. I was amazed how expensive the few obfuscator programs I looked at are.
|
|
|
|
|
David Hovey wrote: I found a freeware version called Skater that seems to work the best.
I've used Skater before and it is pretty good for the price.
David Hovey wrote: Reflector
It is a good tool and crashes when trying to reverse compile any Skater obfuscated code.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
Is it possible to disable the contextmenustrip highlighting while selecting certain menu items?
For example:
UnDo (Blue highlight)
ReDo (Blue highlight)
Cut (disable highlight)
Copy (disable highlight)
Paste (disable highlight)
Any suggestions, ideas, or 'constructive criticism' are always welcome.
|
|
|
|
|
Hi all
I need to write binary information to the header of a bitmap file which is supposed to follow a standard filetype layout but doesn't. To be more clear: due to official specification, the image data starts at byte 8.192 while in the file to repair it starts much earlier, so that the (required) full header information doesn't fit... writing my full "standard header", as I intend to, would therefore overwrite image data.
Is there a way to insert the missing number of bytes into the file with VB?
Thank you for ideas
Michael
|
|
|
|
|
AFAIK, you cannot directly insert data in the middle of a file. Perhaps you should read the data from existing file, modify it the way you want and write to another. After that you can replace the old file with the new one.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
Thanks for your quick answer, Mika. I'll go the way you suggest.
|
|
|
|
|
You're welcome.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
Hey ,
I want to create a datarelation with 2 primary keys (or more) between two tables in a dataset.
how can I do it?
Thanks in advance
|
|
|
|
|
|
Basically I want to have a form where a context menu strip is displayed permanently. The menu would be displayed at all times docked to one side of a WinForm. The user can use all other controls on the form and the menu would remain open and visible for use whenever.
I did say it was an odd question
Would I extend the contextmenustrip and modify the visible property to never = false and prevent the hide method from firing? Would there be any performance costs in doing so since the menu would always be trying to close itself?
Any suggestions on how to accomplish this type of functionality?
Any suggestions, ideas, or 'constructive criticism' are always welcome.
|
|
|
|
|
Why not use a normal menu. I thought the only real difference is that the context menu is attached to a control and is available on the left mouse click. Wrong tool maybe!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Found I can do what I'm doing with the contextmenustrip. Thanks anyways!
Any suggestions, ideas, or 'constructive criticism' are always welcome.
modified on Sunday, October 12, 2008 8:50 AM
|
|
|
|
|
I have an application in which i need to search for the files in a directory and list them in a listbox. Could any body tell how to do this using vb.net 2005. I am new to vb.net.
Thanks in Advance.
|
|
|
|
|
hi,
use following statements for get files from particular directory
If Directory.Exists(Application.StartupPath & "\ABC") Then<br />
Dim ob As New DirectoryInfo(Application.StartupPath & "\ABC")<br />
<br />
Dim file_infos() As FileInfo<br />
file_infos = ob.GetFiles()<br />
<br />
For Each file_info As FileInfo In file_infos<br />
Listbox1.Items.Add(file_info.FullName)<br />
Next file_info<br />
End If
hope this helps
|
|
|
|
|
Thanks Rupesh for your reply. It realy helped. Thanks once again.
Sekhar
|
|
|
|
|
hello everyone...
please give me some hint how can i load cv or resume with any format in a database using vb application or using any language..
thank you in advance...
jyn
|
|
|
|
|
If you are using SQL Server 2005 or higher then put it in a varbinary(max) column.
|
|
|
|
|
I am using ORACLE 10G...tnx for the reply...
jyn
|
|
|
|
|
In Oracle use Blob as datatype at database and OracleLob class to handle it in the application.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
thanks mika for your reply...
i'll try it..
jyn
|
|
|
|
|
thanks for the reply...
but what i need is to load not the whole file.
for example..when i upload a cv or resume.. i can save only the name and address of the person.
jyn
|
|
|
|
|
Now I don't understand. Do you want to store in the database:
- only some information about the CV
- or the whole document as binary information.
If it's the first one, you set up a table containing fields for each information (name, address etc) and then extract the info from the CV. If you want to understand the CV programmatically, there is no general way to do this.
If you want to store the whole document, use LOBs as I suggested. Refer Oracle LOBs[^] for more info.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|