Welcher Editor? Wie kann ich das Programm ändern?

mak006

Cadet 1st Year
Registriert
Sep. 2009
Beiträge
12
Habe eine DOS Programm das mit .exe gestartet wird.
ich würde gerne ein Paar änderungen einbringen zb auf anderes Laufwerk schreiben oder so.
Kann wer was mit den vielen Zeichen anfangen kennt sich wer aus??????
Auf dem Bild ist es mit UltraEdit geöffnet
 

Anhänge

  • Aufzeichnen.JPG
    Aufzeichnen.JPG
    295,1 KB · Aufrufe: 274
Ehrliche Meinung gefällig?
Vergiss es!

Was du da siehst ist das für Computer verständliche Programm, das entsteht, wenn man den Quellcode des Programms mit Hilfe eines Compilers "übersetzt". Was dann rauskommt versteht eben nur der Computer. Wenn du da drin Änderungen vornimmst, dann versteht nicht mal mehr dein Rechner das.

Und ja, ich (und viele andere hier im Forum) können mit den Zeichen was anfangen.
Das links ist die Darstellung der Hexadezimalwerte dessen, was rechts zu sehen ist. Beispiel: Zweite Zeile, erstes Zeichen rechts ist die Ziffer 4. Diese ASCII-Zeichen hat den Hexwert 0x34 wie in der "Spalte" 0 zu sehen ist.

Durchaus könnten Änderungen in dem gezeigte Ausschnitt durchgeführt werden.
So könnte der Text "nochmals Jahr 4-stellig eingeben" in "nochmals Jahr 5-stellig eingeben" geändert werden.

Wo und wie das Programm ein Ziellaufwerk für einen Speichervorgang darin speichert, und ob es das überhaupt macht, ist dort nicht herauszufinden.
 
Zuletzt bearbeitet:
Ich an deiner Stelle würde mehrere Jahre intensivst das Programmieren in Assembler, C und C++, also nicht die einfachen, sondern gleich die schweren Geschütze, erlernen. Danach würde ich ein paar Jahre dranhängen und das Gelernte mind. 8 Stunden am Tag / 5 Tage die Woche in der Praxis anwenden. Wenn ich dann so nach ca. 7-10 Jahren soweit bin, würde ich mir mind. diese 4 Bücher kaufen und von Anfang bis Ende durcharbeiten, was nochmal 2-3 Jahre dauern dürfte:
1. Operating Systems: Design and Implementation
2. Compiler: Principles, Techniques and Tools
3. Reversing: Secrets of Reverse Engineering
4. Hacking: The Art of Exploitation
Ebenso würde ich mir von Microsoft die Spezifikation des COFF / PE Dateiformates als DOC herunterladen. Da wären wir bei einer reinen Lernzeit von ca. 13 Jahren (optimistisch geschätzt). Anschließend wärst du in der Lage aus dem ganzen Zeichensalat deines Programms so einigermaßen zu verstehen, was da passiert. ABER: Die Computer, die dieses Programm ausführen können, existieren nicht mehr! Falls du doch einen findest, hast du das Problem, das Windows nicht mehr existiert, weil Linux, BSD und all die anderen Unixderivate im großen Showdown 2015 Microsoft vom Markt gekickt hatten. Wenn du dann doch noch ein "altes" Windows XP aufgetrieben hast, musst du es installieren, aber die Registrierung geht nicht mehr, weil Microsoft, wie gesagt, nicht mehr da ist.

Aber lassen wir mal diese kleine Zukunftsvision und betrachten es mal etwas ernster: Das was du als Zeichensalat da siehst, sind Informationen mit denen dein Computer etwas anfangen kann und entsprechend viele Dinge macht. Das Dumme dabei ist, das ein Computer im wesentlich nur 2 Dinge kennt: 1 und 0 (die Informationseinheit wäre das sogenannte Bit). Nun wäre eine Datei recht groß, wenn sie nur durch die Zeichen 1 und 0 dargestellt wird, also schnell mal 8 von diesen Bits zu einem Byte zusammengefasst. Rein rechnerisch ergeben sich dann aus diesem Byte 256 verschiedene Kombinationen der Bits. Jede Kombination von den 256 steht für ein Zeichen, das du in der Datei siehst. Es gibt einige die sind sichtbar, z.b. die Buchstaben A - Z, Ziffern von 0-9 usw. Einige Zeichen sind nicht sichtbar und werden dann auf der rechten Seite nur durch ein "Leerzeichen" dargestellt, das sind die "Whitespaces". Dann gibt es auch noch so ein paar Steuerzeichen, die in Form von kryptischen Symbolen in deinem Editor angezeigt werden. Nun könnte man diese Zeichen ändern, keine Frage, nur anschließend könnte folgendes passieren:
1. Es passiert nichts, das Programm läuft weiterhin so, wie du es gewohnt bist
2. Das Programm stürzt ständig ab
3. Das Windows stürzt ab, wenn du das Programm startest
4. Das Windows läßt sich nicht mehr starten nach dem Absturz
5. Deine privaten Urlaubsfotos auf der Festplatte sind beschädigt
6. Deine MP3 Sammlung auf der Festplatte ist beschädigt
7. Deine Hardware (Festplatte, Grafikkarte, Soundkarte oder etwas anderes) ist beschädigt

Also frage ich dich, möchtest du wirklich deine MP3 Sammlung verlieren nur weil du ein "paar" Zeichen in einer Datei geändert hast??? Wenn du das wirklich riskieren willst, dann geh auf Nummer sicher und fang an zu lernen (siehe obige Zukunftsvision)! By the way, Englisch solltest du auch auf mindestens Abiturniveau beherrschen.

Ich für meinen Teil würde die Finger davon lassen, solange ich nicht weiß, was ich da mache. Mein gut gemeinter Tipp (siehe Boron): Lass es.

Angenehme Grüße
Rossibaer
 
Zuletzt bearbeitet:
hmm man kann den deassembler benutzen. natürlich erhälst du damit keinen code aber du kannst mit assembler den ausführbaren teil verändern. keine ahnung wie dieser tool genau heissst :P
 
es ist ein Buchungsprogramm das auf DOS ebene Beträge verbucht und so.
es erstellt auch .dat Dateien mit denen man dann bei der Bank Einzüge machen kann.
Aber die erstellt es auf Laufwerk a:
das wollte ich erstmal ändern vielleicht kann mir wer helfen der das kann.
Gibt es für sowas kein Editor der das im klartext dastellt es muß doch prograsmmiert worden sein
 
Wenn das Programm immer auf A:\ schreiben will - dann starte es doch in DOSBox und mappe Laufwerk A:\ über DOSBox irgendwo hin. Das ganze verpackst du in einem Batch-Script und einer DOSBox-Konfigurationsdatei und schon muss man nur noch die Batch starten und der Rest ist transparent.
 
klar könnte das laufwerk umleiten.
ich gehe aber darauf aus das ich das programm so haben will das es alle einheiten mit einem tastendruck abrechnet. bisher muß man jede einheit einzel aufrufen diskette rein formatieren und die .dat draufschreiben.
Mir schwebt vor das man einfach ein unterprogrammm schreibt das die einheiten abrechnet die dat dateien in verschiedene Ordner schreibt auf ein netzlaufwerk auf dem Server.
aber mit den komischen zeichen kann ich nicht groß was anfangen.
der wo das programm programmierte gibt es nicht mehr.
irgendwie muß das doch zu machen sein.
nur leider kenne ich mich da nicht besonders oder gar nicht aus :-(
 
Was du brauchst ist der Quellcode des Programms, sodaß du aktiv Änderungen machen kannst. Nach dem du den Quellcode geändert hast, kannst du ihn neu kompilieren, d.h. in eine Datei übersetzen, die dein Computer versteht und ausführen kann. Im allgemeinen ist das die EXE Datei. Die EXE Datei direkt zu verändern, ist das schwierigste was du machen kannst. Die Chancen das dann das Programm fehlerfrei läuft sind extrem gering, es sei denn du hast die Bücherliste von oben auswendig intus und mehrjährige Erfahrungen im Cracken von Programmen.
 
mit was kann ich sowas programieren und wie aufwendig ist das?
kann ich dazu das alte programm nicht irgendwie als vorlage nehmen quasi als basis
wer kann mir da tips geben??
 
Zum programmieren hast du die Qual der Wahl: VisualBasic, C#, C/C++, Java, Pascal, Delphi, Assembler, Python, PHP, Perl, Lisp, Brainfuck ... um nur einige Programmier-/Scriptsprachen zu nennen mit denen du ein Programm erstellen kannst. Wenn du das alte Programm als "Vorlage" verwenden willst, kannst du das machen, indem du das alte Programm disassemblierst, deine Änderung in diesem Assemblercode machst und wieder neu assemblierst, sprich zurück in ein Programm kompilierst/übersetzt. Das wird aber sehr schwer und entsprechende Vorkenntnisse vorausgesetzt auch etwas dauern.
 
Zuletzt bearbeitet:
hat hier niemand erfahrung und lust mir etwas zu helfen?
ich denke wenn das jemand drauf hat ist das alles in ein paar stunden gemacht wo ich mich erst monate reinlesen muss.
 
Auch wenn man Erfahrung darin hat, benötigt man dennoch Zeit um das zu machen. Also es ist nicht in ein paar Stunden zu lösen! Wenn du über den Weg gehen möchtest, das du erst disassemblierst, dann änderst und wieder neu assemblierst, wird es viel Zeit brauchen, weil Assembler sehr Hardware nah ist, d.h. man muss sich mit einer Unmenge an Befehlen auseinandersetzen um überhaupt erstmal den Ablauf des Programmes zu verstehen. Das ist das, was die meiste Zeit kosten wird und ist nicht eben mal in paar Stunden machbar. Die Änderung, was du machen willst, beeinflußt auch die Dauer. Mal schnell A: auf ein Netzlaufwerk ummappen kann ebenfalls viel Zeit in Anspruch nehmen. Also mein gut gemeinter Tipp wäre, das du es darauf beruhen läßt.

Alternative wäre das Programm in einer Hochsprache neu zu programmieren. Dazu müsstest du aber genau wissen, was das Programm macht und vorallem, wie es das macht. Dann wäre man sicher schneller...
 
also ich würd' ein anderes Programm suchen...

gäb übrigens noch ne Möglichkeit, man könnte es auch noch decompelieren...
Allerdings musst du dann auch wieder c/c++ oder was auch immer du benutzt lernen....


schöne Grüße
 
Und außerdem dich erstmal in dem dekompilierten zurechtfinden, falls es überhaupt klappt.
Variablennamen etc. gehen nämlich verloren.
 
das program ist eigentlich ziemlich simpel. es startet in einem dos fester mit eingabebefehlen über die tastatur.
mann kann es auch auf einen reinen pc mit dos laufenlassen.
die ausführbahren fenster sind mit der endung .exe und denn gibt es noch die anderen dateien die dann die daten beinhalten wie einnahmen ausgaben bankverbindungen und so.
vielleicht macht das hier wer beruflich oder nebenher als hobby.
 
vielleicht macht das hier wer beruflich oder nebenher als hobby.

Was heißt "das"?

Ich glaube dir fehlen einfach die Grundlagen um die Probleme zu verstehen.

Ist das Programm quelloffen? (Oder wurde das schon gefragt?)

Gruß,

badday
 
@mak006: soweit schon klar, aber worauf meine Frage abzielte, war ob es weitere Dateien ala DLL, BIN, OBJ oder ähnliches gibt die das ganze noch komplexer gestalten! PS: Wie sieht es mit Bezahlung aus? In einer Firma hab ich mal gearbeitet, die ca. 1000,-€ für einen Software-Entwickler pro Tag verlangte. Kannst du das bezahlen? ;)

@badday: war doch nur eine simple frage, ob ihm einer helfen kann :)
 
Zuletzt bearbeitet:
es sind nur die .exe dateien zum ausführen und die daten mit denen das programm arbeitet.
ich kenne mich leider mit programieren nicht so aus und wollte nur wissen ob mir wer helft da es wohl für mich etwas zu komplex ist :-(
 
Zurück
Oben