Es passiert häufiger als man annehmen möchte, dass der Quellcode bestimmter Programme oder Unterprogramme nicht mehr existiert. Solange sein Objekt Code noch in einer Bibliothek verfügbar ist, können diese Programme dennoch in Lademodule eingebunden werden.
Das Problem wird erst erkannt, wenn dann doch eine Anpassung nötig ist oder wenn im Zuge eines Release-Wechsels Programme neu umgewandelt werden müssen.
ITM hat mit Mutabor eine komplexe Workbench geschaffen, die es erlaubt, aus Lademodulen wieder für Menschen lesbaren Quellcode zu machen, der mit dem ursprünglichen Programm funktionsidentisch ist.
Die wesentlichen Merkmale von Mutabor
- Liest Lademodule in binärer Form ein und präsentiert sie in der Mutabor Workbench.
- Die Workbench ähnelt im Aufbau einem Assembler Listing.
- Erkennt die Control Sections der eingebundenen Programme.
- Visualisiert den Code, getrennt nach den enthaltenen Control Sections, in getrennten Reitern der Mutabor Workbench.
- Übersetzt einen erheblichen Teil des hexadezimalen Codes in Instruktionen und Daten
- Enthält eine große Zahl von Regeln, die – vom Benutzer angestoßen – einzelne Statements, Codeteile oder komplette Sections bearbeiten
- Arbeitet mit Mustererkennung
- Transformiert den hexadezimalen Code stets so in Assembler Statements, dass eine Umwandlung des erzeugten Quellcodes wieder den eingegebenen hexadezimalen Code erzeugt
- Erkennt die Muster vieler Makroexpansionen und transformiert sie zurück in normale Makroaufrufe. Die Variantenvielfalt ist allerdings derart groß, dass wir mit jedem Projekt neue Muster und Regeln entdecken und hinzufügen müssen.
- Exportiert einzeln auswählbare Control Sections. Falls also ein fehlendes Unterprogramm mit vielen anderen Programmen zusammen gebunden wurde, muss nur der Quellcode dieses Unterprogramms erzeugt werden.
- Basisregister werden erkannt – automatisch oder manuell mithilfe spezieller Aktionen.
- Codekonstrukte können gesucht und eingefärbt werden.
- Sprungziele und Datenfelder erhalten generierte oder frei wählbare Namen.
- Wenn die Feldbezeichnungen von Datensätzen bekannt ist, können die Namen automatisch eingepflegt werden.
- Falls das Lademodul mithilfe von HMASPZAP modifiziert wurde, präsentiert Mutabor diese Änderungen in einem eigenen Reiter der Workbench – die Änderungen gehen also nicht verloren.
Einsatz
Mutabor wird von erfahrenen Assembler Experten der ITM für Kundenprojekte genutzt, weiterentwickelt und gepflegt.