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