Click here to Skip to main content
15,885,309 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I'm 100% sure that it's a visual studio program because of the default form's background color, but the question is how can I know which program it's made of.

I think there's a way to figure it out, because back to school I remember my friend decomposing a program and he said it's made in visual basic, and he showed me it's source code!

there must be a way to figure it out, can or can't it be done ?
Posted

Hello,

No it is not possible to be 100% sure...

C# and Vb.Net or any .Net compliant language once compiled in an assembly or an executable are in fact translated in CIL (Common Intermediary Language), this is the language that the .Net framework (or Mono) will use to execute the application.

You can use a tool such as Reflector to decompile a .Net assembly and present the code in C#, Vb.Net, and a variety of .net programming languages, but that won't tell you what language was use to write the software.

You can look at clues in the code, but it's not really 100% sure. For example if you find a reference to Microsoft.VisualBasic then maybe VB.net was the tool used, but there is no guaranty.

Conclusion is Reflector will show you some code but not the original code! don't rely on it.

Valery.
 
Share this answer
 
Comments
theanil 30-Jun-11 16:37pm    
sir,
But i got the complete code i have tried several times it shows the exact code.
theanil 30-Jun-11 16:39pm    
And for knowing the lang we can just check how the packages are added in prog
Valery Possoz 30-Jun-11 17:04pm    
On the Reflector toolbar there is a dropdown where you can select the .Net language you want to use for the decompiled code.By default it is set to C#, if you select another language you will see the code in this other language.
As far as I know, there is no obvious and reliable way to tell what is the original language, other than vaguely guessing.
What do you mean when you say "check how the packages are added"? Do you mean the references? that is independent from the programming language.
Adding to what has already been said:
Downloading Reflector (which you now have to pay for) will not help all that much. Yes, it does show you the source code, but no it will not tell you in which language it was originally programmed.
And actually it does not really matter when dealing with .NET (at least VB and C#), since all .NET languages will compile into the same language. This also makes it possible for applications such as Reflector (or the free of charge JustDecompile) to decompile any .NET program into VB or C#. But it won't tell you if the original code was coded in C# or VB.
They are great tools nevertheless though :)

How to disassemble non-.NET libraries I do not know. But surely Google could provide all the help you need ;)
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 2-Jul-11 2:19am    
Naerling, I can give you the very thoughtful answer on how to disassemble non-.NET executables: by using a disassembler! :-)
What, you never used one? If you want to understand what the code does and modify it, this is not a very easy activity, anyway.
--SA
Sander Rossel 2-Jul-11 3:24am    
Nope, I have never used a disassembler other than JustDecompile and Reflector. But so far I never needed to decompile anything else than .NET ;)
Thanks for the tip though! I will keep it in mind for when the time comes :)
Sergey Alexandrovich Kryukov 3-Jul-11 2:12am    
You're very welcome. :-)
--SA
yes there is a way to extract the code just download a application called reflector it will extract the code back from the exe or dll file...
An awesome application.


its easy to know in which language the code is written by looking at how the package or namespace is inserted
 
Share this answer
 
v2
Comments
fjdiewornncalwe 30-Jun-11 22:46pm    
OPs answer to comment... Thanks but how I'm gonna know which language I'm dealing with?
for example, their are lots of similarities between C# and J# so I can't just guess by taking a look in the source code.
Does that reflector application tell you what language you're dealing with?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900