
Downloade First Beta Release !!!!!!!!
PreCompiler 1.0 BetaShareWareDemo
Was ist ein PreCompiler.
in diesem Fall ein Programm das den SorceCode auf neue
Befehle hin untersucht und diesen ändert, damit der
Orginal Compiler der diese Befehle nicht kennt keinen
Fehler erzeugt. Darueber hinaus können Debug möglichkeiten
geschaffen werden die das Orginal BlitzBasic nicht kennt.
Für weiter Informationen gibt es bei WIKIPedia eine
begriffs erklärung dazu.
Befehlssatz stand 21.12.2004
PreCompilerOn()
PreCompilerOff()
CodeLine()
OnGoto()
ExeRun()
ExeRunCutOn()
ExeRunCutOff()
FuncCount()
DefMacro()
EndMacro()
CallMacro()
ImpMacro()
PCInclude()
DebugLog
InFunction()
InInclude()
InMacro()
CryptStringOn()
CryptStringOff()
DeCryptString()
RemOn()
RemOff()
--------------------------------------------------
Diese Befehle werden mit der Release version nicht
mehr vorhanden sein. Die Möglichkeit die Listen zu
Speichern wird es bei PC_ListView geben. Alle listen
die dort angezeigt werden können. Lassen sich auch
abspeichern.
LogAllLabel() -d first (100%)
LogAllVar() -d first (1%)
LogAllDim() -d first (100%)
LogAllGlobal() -d first (100%)
LogAllConst() -d first (100%)
LogAllFunction() -d first (100%)
LogAllType() -d first (1%)
LogAllFile() first (1%)
--------------------------------------------------
OnGosub(x,".test1") all (20%)
Wie OnGoto(), nur mit dem Unterschied das
nach einem Return wider zurückgesprungen
wird.
QDim_l(test(100)) all (1%)
Erzeugt ein Feld mit 100 Elementen die für
QSort() verwendet werden sollen. Das _l steht
für 4Byte Integer Variablen.
QSort(von,bis,"sort()") all (1%)
Sortiert den Inhalt von sort() in absteigender
reihenfolge, von von bis bis.
Dim_b(test(100)) all (1%)
Erzeugt ein eindimensionales Byte Feld. Darauf
kann ganz normal lesend zugegriffen werden.
Der Befehl functioniert nicht in Functionen.
TracevAR(VARIABLE) -d first (90%)
Legt eine Variable fest, die ab diesem Befehl
alle veränderungen dieser Variable speichert
und mittels
TraceVarView(zeilen) -d (80%)
auf dem actuellen Blidschirm ausgegeben wird, Wobwei
die Tasten Kombination Left Ctrl und Pfeil Tasten
die Liste scrollen. TraceVarView() sollte direct
vor Flip ausgefürt werden.Der Parameter zeilen
gibt an, wiefiele Zeilen ausgegeben werden sollen.
CheckLoad() first (1%)
veranlast den PreCompiler alle Ladebefehle mit
einem Var Test auf = 0 auszustatten und gege-
benenfals einen Runtime Error mit zeilen angabe
zu erzeugen.
AutoInclude() first (1%)
Befehle die sich im INC verzeichniss befinden
werden automatisch eingebunden. zB. wenn der
aufruf der Funktion "AutoTExt(x,c,v)" zu einem
Fehler Funktion not Found füren würde. Wird
im INC Verzeichniss nach einer Function mit
Namen AutoTExt.bb gesucht und diese gegebenenfals
eingebunden.
FindErrorLine() -d first (1%)
Läuft der Editor im Hintergrund, wird bei einem
Runtime Error der von einem Laufenden Programm
erzeugt wird, An die Zeile gesprungen wo der
Fehler auftrat.
DeclearFirst() -d first (1%)
Jede Variable muss definiert sein. Das heist
das sie im Main Teil das erste mal aufgerufen
werden muss. Variablen die nicht for ihrem ge-
brauch declariert sind, erzeugen einen Fehler.
DeclearGlobal() -d first (1%)
Variablen die in einer Funktion Globale Variablen
benuzen und ändern wollen müssen am anfang der
Funktion diese mittels
ImpGlobal() -d all (1%)
als Global definieren. Ist die Variable im Main
Code nicht als Global definiert, so wird ein Fehler
erzeugt.
EntityExist() -d first (1%)
Es wird geprüft ob ein Entity Existiert. Dazu
wird eine Liste der Erzeugten Objecte gefürt.
LineCount() -d first (1%)
wie FuncCount() jedoch wird hir der aufruf
jeder Zeile gezählt. Daraus läst sich schliessen
mit welcher heufigkeit der Code bestimmte
stellen am Meisten durchleuft. Damit lassen sich
For To Next Fallen und andere Zeitfresser er-
mitteln.
NoPatchOn() -all (1%)
Der QuellCode zwischen NoPatchOn und NoPatchOff
wird bei jedem Compiler durchlauf in der Länge und
Code folge geändert. Das erschwert das Patschen
von Individuellen Exe. Programme die individuel
für Registrierte User verschickt werden, Lassen
sich so vor einfachen CrackPatch schützen. Da
Diese auf definierte Code Positionen angewiesen
sind.
NoPatchOff() -all (1%)
ID_Check("") -all (1%)
Prüft die Rechner ID. Die zu prüfende ID wird
als String in anfürungszeichen übergeben. Das Tool
ScanID.exe ermitelt die Rechner ID. Damit lassen
sich Functionen oder Menues nur auf dem Entwickler
Rechner activieren, oder eine Instalierte Exe am
starten hindern wenn der Rechner nicht die richtige
ID aufweist.
IncludePfad("") first (1%)
damit kann am anfang des Programmes ein Pfad zu
den Includdateien angegeben werden. Dieser wird
beim IncludeBefehl automatisch forne an gestellt.
VarHistory(x,100) -all (1%)
Zeichnet den Inhalt von x,100 mal nach dem FIFO
Prinzip auf
DimHistory(x(),100) -all (1%)
Zeichnet den gesamten Inhalt des Array x() auf.
Zur Zeit sind nur eindimensionale Felder berück-
sichtigt.
WatchDog(x) all (1%)
erzwingt ein Programmabbruch wen x ms abgelaufen sind.
Der Timer wird durch mermaligen aufruf zurückgesetzt.
CodeStretchstart() first (1%)
Zur erschwerung von Hack fersuchen. Der Code wird durch Füll
Code aufgebläht. Sodas Crackern das verstehen von Algorytmen
und Funktionen erschwert wird.
CodeStretchEnd() first (1%)
Algemeine Information
Die verwendung des PreCompillers geschieht auf eigenes Risiko.
Der Autor lehnt jede Haftung ab, die durch die Anwendung des
PreCompiller verursacht wurde. Dies bezieht sich Hauptsächlich
auf den Verlust von Code und der Orginal Blitzcc.exe . Der
PreCompiller verwendet nie das Orginal CodeFile, sondern er-
zeugt eine TMP datei. Damit ist Codeverlust nur durch unsach-
gemässe handhabung oder andere Ursachen möglich. Stellen sie
vor Installation des PreCompillers sicher, das ein Backup ihrer
Codedaten und der Blitzcc.exe existiert.
Für leute die es ernsthaft darauf anlegen. Sind mittels BBIDCode.exe
erzeugte Code Files mit erheblichem Aufwand decodierbar. Einen
absoluten Schutz gibt es nicht. Aber die Zusatz Funktionen können
das Lesen von solchem Code so stark erschweren. Das Leute die in
der Lage sind die Codierung zu überwinden Spätestens bei verstehen
des Code Teiles aufgeben. Dafür kann der Autor keine Garantie
übernehmen.
Home
www.Optima-Code.ch (C) 2004 by Turgut Temucin alias TFT / last update 21.12.2004