Forum: PC-Programmierung Tools für Software-Reverse-Engineering


von RevEngSof (Gast)


Lesenswert?

Hallo Forum,

ich übernehme ein Softwareprojekt, welches in einer grafischen 
Programmierumgebung, ähnlich MatLab erstellt wurde.

Nun suche ich nach Tools oder Anwendungen, welche zur eigenen 
Verdeutlichung des ganzen hilfreich sind.

Mir ist dabei klar, dass ich die einzelnen Makros annähernd abzeichnen 
muss und deren Inhalt durch Prosa ersetzen - nun such ich dafür 
geeignete Tools.
Mein Hauptaugenmerk soll ja auf dem Inhalt liegen, nicht auf Kästchen 
mit Anschlüssen zeichnen.

Wer hat Ideen? Wer kann was empfehlen?


Danke für Eure Hilfe

RevEngSof

: Verschoben durch Admin
von EGS_TI (Gast)


Lesenswert?

Ich versteh kein Wort.

von EGS_TI (Gast)


Lesenswert?

Reversing Tools kenne ich trotzdem. Vielleicht hilfts dir ja.

Debugger: OllyDbg, Softice
Disassembler: W32DASM

von RevEngSof (Gast)


Lesenswert?

Danke, für deine Antwort - aber ich hab es wohl wirklich zu schlecht 
erklärt.
Mir liegt alles vor - Entwicklungsumgebung mit Debugger sowie Quellcode 
(falls man grafische Konstrukte so nennen kann)

Mir gehts nun darum, aus aus meiner Sicht sehr spärlich dokumentierten 
Makros und nur ansatzweise deutbareb Signalnamen eine programmbezogene 
Doumentation zu erstellen - so dass ich mir selbst, an die 
Programmstruktur angelehnt, Sinn und Berechnungen nachvollziehen kann.

von Karl H. (kbuchegg)


Lesenswert?

Zeig doch mal, wie sowas aussieht.

Das Problem an derart proprietären Dingen: Es gibt kaum allgemein 
verfügbare Tools dafür. Ich schätze mal, da wird dir nichts anderes 
übrig bleiben, als dich reinzuknien.

von nicht "Gast" (Gast)


Lesenswert?

RevEngSof schrieb:
> grafischen
> Programmierumgebung, ähnlich MatLab

handelt es sich dabei um iCon-L ?


http://de.wikipedia.org/wiki/ICon-L

von Robert L. (lrlr)


Lesenswert?

hast du den "Sourcecode", also die Grafik  noch?

du suchst scheinbar ein "Software-Reverse-Documentating" Tool

Das dir die Dokumentation, die Vorher "vergessen" wurde, im Nachhinein 
erstellt. Und zwar in verständlichen deutschen Sätzen, mit ein paar 
Skizzen dass man es besser versteht. ?



Und dann bist du aufgewacht.. ;-)


Ernsthaft: man "programmiert" doch mit solchen grafischen
Programmierumgebung, weil man(n) eben glaubt, es wäre verständlicher als 
Sourcecode...
(so kann man sich täuschen ;-) )

von Martin (Gast)


Lesenswert?

vor allem diese hochgestochenen Sätze ...

von RevEngSof (Gast)


Lesenswert?

nicht "Gast" schrieb:
> handelt es sich dabei um iCon-L ?

Ja, es geht wirklich um ein iCon-L-Projekt.

Der "Quellcode" an sich ist verständlich, mir geht es um das 
nachvollziehen der Berechnungen und Lösungsansätze des Erstellers - 
welche über Makros und Untermakros verteilt sind.

Aktuell verfolge ich einzelne Signale wie in einem Schnittmusterbogen - 
finde aber kein "ordentliches" System, meine gewonnen Informationen 
einfach, deutlich und auch für andere so abzubilden, dass deren Herkunft 
und Veränderungen in Bezug zu den Makros gebracht werden können, aber 
trotzdem auf schnellen Blick nachvollziehbar bleiben.

Erste Versuche so etwas darzustellen habe ich mit Smartdraw unternommen 
- aber auch hier, bin ich mehr damit beschäftigt "blackboxes" mit Ein- 
und Ausgängen zu zeichnen und weniger sie einfach aneinanderzureihen und 
mit Signalen zu verknüpfen.

von MaWin (Gast)


Lesenswert?

> Mir liegt alles vor - Entwicklungsumgebung mit Debugger sowie Quellcode

Dann brauchst du kein reverse-engineering.

Du möchtest nur Überblick.

Den hatte der ursprüngliche Programmierer auch nicht...

von Karl H. (kbuchegg)


Lesenswert?

RevEngSof schrieb:

> Erste Versuche so etwas darzustellen habe ich mit Smartdraw unternommen

Das wird dir nicht gefallen.

Meiner Erfahrung nach sind hier elektronische bzw. programmtechnische 
Hilfsmittel nicht wirklich verfügbar.

Das einzige was bei mir tatsächlich und wirklich funktioniert ist Papier 
unf Bleistift. Wobei der Prozess ein iterativer ist. Du fängst einfach 
mal damit an, so wie du dir denkst, dass es in weiterer Folge hilfreich 
sein könnte. Im Laufe des Analyseprozesses stellt sich dann raus, dass 
du gewisse Dinge falsch verstanden hast, oder das man die anders 
dokumentieren müsste. Und genau da schlägt dann die Stunde von Papier 
und Bleistift. Mit einem Radiergummi ausradieren, bzw. durchstreichen 
und daneben noch mal neu skizzieren geht um Größenordnungen schneller 
als alles was du mit einem Programm erreichen kannst. Erst dann, wenn du 
so einigermassen durch bist und das Komplettsystem überschaust und deine 
Einblicke gewonnen hast, erst dann lohnt es sich, das ganze mit einem 
Programm noch einmal reinzuzeichnen. Aber vorher ist das vergebliche 
Liebesmühe, weil du dich mehr mit dem Tool an sich beschäftigst als 
produktiv damit zu arbeiten.

Das ist meine persönliche Erfahrung und andere mögen zu anderen 
Schlüssen gekommen sein. Allerdings hat sich diese Erfahrung bei vielen 
Meetings bestätigt, in denen der Meetingleiter mit irgendwelchen Tools 
das Brainstorming bzw. die Analyse begleitend dokumentieren wollte. 70% 
der Zeit gehen dafür drauf, dass er irgendwelche Programmoptionen sucht 
bzw. unbedingt und sofort wahre Formatierorgien durchzieht. Dinge, die 
zu diesem Zeitpunkt keinen Menschen interessieren. Mit einer einfachen 
großen Schultafel und Kreide ist man in dieser Phase 3 mal so schnell. 
Und es unterbricht auch nicht dauernd den Denkprozess, wenn er wieder 
mal Files sucht, Farben ändert, eine Abstimmung darüber gemacht wird, ob 
das Blau nicht doch zu sehr Türkis ist, Überschriften statt 24 Punkt 
doch besser 26 Punkt gemacht werden, ständig hin und her gescrollt wird 
damit Tabellen alle gleich aussehen (die dann sowieso 10 Minuten später 
wieder komplett umgekrempelt werden) etc.

Da du ein grafisches Programm hast, würde ich mir erst mal Ausdrucke 
davon machen. Möglichst groß, damit Platz bleibt um Anmerkungen dazu zu 
machen, erkannte Funktionsblöcke einzukreisen, Dinge dazuzuschreiben die 
mir wichtig erscheinen, etc.
Das ist das, was zumindest bei mir noch am Allerbesten und Schnellsten 
funktioniert. Ganz banal und ohne großen Aufwand. Und es sscheint auch 
so zu sein, dass die manuelle Arbeit, die Tätigkeit an sich, den ganzen 
Vorgang unterstützt.

von Hans (Gast)


Lesenswert?

Full ACK!

Wobei ich sagen muss, dass ich von Papier&Bleistift, nun zu Convertible 
mit Digitizer-Stift umgestiegen bin...

nachteil ist halt, man hat nur 1ne seite vor sich...


Übrigends sollte man sich vor so einer nachdokumentationsorgie uml usw 
kurz anschaun... hilft ungemein wenn man ideen hat, wie man was 
darstellen kann...

von Uwe (Gast)


Lesenswert?

> Den hatte der ursprüngliche Programmierer auch nicht...
Und deshalb ist er weggerannt ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.