Re: Reverse Engineering JavaScript code
- From: Thomas 'PointedEars' Lahn <PointedEars@xxxxxx>
- Date: Fri, 27 Feb 2009 00:41:17 +0100
Ivan Marsh wrote:
On Thu, 26 Feb 2009 14:16:33 -0700, Malcolm Dew-Jones wrote:
Evertjan. wrote
: oferbar wrote on 26 feb 2009 in comp.lang.javascript:
: > There are such tools that do "reverse engineering". They can read :
source code such as C#, C++, Java, etc: Wrong,
: "reverse engineering" is making "source" script code from a compiled :
executable.
I can't agree. Engineering a computer system involves many steps other
than just compiling an executable from source code.
Reverse engineering is to take _any_ of the steps and run it backwards.
Yes, exactly.
Uh... no. If you can read the code there is no reverse engineering
involved. There is simply reading the code.
You are mistaken. Reverse engineering *is* simply the reverse of
engineering. Engineering is the craft (some say, and I tend to agree, the
art) of making usable (software) applications out of ideas and concepts.
Therefore, reverse engineering is the craft (and, I think, even more the
art) of extracting concepts and ideas from usable (software) applications.
Put simply, in engineering you ask "How do I accomplish this (best)?"; in
reverse engineering you ask "What does it do, and why?"[1]
For example, creating a UML class diagram from source code is certainly a
reverse-engineering task as it allows e.g. to implement (parts of) the
functionality using another programming language. Since implementations of
ECMAScript until including Ed. 3 have no classes, a possibility for reverse
engineering there is to create a UML process diagram from source code so as
to display which method is called when and what is the caller. Not that I
heard of a tool that can do this for ECMAScript implementations, though.
However in theory, Eclipse's DLTK project[2] provides a JavaScript editor
plugin, and DLTK provides a Call Hierarchy feature without a debug session
(that doesn't seem to work in my PDT versions so far, though.) I haven't
tried DLTK's JavaScript editor for quite some time because I prefer that of
WST[3], and I didn't require the Call Hierarchy feature yet; if anyone uses
DLTK-JS on a daily basis, I would like to know if there has been any
progress since ca. September 2008, IOW if it's worth a closer look again.
Note that debugging source code to find out what it does (or where the bug
is) is probably one of the most often performed reverse-engineering tasks
there is, unfortunately, due to frequent lack of sufficient/up-to-date
development documentation.
See also:
[1] <http://en.wikipedia.org/wiki/Reverse_Engineering>
[2] <http://www.eclipse.org/dltk/>
[3] <http://www.eclipse.org/webtools/>
PointedEars
P.S.
I would like to ask posters not to use the `:' as an indicator of quotation
levels on Usenet as it confuses my and probably other user agents, let alone
their readers. `>' for direct quoting, and `|' for third-party quoting are
more common.
.
- Follow-Ups:
- Re: Reverse Engineering JavaScript code
- From: Ivan Marsh
- Re: Reverse Engineering JavaScript code
- References:
- Reverse Engineering JavaScript code
- From: oferbar
- Re: Reverse Engineering JavaScript code
- From: Tim Greer
- Re: Reverse Engineering JavaScript code
- From: rf
- Re: Reverse Engineering JavaScript code
- From: Tim Greer
- Re: Reverse Engineering JavaScript code
- From: oferbar
- Re: Reverse Engineering JavaScript code
- From: Evertjan.
- Re: Reverse Engineering JavaScript code
- From: Malcolm Dew-Jones
- Re: Reverse Engineering JavaScript code
- From: Ivan Marsh
- Reverse Engineering JavaScript code
- Prev by Date: Re: Reverse Engineering JavaScript code
- Next by Date: Re: Here's a Python-like range() for JavaScript. Is it new?
- Previous by thread: Re: Reverse Engineering JavaScript code
- Next by thread: Re: Reverse Engineering JavaScript code
- Index(es):
Relevant Pages
|