1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Binärprogramme optimieren

Dieses Thema im Forum "OS X-Developer" wurde erstellt von GoaSkin, 29.11.07.

  1. GoaSkin

    GoaSkin Gast

    Hallo,

    ich möchte in einer Funktion eines Spieles ein paar Assembler-Anweisungen einbauen - im Grunde eine CaseOf-Bedingung erweitern (wenn Variable 1=X, dann Variable 2=Y), um auf diese Weise neue Submenüs zu implementieren.
    Ich habe das Programm mit otool disassembliert und mittlerweile herausgefunden, an welche Stelle welcher Code eingetragen müsste. Das Problem dabei ist jedoch, daß die Funktion dabei länger wird und im Falle einer Nachbearbeitung im HEX-Editor die Zielpositionen sämtlicher folgender Sprunganweisungen sowie die Startpositionen der Funktionen im Index nicht mehr stimmen würden.

    Gibt es für diese Problematik noch andere Lösungen außer mit Hilfe von Sprunganweisungen den zusätzlichen Code in Teile des Programmes zu verweisen, die nicht wirklich benötigt werden und den dortigen Code zu ersetzen? z.B.

    - eine Art Assembler-Editor, der Sprungpositionen automatisch begradigt
    - die Möglichkeit, das Programm zu entlinken und nach der Nachbearbeitung einer einzelnen .o-Datei das ganze wieder erneut zu linken
    - die einzelne Funktion in eine Bibliothek zu verlagern und das Programm anzuweisen, diese von dort aufzurufen statt aus der Binärdatei selbst
    - ganz andere Lösungen?

    Die Nachbearbeitung des Binärprogrammes soll zunächst nur zum Eigenbedarf sein. Einen Patch werde ich natürlich nur im Einverständnis des Herstellers verbreiten. Es handelt sich um Abandonware.
     
  2. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Am Anfang des Patch-Blockes $GANZWOANDERSHIN springen und dann soviel Code unterbringen wie du möchtest, am Ende zurückspringen, wo es weitergeht. Dabei musst du einfach das Binary verlängern. Zu ersetzen ist da nichts.

    BTW:
    http://bundesrecht.juris.de/urhg/__69c.html
     
  3. GoaSkin

    GoaSkin Gast

    Da ist schon etwas unnötiges im Binary: Der HTML Code für eine statische Webseite, die kein Mensch wirklich sehen will. Ich weiss aber nicht, ob man auch dahin springen kann.

    Gibts überhaupt einen richtigen Assembler-Editor für OSX, der sowohl PPC als auch X86 beherrscht?
     

Diese Seite empfehlen