DEVELOP > c-Plus-Plus > Is it possible to find in what language a dll has been programmed?
| Topic: |
DEVELOP > c-Plus-Plus |
| User: |
"Santi" |
| Date: |
12 Jul 2004 03:36:41 AM |
| Object: |
Is it possible to find in what language a dll has been programmed? |
Hi,
Is there anyway to find if a dll or exe has been compiled from C++ or Delphi
or whatever language?
.
|
|
| User: "Le Chaud Lapin" |
|
| Title: Re: Is it possible to find in what language a dll has been programmed? |
13 Jul 2004 03:51:19 AM |
|
|
"Santi" <n@s.e> wrote in message news:<cctidk$35b$1@nsnmrro2-gest.nuria.telefonica-data.net>...
Hi,
Is there anyway to find if a dll or exe has been compiled from C++ or Delphi
or whatever language?
As everyone else has said, no. However, depending on how desperate
you are, there are some ways of gaining a statistical indication:
In the absence of function type qualifiers (_declspec, etc) the
calling convention is determined by the language. In C, caller pushes
arguments, caller, pops. In Pascal, the caller pushes, but the callee
pops. Naturally, you would have to sample many functions in the EXE
to gain some certainty about the language. There is also the matter
of virtual functions. C++ has a distinct sequences of instructions
for accessing a pointer in the virtual function table. This sequence
might be different from other OO languagues.
If you pick 4 or 5 things to check for, then you could derive
stochastic answer to your question. Do not try to do this
programmatically, as you will discover that there no such thing as a
quick-and-dirty disassembler.
-Chaud Lapin-
.
|
|
|
| User: "Howard" |
|
| Title: [OT] name |
14 Jul 2004 03:43:22 PM |
|
|
"Le Chaud Lapin" <unoriginal_username@yahoo.com> wrote in message
-Chaud Lapin-
Did you know your name is "(The) heat rabbit"? :-)
If you were trying for "(The) hot rabbit", that would be "(Le) lapin chaud".
Backwards the French everything write.
:-)
-Howard
.
|
|
|
| User: "Peter van Merkerk" |
|
| Title: Re: [OT] name |
14 Jul 2004 05:27:49 PM |
|
|
Howard wrote:
"Le Chaud Lapin" <unoriginal_username@yahoo.com> wrote in message
-Chaud Lapin-
Did you know your name is "(The) heat rabbit"? :-)
If you were trying for "(The) hot rabbit", that would be "(Le) lapin chaud".
Backwards the French everything write.
Not everything, there are exceptions like grand, petit, jeune, joli,
beau, mauvais, nouveau, autre, vieux...etc which should be put in front
of the noun.
If you think C++ is a difficult language try learning french!
--
Peter van Merkerk
peter.van.merkerk(at)dse.nl
.
|
|
|
| User: "Duane Hebert" |
|
| Title: Re: [OT] name |
14 Jul 2004 07:19:26 PM |
|
|
"Peter van Merkerk" <merkerk@deadspam.com> wrote in message news:2llqefFdg48dU1@uni-berlin.de...
Howard wrote:
"Le Chaud Lapin" <unoriginal_username@yahoo.com> wrote in message
-Chaud Lapin-
Did you know your name is "(The) heat rabbit"? :-)
In Quebec it might be drunk rabbit or horny rabbit...
.
|
|
|
|
|
| User: "rossum" |
|
| Title: Re: [OT] name |
14 Jul 2004 05:08:18 PM |
|
|
On Wed, 14 Jul 2004 20:43:22 GMT, "Howard" <alicebt@hotmail.com>
wrote:
"Le Chaud Lapin" <unoriginal_username@yahoo.com> wrote in message
-Chaud Lapin-
Did you know your name is "(The) heat rabbit"? :-)
If you were trying for "(The) hot rabbit", that would be "(Le) lapin chaud".
Backwards the French everything write.
Which is why they call NATO OTAN.
rossum
:-)
-Howard
--
The Ultimate Truth is that there is no Ultimate Truth
.
|
|
|
|
|
| User: "Socket" |
|
| Title: Re: Is it possible to find in what language a dll has been programmed? |
13 Jul 2004 11:54:27 PM |
|
|
I agree with Chaud Lapin
But beside compiler specific of code generation,
sometime there is possibility to differ 2 compilers based at
register, register code of operations.
All register, register 80x86 commands (such as MOV al,bl CMP edx,ebx)
may be presented by 2 set of codes, for example:
31C0 XOR EAX,EAX
33C0 XOR EAX,EAX
in the first case bit direction is 0 in the second 1.
Some compiler prefers to clear this bit in reg, reg OP, other ones likes to
set it to 1.
Regards, Alex
http://smike.ru
http://ircdb.org
.
|
|
|
|
|
| User: "rossum" |
|
| Title: Re: Is it possible to find in what language a dll has been programmed? |
12 Jul 2004 04:05:10 PM |
|
|
On Mon, 12 Jul 2004 10:36:41 +0200, "Santi" <n@s.e> wrote:
Hi,
Is there anyway to find if a dll or exe has been compiled from C++ or Delphi
or whatever language?
1 Sometimes "Properties" will give you this sort of information.
2 Sometimes a utility to extract printable ASCII strings will show up
some relevant information.
3 Neither of these is guaranteed to work.
rossum
--
The Ultimate Truth is that there is no Ultimate Truth
.
|
|
|
|
| User: "JKop" |
|
| Title: Re: Is it possible to find in what language a dll has been programmed? |
12 Jul 2004 07:13:29 AM |
|
|
Santi posted:
Hi,
Is there anyway to find if a dll or exe has been compiled
from C++ or
Delphi or whatever language?
Not unless the author wants that to be know.
A DLL has a Windows file header, and that's followed by
machine code.
Try http://www.dependancywalker.com/
-JKop
.
|
|
|
| User: "Richard Herring" |
|
| Title: [OT] Is it possible to find in what language a dll has been programmed? |
12 Jul 2004 09:35:43 AM |
|
|
In message <JfvIc.4399$Z14.5338@news.indigo.ie>, JKop <NULL@NULL.NULL>
writes
Santi posted:
Hi,
Is there anyway to find if a dll or exe has been compiled
from C++ or
Delphi or whatever language?
Not unless the author wants that to be know.
A DLL has a Windows file header, and that's followed by
machine code.
Try http://www.dependancywalker.com/
Then try http://www.dependencywalker.com/ ;-(
--
Richard Herring
.
|
|
|
|
|
| User: "Victor Bazarov" |
|
| Title: Re: Is it possible to find in what language a dll has been programmed? |
12 Jul 2004 08:45:15 AM |
|
|
Santi wrote:
Is there anyway to find if a dll or exe has been compiled from C++ or Delphi
or whatever language?
Generally speaking, no, it's not possible.
V
.
|
|
|
|

|
Related Articles |
|
|