|
|
|
Eisenblut
offline
OC God 22 Jahre dabei !
|
Natürlich kannst du beide Sachen mit jedem Editor öffnen, es bringt nur nichts. Du brauchst ein Tool zum Reverse Engineering, wie z.B. I.C.E.. Das ist ein heikles Thema. Es ist nicht zwingend illegal, denn manchmal muss man an alten Firmencode ran, der nur kompiliert existiert, aber das RE von z.B. MS-Code ist meist nicht erlaubt und auch oft nicht einfach möglich. Aber auch das habe ich schon gemacht, um Kompatibilitätsprobleme zu finden. Wenn du so etwas vor hast, sei gewarnt, RE zu versuchen steht nicht am Anfang einer Programmiererlaufbahn, sondern erst weit, weit hinten.
With all due respect Sir, but...
|
Beiträge gesamt: 3756 | Durchschnitt: 0 Postings pro Tag Registrierung: Okt. 2002 | Dabei seit: 8281 Tagen | Erstellt: 13:07 am 9. März 2004
|
|
|
P4Peiniger
aus Kiel offline
OC God 22 Jahre dabei !
|
aaallllsoooo: das erste was man mit dll/exe machen könnte wäre Disassemblieren...da kommt dann natürlich ziemlich argher Assemblercode raus... es gibt auch einige Tools mit denen man binaries in halbwegs lesbaren C Code zurückübersetzen kann, aber selbst der ist dann immer noch ziemlich wirr weil zb die ganzen Funktionsnamen/Variablennamen/Kommentare etc verloren gehen. Hinzu kommt das die exe/dlls der meisten Softwareprodukte natürlich keine Debugbuilds sind und dadurch natürlich einiges mehr an brauchbaren Infos fehlt. Unter Windows kann man zumindest mit dem entsprechenden Programmen die Resourcen der dll/exe editieren..also icons/dialoge/menü/stringtables und eventuell in die exe compilierte bitmaps Wenn du mal konkreter verraten würdest was du vorhast könnte dir vielleicht geholfen werden... aber ansonsten würde ich als Nichtprofi (so schätze ich dich einfach mal ein, nicht persönlich nehmen) die Finger davon lassen... als kleines Beispiel zur Abschreckung:
Code#include <gtk/gtk.h> // event handler if main window is closed gint onQuit(GtkWidget widget, GdkEvent event, gpointer data) { gtk_main_quit(); return(TRUE); } int main(int argc, char *argv[]) { GtkWidget* fenster; gtk_init(&argc,&argv); fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL); // set event for window close signal gtk_signal_connect(GTK_OBJECT(fenster),"delete_event",GTK_SIGNAL_FUNC(onQuit),NULL); gtk_widget_show(fenster); gtk_main(); return 0; }
| dieses superkleine gtk-Programm mal eben übersetzt und danach:
Code# objdump -D a.out > dump.txt | Ergebnis:
Codemlic@irdorath:~/Projects/mygtk$ ls -l insgesamt 228 -rwxr-xr-x 1 mlic mlic 13181 2004-03-09 14:47 a.out -rw-r--r-- 1 mlic mlic 177154 2004-03-09 15:16 dump.txt
| Also, viel Spaß (177 KB asm-'Müll') /edit und wie bereits gesagt... Reverse Engineering (noch schlimmer das weiterverwenden RE'ter Codefetzen) von kommerzieller Software ist im hohen Maße illegal... kann man in so ziemlich jeder Lisenzbedingung auch nachlesen... (Geändert von P4Peiniger um 15:23 am März 9, 2004)
think slack! nethands
|
Beiträge gesamt: 3604 | Durchschnitt: 0 Postings pro Tag Registrierung: Juli 2002 | Dabei seit: 8349 Tagen | Erstellt: 15:21 am 9. März 2004
|
|
|
|
|
|
|
|