235 lines
8.5 KiB
Plaintext
235 lines
8.5 KiB
Plaintext
|
|
PPLD V3.00á1
|
|
|
|
(C)1994 by Chicken [EcR]
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
WHAT IS PPLD GOOD FOR ?
|
|
|
|
Makes your potatoes grow BIGGER !
|
|
Gives you a body IRRESTIBLE to ANY kind of girls !
|
|
Cures your aunts gout, hunchback AND PERITONITIS !
|
|
Makes your wedding dress DAZZLING white !
|
|
Brings you BILLIONS of dollars ! (send me $186.43 for more details)
|
|
Kills ANYTHING with more than four legs tickling in your hair !
|
|
|
|
Ah yeah, and besides this, it decompiles the PCBoard Programming
|
|
Language Executables (.PPE) back to what they were before the so-
|
|
called compilation. Well, they call it compilation, in fact it's just
|
|
a translation to tockens simple enough to be executed by the stupid
|
|
interpreter (my C-64 did it too).
|
|
|
|
[philosophical intermezzo ON]
|
|
|
|
As long as Clark Development Company Inc. can't come up with a REAL
|
|
compiler there will be decompilers by me or by others. CDC started
|
|
to encrypt the .PPEs created with PPLC 3.0 and newer. The only
|
|
effect is even more slowness, nothing else. Ah yes, it also makes
|
|
it harder for talented authors to protect their work with some well
|
|
misplaced bytes (Anti Decompiling System). Dear CDC developers, why
|
|
not creating some real ASM code ? PPEs would run at a decent speed
|
|
and decompilers would be dead forever. Right, real compilers are a
|
|
bit trickier to do. But hey ! What are you getting your bucks for
|
|
then ?
|
|
|
|
Thank you.
|
|
|
|
[philosophical intermezzo OFF]
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
HOW TO USE IT ?
|
|
|
|
ppld [options] srcname[.ext] [dstname[.ext]]
|
|
|
|
Standard extensions are: for source .PPE, for destination .PPD (to
|
|
prevent overwriting of existing source code).
|
|
|
|
Options:
|
|
|
|
/NOTRACE - Disable Trace Mode
|
|
PPLD will decompile the whole code and therefore probably
|
|
get traped by an anti decompiling trick. But if it gets
|
|
through, you can seek for disabled features and mindless
|
|
coders.
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
TROUBLE SHOOTINGS
|
|
|
|
PPLC replaces all FOR/WHILE/CASE/... thingies with IF/GOTO statements
|
|
and rearranges IF [..] THEN [..] ENDIF like this (with ELSE it gets
|
|
even worse):
|
|
|
|
IF [..] THEN
|
|
[..]
|
|
ENDIF ..is compiled as:
|
|
|
|
IF ![..] GOTO LABEL
|
|
[..]
|
|
:LABEL
|
|
|
|
Little hint: As the usage of FOR [...] NEXT causes a real mess with
|
|
lotta useless worstcase bound checkings, your program will run faster
|
|
when you implement the routine using WHILE or an own IF [..] THEN
|
|
construction.
|
|
|
|
Serious crashes can be caused by the following reasons:
|
|
|
|
a) A REAL big .PPE needs too much labels.
|
|
"can't imagine"
|
|
|
|
b) A REAL nasty line gets too long.
|
|
"never found one"
|
|
(oops, mflaggi got a line bigger than 1000 characters. But
|
|
who cares about source of stupid copy'n paste coders anyway)
|
|
|
|
c) A REAL ugly expression has too much iterations.
|
|
"recursion rulez"
|
|
|
|
d) I created buggy translation tables.
|
|
"beautiful secretaries can't type"
|
|
|
|
It is possible that a .PPE doesn't recompile to the same size for the
|
|
following reasons:
|
|
|
|
a) PPLD will skip unused code. (Use the /NOTRACE option to dis-
|
|
able this feature)
|
|
"this one is called *AI Optimation Mode*"
|
|
|
|
b) PPLD just forgets about variables defined but not used in the
|
|
code. (variables are recognized upon usage at positions where
|
|
PPLC requieres VAR as function/statement parameter)
|
|
"this one is called *AI Optimation Mode*"
|
|
|
|
c) You have to compile with the same commandline options as the
|
|
author for the original .PPE.
|
|
"my two-lines-ppe takes only one kilobyte"
|
|
|
|
d) There are some quite strange .PPEs with only half of the pre-
|
|
defined user variables included.
|
|
"public betas suck"
|
|
|
|
At the end of the source, is a list of used functions/statements. If
|
|
you encounter some missing names or ???s the command is unknown.
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
Q&A (hmm, or S&Q ?)
|
|
|
|
Q: "[..] and the worst: It comes from switzerland !"
|
|
(a serious swiss sysop/"developer" in ILink)
|
|
A: Would you feel better when I release next version from Botswana ?
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
REVISION HISTORY:
|
|
|
|
25.06.94 release of version 1.00 (nightmares get real!)
|
|
|
|
01.07.94 release of version 1.01 (bugs, bugs, bugs!)
|
|
- bugfix: decompiled LANGTEXT instead of LANGEXT
|
|
- bugfix: decompiled FPUTAD instead of FPUTPAD
|
|
- bugfix: decompiled CDKCHON instead of CDCHKON
|
|
- bugfix: decompiled UNOPER instead of UN_OPER
|
|
- bugfix: decompilation errors on statement FFLUSH
|
|
- bugfix: decompilation errors on statement REDIM
|
|
- bugfix: decompilation errors on statement SORT
|
|
- bugfix: added missing statement MOUSEREG
|
|
- bugfix: added missing statement BRAG
|
|
- bugfix: added missing statement FREALTUSER
|
|
- bugfix: added missing function HIMSGNUM
|
|
- bugfix: added missing function LOMSGNUM
|
|
- bugfix: added missing function KBDFILUSED
|
|
- bugfix: added missing function PPLBUFSIZE
|
|
- bugfix: added missing function KBDBUFSIZE
|
|
- bugfix: added missing function FLAGCNT
|
|
- bugfix: out of memory on ppe without vars/constants
|
|
|
|
20.08.94 release of version 1.02 (it's alive!)
|
|
* recursive trace mode to detect decompiling traps.
|
|
This prevents PPLD from decompiling passages with
|
|
unknown functions/statements.
|
|
As side effect it won't decompile unused code.
|
|
* added /NOTRACE option to turn off trace mode and
|
|
its "features".
|
|
- bugfix: decompilation errors on VARSEG, VAROFFS,
|
|
VARADDR, SCRFILE after SORT-bugfix in last version
|
|
|
|
22.09.94 release of version 2.00 (the fake!)
|
|
!!!!!!!! DON'T USE IT, IT'S A TROYAN !!!!!!!!
|
|
|
|
06.11.94 release of version 3.00 (peanuts!)
|
|
* added PPLC 3.0 decryption
|
|
* added PPLC 3.0 new statements/functions/types...
|
|
- bugfix: trace abort on jump to program start/end
|
|
- bugfix: 4 times more memory for BIIIIIIIG strings
|
|
(* added PPLC 3.0 procedures/functions support)
|
|
no time... not finished yet
|
|
|
|
The version with Clark Development copyrights is a fake/ripoff/patch
|
|
of PPLD version 1.00 by unknown losers (same code, same bugs).
|
|
|
|
The version 2.00 released by an unknown lamer in september is a
|
|
troyan and will most probably delete your harddisc.
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
CONTACT THE AUTHOR !
|
|
|
|
If you got an idea for some features, dig it :).
|
|
But for chitchat, donations, news about PPLC 4.0, hate mails, bombs
|
|
|
|
call The Lycaeum +41 41-762-989 and write a message to sysop,
|
|
or email via InterNet chicken@ezinfo.vmsmail.ethz.ch
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
COPYRIGHTS:
|
|
|
|
PPLD is copyright of the author. The author allows to: use software,
|
|
make copies of it, give copies to anybody and distribute it through
|
|
electronic media.
|
|
|
|
It is not allowed to ask for money or donations for any copy or
|
|
copies of the program, neither distribute the software and/or docu-
|
|
mentation with commercial products and/or crackers.
|
|
|
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
DISK-LAMER:
|
|
|
|
The author denies any responsibilities for illegal acts involving the
|
|
(mis)use of PPLD. It is illegal (and lame) to spread copies of
|
|
tampered and/or modified PPEs.
|
|
|
|
Pay fair prices to fair shareware authors.
|
|
|
|
This EXCLUDES software which:
|
|
a) contains backdoors
|
|
or b) consists of less than 50 lines code
|
|
or c) costs more than $20 (don't tell me you invested months in
|
|
your one-in-thousands-so-fucking-boring-online-game)
|
|
|
|
This INCLUDES the great work of the rare REAL coders doing .PPEs !
|
|
|
|
|
|
-----------------------------------------------------------
|
|
! ECR, MOM WANTS THE BEST FOR YOU !
|