• Hallo,

    ich wollte mal fragen, ob jemand weiß, wie genau so ein Patch funktioniert.

    RGH hat ja ab und an solche Patches für den Interpreter und Compiler

    als kleines Update angeboten. Genau solche meine ich.

    Man könnte ja jetzt auf die Idee kommen, solche Patches mit einer anderen

    Sprache zu erstellen und XProfan damit erweitern. Das wäre ja besser, als

    wenn man seine Funktionen/Befehle in eine .DLL packt und die dann immer

    auch mitgeben muß. Ich denke mal, daß das so ähnlich geht, wie früher die

    Cracks, die man auf diversen Seiten für Sharewareprogramme u.ä. finden

    konnte.

    Andere Sprachen machen das mit statischen Libs (.lib) oder .obj bei Assembler,

    wo dann der Linker das Einbinden erledigt. Beim oben genannten Patch wird

    es wohl nicht gerade einfach sein, zumal die neue Funktion in eine Art Liste

    eingetragen wird und der Compiler diese dann absucht, um die neue Funktion

    zu integrieren. Da kommen jetzt evtl. auch noch die Systemvariablen dazu.

    Ich denke, daß RGH das so ähnlich auch macht. Aber das geht jetzt schon eher

    in Richtung Compilerbau.

    Aber ich denke, daß man das hier ruhig mal diskutieren könnte. Ich hatte vor

    ein paar Jahren RGH gefragt, ob er neue Funktionen / Befehle auch in .pcu

    Dateien o. ä. packen könne und nur der wichtigste Kern der Spache in der

    Runtime bzw. Interpreter ist. Also so eine Art Core-Lib, wie ich es bspw. bei

    B4A und B4J kenne. Alle Erweiterungen kommen dann als Java-lib (.jar) und

    einer XML-Datei, die die neuen Funktionen beschreibt. Also etwa als modulare

    Erweiterungen gedacht.

    Leider hat mir RGH nie darauf geantwortet.

    Ich hoffe mal auf rege Beteiligung.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die grundsätzliche Philosophie von Profan ist ja, daß jede EXE als Runtime für andere Projekte dienen kann. "MeinProgramm" muß nicht gelinkt werden, es funktioniert auch "IrgendeinProfanProgramm.EXE MeinProgramm.PRC". Mit einer auf einen wesentlichen Kern beschränkten Runtime ist das nicht sichergestellt, wenn ich in MeinProgramm Funktionen drin habe, die nicht im Kern enthalten sind.

    Und ich glaube, RGH hatte sich zu einer derartigen Frage schon mal geäußert. Die Runtime wird wohl gar nicht wesentlich kleiner, da so ziemlich alles außer den Kernfunktionen im Wesentlichen auf Windows-API-Aufrufen, eventuell mit Parameteranpassungen, zurückzuführen ist.

    Die Patches sind Änderungen am Interpreter und Runtime, die dauerhaft die jeweilige Datei verändern, wenn Du den Patch ausführst. Es wird einfach schreibend auf das Original zugegriffen und so die Datei verändert.

    Gruß Volkmar

  • Die Patches sind Änderungen am Interpreter und Runtime, die dauerhaft die jeweilige Datei verändern, wenn Du den Patch ausführst. Es wird einfach schreibend auf das Original zugegriffen und so die Datei verändert.

    Genau darum geht es mir ja. Wo genau schreibt RGH den ausführbaren Bytecode in den Interpreter oder in die Runtime ?

    Und irgendwie muß es ja dann auch der Interpreter bzrw. Runtime wissen, daß neue Funktionen / Befehle existieren bzw.

    hinzu gekommen sind. Da der Patch selber ja auch nur eine Abfolge ausführbarer Bytecodes ist, also eine .exe, nehme ich mal

    an, daß dann auch die neuen Funktionen als Abfolge von Bytecodes im Patch existieren.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

  • Ist mir eigentlich nicht bekannt, daß mit Patches neue Funktionen kommen. Ich kenne das nur als Fehlerbereinigung. Die bereits vorhandenen Funktionen werden durch fehlerbereinigte Codes überschrieben. Ich kann nur vermuten, daß dabei alles als Block überschrieben wird, was an ausführbarem Code vorhanden ist. Runtime und Interpreter enthalten ja noch eine ganze Menge an "Verwaltungskram" und den ausführbaren Teil des Interpreters b.z.w. der Runtime selbst: also Code laden, Zeile lesen und decodieren, verschlüsselten Code entschlüsseln u.s.w. :hmmm:

    Gruß Volkmar

  • Ob jetzt neue Funktionen oder Fehlerbereinigungen soll jetzt mal egal sein. Auf jeden Fall

    impft ja RGH die beiden Dateien und die Größe des Codes ändert sich ja auch. Es ging mir

    lediglich um das generelle Prinzip, Code fremder Sprachen mit einzufügen. Oder wie macht

    RGH das ? Wie produziert er die Bytefolgen, die eingeimpft werden ? Wie findet er die genaue

    Stelle zum Ablegen des Bytecodes ? usw.

    Für profaneigenen Code haben wir ja genug Möglichkeiten (.ph Dateien, Include, Container, Units).

    Schade finde ich übrigens auch, daß PROGEND seit X4 nicht mehr richtig funktioniert. Da wäre z.B.

    ein Patch sehr sinnvoll. Dabei denke ich auch an CALL, das ja auch Bytecodefolgen in einem Bereich

    ausführen kann. Ob die von einem externen Assembler oder dem internen ASM sind, ist ja

    wurscht. Da bestand von mir auch immer schon der Wunsch, statische Libs (.lib) mit einzubinden.

    Im Grunde sind es ja auch nur Funktionsadressen, wo bestimmte Bytecodefolgen stehen, ähnlich

    halt, wie bei einer .DLL. Daß da einiges möglich ist, sah man ja auch an der Memorymodule.inc,

    die DLLs als Speicherbereich ausführt.

    Aber ich denke, daß da noch manches möglich ist. Alleine von der Tatsache, daß RGH eine interne

    Liste der importierten Funktionen verwaltet. Auch an die Ressourcen denke ich da. Da könnnte man

    ja auch Bytecodefolgen als RC_DATA ablegen und in einen Bereich laden.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    Einmal editiert, zuletzt von H.Brill (30. Oktober 2022 um 08:19)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!