Re: p-code
- From: "Stephen Howe" <sjhoweATdialDOTpipexDOTcom>
- Date: Fri, 18 Aug 2006 01:59:04 +0100
I seriously doubt you'll be able to recover the source code in any kind of
meaningful or useful form.
Your opinion is based on what exactly?
I once recovered source code lost for a company when we only had object
files but we knew they had been compiled with MS Basic PDS 7.1. And my
recovered functions compiled _exactly_ to the same thing. The assembler was
enough as a guide.
And numerous times I have done the same with C or C++ object code. I have
worked backwards from the assembler.
I have got a secretary to hand-edit executables over the phone using nothing
more than EDLIN.
And I am quite happy with 16-bit, 32-bit, MMX, SSE etc Intel intructions.
Other chips, no problem.
It is not that hard and not that impossible. If we were talking about a 100K
gap, I would do something else.
I believe your probably stuck with working from the source code you have
for the older version and just redoing whatever was changed between it and
the later version. Hopefully, you do know what features got added or bugs
that got fixed.
No I don't. And I don't think any of my colleagues do either. We have a
vague idea. It is, after all, nearly 7 years since it was last touched as
source code. 7 years is eternity in programming cycles :-). My colleagues
probably have a fractionally better idea than I do as I joined the company
afterwards and have never touched the product (until now). Tomorrow I am
going to pump them for information on the years 1999 and before. See if they
have anything useful to say.
But on VB:
I would guess that the 16-bit p-code interpreter uses SI as a pointer to the
current instruction, AX, CX, DX are scratch registers and others have
specific meaning. I think that there are 256 op-codes that are things like
StrCat, StrDel, StrCpy etc, perhaps more.
And when VB4 "compiles", it is more or less an image of all the FRMs, BASs &
CLSs, one after the other. I have done a Strings (UNIX utility) on both
previous and current executable which is quite enlightening. Names of forms,
functions etc are all present. So I can certainly at the minimum put in
stubs, recompile, try again. Bit-by-bit the 7K gap shrinks. If I get down to
512 bytes I think with some educated guesses, hex comparisons, I will get
there.
Now: Do you have any hard details on VB p-code? Anything other opinion?
Microsoft white papers?
Thanks in advance
Stephen Howe
.
- References:
- p-code
- From: Stephen Howe
- Re: p-code
- From: MikeD
- Re: p-code
- From: Stephen Howe
- Re: p-code
- From: MikeD
- p-code
- Prev by Date: Re: MSFlexgrid
- Next by Date: Re: Resize form problem
- Previous by thread: Re: p-code
- Next by thread: Re: p-code
- Index(es):
Relevant Pages
|