AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

quellcode aus exe-Datei

Ein Thema von Gentleman · begonnen am 27. Dez 2004 · letzter Beitrag vom 28. Dez 2004
 
Assarbad
(Gast)

n/a Beiträge
 
#11

Re: quellcode aus exe-Datei

  Alt 28. Dez 2004, 02:05
Zitat von Gentleman:
mich würde mal interessieren ob es möglich ist den quellcode eines delphi-programms aus der *.exe zu lesen und wenn es möglich ist, wie es geht.
Nicht in dieser Form. DeDe, IDA, ResourceHacker und andere Tools (zB PEiD und viele unzählige andere Tools) können helfen eine Programmstruktur zu verstehen. Allein der zeitliche Aufwand ist so immens, daß man meist nur einen spezifischen Teil, der einen interessiert, untersucht.

Zitat von Oxmyx:
Nein, es ist nicht möglich. Sicherlich, man kann sich die Maschinencode-Befehle mit einem Disassembler anschauen, aber damit wird man keine Freude haben. Variablen, Funktionen, Prozeduren, Klassen, etc. existieren nicht mehr im Maschinencode, und die bekommt man auch nicht mehr so zurück, wie sie ursprünglich geschrieben wurden.
Bitte? Was existiert nicht mehr? Das ist ja lächerlich, bitte bilde dich erstmal weiter. Natürlich existieren all diese Dinge noch. Eine Klasse hat zB üblicherweise eine VTable. Je nach Compiler kann man herausbekommen wie der this/Self-Pointer weitergegeben wird (oft in einem Register).
Variablen bilden den Stackframe ...

Klar gibt es keine Namen. Man kann auch nicht unterscheiden, ob eine bestimmte Ansammlung von Variablen eine Struktur (record/struct) ist, oder einfach eine aufeinanderfolgende Deklaration verschiedener Variablen.

Klassen usw. werden meist schon anhand der RTTI erkannt. Mit spezifischen Tools wie DeDe wird es dann noch ein Stück einfacher, da DeDe natürlich die Strukturen (i.e. Klassen) der Borland-VCL kennt.

Aber bitte, die obige Aussage ist so unhaltbar!

Zitat von delphman:
Wenn man Assembler kann kommt schon Freude auf.....

Wer kann Assembler ? gebt mir euer Wissen !
Dazu gibt es hervorragende Bücher. Desweiteren ist es beim Disassemblen so, daß die Übung den Meister macht, denn so viele Bücher gibt's auch wieder nicht, und (kostenlose) Tutorials fast garnicht. Liegt unter anderem daran, daß 1. die entsprechenden Tools teuer sind (IDA PRo Standard kostet ~400 EUR) und 2. RE höher berechnet wird (~2fach von Programmierbezahlung).
Wenn also ein Kundiger sein Wissen weitergibt, verschenkt er weit wertvolleres Wissen. Außerdem ist RE (Reverse Engineering) zeitaufwendig und damit auch das Verfassen eines Tutorials.

Zitat von Oxmyx:
Nein, es kommt auch für denjenigen keine Freude auf, der Assembler kann. Man kann mit einer Million Maschinenbefehlen einfach nichts anfangen, weil es ja z.B. keine Variablennamen gibt (es gibt auch keine Variablen an sich), es gibt keine höheren Programmstrukturen, es gibt einfach fast überhaupt nichts mehr von dem, was ursprünglich den Programmcode in Delphi ausgemacht hat.
Häh?

Zitat von phXql:
das is dasselbe wie wenn du versuchst, von nem lied wieder die noten rauszubekommen. in manchen fällen gehts, in anderen halt nich
IDA ist mein "absolutes Gehör", kann ich da nur sagen!

Um es nochmal zu rekapitulieren. Man kann theoretisch auch MS Word disassemblieren (lassen wir mal die rechtliche und/oder moralische Diskussion außen vor), aber man muß dann auch viele Mannjahre dafür veranschlagen.
Außerdem bleibt zu bemerken, daß die API-Funktionen, sei es nun in ELF oder PE-Binaries, und manchmal auch Strings die Rettungsanker des Reverse-Engineers im weiten Meer des Assemblercode sind.

Dennoch bleibt weiterhin die Aussage, daß Kompilieren sicherlich eine der besten Verschlüsselungen für Sourcecode ist

PS: Übrigens, was brächten mir denn die Variablennamen, wenn zB ein Ungar ein Programm geschrieben hätte und er zur Vergabe der Variablennamen ungarische Wörter und Abkürzungen benutzt hätte?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz