Related articles |
---|
convert x86 assembly to c ? winsim@winsim.com (Lynn McGuire) (2000-09-24) |
Re: convert x86 assembly to c ? s337240@student.uq.edu.au (Trent Waddington) (2000-09-25) |
Re: convert x86 assembly to c ? Martin.Ward@durham.ac.uk (2000-09-25) |
Re: convert x86 assembly to c ? dlindauer@notifier-is.net (david lindauer) (2000-09-25) |
Re: convert x86 assembly to c ? winsim@winsim.com (Lynn McGuire) (2000-09-25) |
Re: convert x86 assembly to c ? winsim@winsim.com (Lynn McGuire) (2000-09-28) |
Re: convert x86 assembly to c ? vbdis@aol.com (2000-09-28) |
Re: convert x86 assembly to c ? bsheff2@yahoo.com (2000-10-01) |
From: | Trent Waddington <s337240@student.uq.edu.au> |
Newsgroups: | comp.compilers |
Date: | 25 Sep 2000 13:21:30 -0400 |
Organization: | University of Queensland |
References: | 00-09-172 |
Keywords: | disassemble |
I'm currently developing a retargetable decompiler which will work on
windoze binaries. However, 1) we are not aiming at win16 because it
is such a pain and 2) we are no-where near a useful stage of
development. A big problem with decompilation in general is
determining the number of parameters that a procedure takes. Liveness
analysis can do this, but on x86 this means you have to determine what
stack locations are used before they are defined. With traditional C
calling convention this is not a problem (ie, unix is ok) but when you
introduce pascal calling conventions - callee pop - you have no way of
knowing exactly how the stack pointer is changed after each call. So
you have to do a lot of analysis on the entire call graph just to
discover the stack depth at any point in the control flow graph. When
you have cycles in your call graph this problem because non-trivial.
Windows code makes use of both the C calling convention and the pascal
calling convention, for both local calls and calls to dll's. There
are also other problems to determining the parameters of a procedure
that pop up when you start looking at register calling conventions, as
are present in most RISC machines.
Trent Waddington
University of Queensland
Return to the
comp.compilers page.
Search the
comp.compilers archives again.