Beiträge von ProfEich
-
-
-
-
-
DDR 4th Mix - Shooting Star (BANG)
-
*Idee aus anderem Forum klau >D* *evil Dieb is*
Und so gehts:
1. Google Bilder suche öffnen
2. Zwischenablage reinkopieren (nicht schummeln ; )
3. Erstes Bild, dass angezeigt wird hier posten
4. Dasselbe nochmal nur diesmal nicht mit der Zwischenablage, sondern mit dem Nick hier im Forum.Zwischenablage war leider grade nur Schrott drin, so dass er nichts gefunden hat, aber bei ProfEich findet man:
[Blockierte Grafik: http://www.greenville.edu/publications/record/spring-99/images/profeich.jpg]
o-O"
-
Wisst ihr was ich grausam finde?
Dieses ekelhafte grün, welches du grade zum Glück wegmarkierts o.o
-
Love Hina - SakuraSaku Euro Mix
aus StepMania *Auf Sig deut* -
-
PC Texthacking-Tutorial IO
1. Einführung
PC Texthacking-Tutorial 10 (Binär für 2 ;)). Dieses Tutorial beschäftigt sich mit einem
wunderschönen (*hust**röchel*) Quiz-Spiel welches ich in ein paar Minuten herbeigezaubert
habe. Auch in diesem Tutorial wollen wir versuchen, dass Spiel auf Deutsch zu übersetzen
und ein paar eigene Fragen einzufügen.Bevor du dieses Tutorial ließt, solltest du zunächst das erste Tutorial lesen um ein paar
Grundlegende Dinge über OllyDbg zu erfahren. Denn auch in diesem Tutorial werden wir
es benutzen. Assembler wird in diesem Tutorial schon ein wenig wichtiger. Aber immernoch
nicht 100%ig.Hier ist also unser Testprojekt für dieses mal:
http://www.devil-studios.de/profeich/pchdemo/tut2.zipDu kannst es ruhig mal ausprobieren. Es hat viele tolle Features. Massig Fragen und ein
wunderschönes Design. (Man bemerke diese Ironie). Jedenfalls ist es Englisch und wir
möchten es gerne Deutsch haben. Auf dem Weg dahin gleich noch ein paar eigene Fragen
einfügen.2. Let's go
Jetzt wo ich anfange zu schreiben, glaube ich schon bald, dass dieses Tutorial einfacher wird
als das vorherige. Naja. Nicht wirklich - aber wir werdens sehen!
Nach dem ersten Blick auf die Tutorial2.exe denkt man sich sofort, man könnte bestimmt was
mit dem Resource Hacker machen. Also probieren wir das doch direkt mal aus. Öffnen wir doch
einfach mal den Resource Hacker und öffnen damit die EXE Datei.Aber was ist das? Das Dialog ist total unbeschriftet. Nur ein paar Standarttexte, die
scheinbar von Anfang an, seit dem erstellen, da waren.
Hier lässt sich also scheinbar nichts machen.Öffnen wir die EXE Datei also mit OllyDbg und suchen mal nach Text Strings ("All refereced text strings").
Aber auch hier sieht es nicht wirklich so aus, als hätten wir irgendwo Texte. Nur die oberen drei
Zeilen haben wirklich eine individuelle Bedeutung für das Projekt. "rb", "language.dat"! Kommt uns irgendwo her
bekannt vor, oder? Vielleicht aus C++:Und siehe da! Da ist wirklcih eine language.dat in dem Verzeichnis (gut, die ist uns auch schon eher aufgefallen ).
Davon machen wir uns erstmal eine Sicherheitskopie. Nennt sie meinetwegen "Copy of language.dat".Und wie man aus dem Namen nicht hätte erraten können, finden wir tatsächlich die Sprache in der Datei wieder.
Das sehen wir, wenn wir es mit Notepad/Editor öffnen oder einem anderen Texteditor.
Es sieht zwar ein wenig eigenartig aus, hat aber dennoch eine Bedeutung.
Nach kürzerer Zeit Analysieren, bemerken wir, dass ein einziges eigenartiges Zeichen (0xFF) die einzelnen
Textabschnitte voneinander teilt.
So ist es kein Problem Textlängen zu variieren und die Texte zu bearbeiten.Die ersten beiden Textabschnitte "LANG" und "1471895" sagen uns derzeit noch nichts, also werden wir auch die Finger
davon lassen. Probieren wirs einfach mal aus und ersetzen den
Abschnitt "quiz master 2004" durch "Quiz Master 2004 - Deutsch -". Dann nur noch speichern und das Spiel starten.WTF! Was will der von uns?
Die language.dat scheint kaputt zu sein? Von wegen auch <_<. Wir sollen ein Spiel reinstallieren, was nichtmal ein
Installprogramm hatte. Toll.. Aber so leicht geben wir nicht auf.3. OllyDbg hilft weiter
Öffnen wir die EXE Datei also wieder mit OllyDbg und lassen uns wieder alle Texte anzeigen, die in der
Datei vorkommen. Hmm.. Die Fehlermeldung von eben ist nicht in der Liste. Irgendwo scheint diese Fehlermeldung
versteckt zu sein.
Man könnte nun die ganze EXE Datei durchsuchen, würde aber sicher auch nicht fündig werden.
Was tut man also?
Nun, wir wissen, dass eine MessageBox beim Programmstart erscheinen wird. Diese MessageBox beinhaltet den Fehler.Man müsste also das Programm anhalten können, kurz bevor die Fehlermeldung erscheint. Und ratet, genau das tun
wir jetzt!
Macht ein Rechtsklick in das CPU Fenster (da wo der Assembler Code steht). Klickt auf "Search for" und
dann auf "Name (label) in current module".
Es öffnet sich ein Fenster mit ganz vielen Funktionsnamen, die wir ggnf. aus der WinAPI kennen. Das sind alle
Funktionen die über DLLs in das Programm importiert wurden. Wenn wir ein wenig nach unten scrollen sehen wir
auch einen Eintrag der etwa so heißt:MessageBox - da ist sie! Markiert die Zeile mit der linken Maustaste und klickt dann mit der Rechten drauf.
"Set breakpoint on every reference".
Was tut das nun? Jedes mal, bevor die Funktion MessageBoxA nun aufgerufen wird, stoppt das Programm. Somit
haben wir die Gelegenheit den Code an dieser Stelle zu analysieren. Und genau das brauchen wir doch, oder?
Sobald das Programm die Fehlermeldung ausgibt, möchten wir es anhalten um dort den Quellcode zu analysieren.Nun drücken wir auf den Play-Knopf. Das CPU Fenster springt an eine andere Stelle und unten Rechts steht
auf gelbem Untergruund "Paused".
Und in der markierten Zeile steht "MessageBoxA" am Ende. Perfekt.3.1 Breakpoints
Wir haben grade einen Breakpoint festgelegt. Was ist das jetzt genau und wofür haben wir das gemacht?
Beim starten des Programmes wird ja der komplette Assembler Code durchlaufen, den wir vor uns sehen können
und noch viel mehr in irgendwelchen anderen Dateien (DLLs). Man kann dem Debugger (ollyDbg) nun sagen,
dass er in einer bestimmten Zeile dieses Assembler Codes eine Pause machen soll, wenn er diese erreicht.
Somit haben wir die Möglichkeit den Assembler Quellcode an dieser Stelle genauer zu analysieren. Zum
Beispiel kann man den Assemblercode dann Zeilenweise ablaufen lassen und genau nachvollziehen, was in
welcher Zeile passiert.
Wofür haben wir nun einen Breakpoint gesetzt? Bevor diese Fehlermeldung am Anfang erscheint wird nun
eine Pause gemacht und somit ist es möglich für uns genauer zu analysieren was davor passierte. Warum
erscheint dieser Fehler? Können wir die Fehlermeldung umgehen? Usw.4. Die einfache Variante
Es gibt nun zwei Varianten bez. dieser Fehlermeldung. Die eine Variante ist es, die Fehlermeldung einfach zu
umgehen und die andere Variante währe es den Quellcode zu analysieren und rauszufinden warum dieser Fehler
überhaupt erscheint.Wir möchten zunächst die einfachere Variante ausprobieren. Scrollt soweit nach oben, bis ihr den Assembler-Befehl
findet, der mit J anfängt. Die Zeile sollte wie folgt aussehen:Jetzt müssen wir die ersten Assembler Befehle kennenlernen. JNZ. Das J steht für Jump. Das NZ ist eine Bedingung.
Er soll den Jump nur machen, wenn der Flag Z gesetzt ist. Was Flag Z ist brauchen wir jetzt noch nicht zu wissen.
Jump bedeutet, dass er in eine andere "Zeile" des Assembler-Codes springt. Also an eine andere Speicherstelle.JNZ steht für "Jump if Not Zero"
Jedenfalls springt er über diese MessageBox nur hinaus, wenn eine bestimmte Bedingung erfüllt ist. Wir überfliegen
das ganze jetzt so, dass wir sagen, er springt IMMER über diese MessageBox hinweg.Zunächst müssen wir das Programm aber wieder an den Anfang setzen, weil wir es nicht rückwärts
abspielen können. Erstmal merken wir uns nun die gefundene Stelle. Dazu markieren wir die Zeile
und machen einen Rechtsklick drauf und wählen "Bookmark" -> "Insert bookmark 0".
Drückt jetzt auf den Doppelpfeil nach links, direkt neben dem Öffnen-Knopf in der Toolbar.
Es sollte sich eine Frage öffnen, die wir einfach mit JA.Jetzt irgendwo einen Rechtsklick machen und auf "Bookmark" -> "Go to bookmark 0". Schon sind wir
wieder an der Stelle von vorhin.Jetzt markieren wir diese Zeile und drücken die Leertaste (oder Rechtsklick->Assemble). Wir ändern
die Zeile jetzt auf:Also ändern wir nur das NZ zu einem MP. JMP ist die Abkürzung für "JuMP". Also soll er an eine
andere Stelle in der EXE Datei springen.Der Unterschied zwischen JMP und JNZ liegt daran, dass beim JMP-Befehl IMMER ein Sprung in eine andere
Zeile stattfindet. Beim JNZ-Befehl nur, wenn die oben genannte Bedingung erfüllt wird.Nun können wir das Programm testen mit dem "Play"-Knopf.
Was nun? Nichts passierte? Doch, keine Sorge! Minimiert OllyDbg mal. Im Hintergrund hat sich das Spiel versteckt.Es hat funktioniert. Und der Titel hat sich sogar auch geändert. So wie wir es wollten. Antwortet doch mal
Huch! Was nun? OllyDbg hat sich wieder gemeldet. Öffnet es mal wieder. Das Programm ist pausiert. Doch warum?
Wir errinern uns an etwas was wir vorhin getan haben? Einen "Breakpoint" an jede Stelle gesetzt, wo eine
MessageBox aufgerufen wird? Klickt oben mal auf den Knopf mit dem "B" (türkiser Hintergrund).Für jeden Eintrag der in dieser Liste erscheint macht ihr nun folgendes:
Ihr markiert ihn mit der linken Maustaste. Mit der Rechten öffnet ihr das Menü in dem ihr "Remove" auswählt.
Jetzt drückt wieder auf "Play" und minimiert OllyDbg.
Besser! Jetzt bleibt das Programm nicht ständig hängen.Zurück zum OllyDbg. Das übliche Speicherverfahren. Rechtsklick auf den Assembler Code im CPU Fenster,
"Copy to executable" "All modifications", etc.
Speichern unter "Tutorial2b.exe".Nun lasst uns OllyDbg schließen und das Spiel starten
Es klappt, endlich können wir das Spiel übersetzen.Den Rest bekommt man durch logisches denken raus. Die 7 nach dem "the answer was wrong :(" bedeutet
scheinbar die Anzahl der Fragen.Für die nächsten Schritte bräuchte man nun Assembler Kenntnisse. Und ich denke, wer Assembler kann,
kennt sich auch mit Debuggern wie OllyDbg aus und braucht wohl kaum ein Tutorial mehr.Also gehts erst weiter wenn ich mein Assembler Tutorial fertig habe und.. *zum PHP Tut starr xD*
-
PC Texthacking-Tutorial I
1. Einführung
Hi! Mit diesem Tutorial versuche ich euch ganz simples Text-Hacking für PC-Spiele beizubringen. Einmal die
simple Variante mit dem Resource-Hacker und dann geht es einmal Hardcore ran.
Ihr braucht hierfür keine Assembler-Kenntnisse auch wenn sie empfohlen werden.Als Beispielprojekt für dieses Tutorial hab ich in der Anlage ein kleines Projekt welches wir im laufe dieses
Tutorials übersetzen werden. Wir wollen das Projekt auf Deutsch übersetzen.Zunächst brauchen wir dafür 2 kleine Programme die zum Glück Freeware sind.
Downloaded also folgende Programme:
Und downloaded das Projekt hier, an dem wir alles testen:
"Guten Morgen" ProjektAlle Programme müssen einfach nur irgendwohin entpackt werden.
Vielleicht einen kleinen Blick auf das zu hackende Projekt werfen.
Schönes Programm (was keiner braucht) aber wir wollen es komplett übersetzen.Lasst uns also loslegen!
2. Das Dialog editieren
Fangen wir mit dem einfachen Teil an.
Startet den Resource Hacker und laded über File/Open das Projekt "Tutorial1.exe".Das ganze sollte jetzt so aussehen:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/rh01.jpg]Klickt nun auf das Plus vor dem Dialog. In der Liste erscheint ein 101. Das ist das Dialog
mit der Nummer 101. Da wir keine anderen haben öffnen wir also auch diesen "Ordner" mit
dem Plus davor. Wählt nun die neue Nummer aus die erscheinen sollte.
Es öffnet sich nun folgender Code:Code
Alles anzeigen101 DIALOG 0, 0, 178, 65 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Good morning greets" LANGUAGE LANG_GERMAN, SUBLANG_GERMAN FONT 8, "MS Sans Serif" { CONTROL "Greets", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 67, 44, 50, 14 CONTROL "Quit", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 121, 44, 50, 14 CONTROL "Enter your name:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 13, 13, 117, 8 CONTROL "", 1000, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 13, 25, 152, 12 }
Alle Texte zwischen den Anführungsstrichen kann man nun ändern. Ändern wir als die Daten so:
"Good morning greets" - "Schönen guten Morgen!"
"Greets" - "Grüße"
"Quit" - "Beenden"
"Enter your name:" - "Geben Sie Ihren Namen ein:"Klickt danach auf "Compile Script", sonst werden die Daten nicht übernommen. Die Vorschau
sollte sich nun angepasst haben und so aussehen:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/rh02.jpg]Speichert das Programm mit File/Save As unter "Tutorial1b.exe". Wenn wir das Projekt jetzt starten
haben wir ja schon fast alles Deutsch. Aber nicht zu früh freuen. Jetzt geht es nämlich an die komplizierteren
Sachen.Den Ressource Hacker brauchen wir für dieses Projekt nun nicht mehr.
3. Die MessageBox
Theoretisch ginge dieser Part jetzt auch mit einem HEX-Editor. Aber für mögl. folgende Tutorials sollte man
doch schonmal was mit dem OllyDBG gemacht haben.Startet den ollydbg. Öffnet damit nun die "Tutorial1b.exe". Jetzt bloss keinen Schock kriegen. Ihr werdet jetzt
nämlich massig Assembler Code kriegen. Aber ich habe ja gesagt - wir brauchen für dieses Tutorial keine
Assembler-Kenntnisse.Der Schock sollte etwa so aussehen
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/od01.jpg]Macht mal irgendwo ein Rechtsklick auf den linken, oberen Bereich. Klickt auf Search for und dann
auf All referenced text strings.Es sollte sich folgendes Fenster öffnen:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/od02.jpg]Siehe da! Unsere Texte die wir suchen sind sogar auch mit aufgelistet. Ein Doppelklick auf "Good morning :)"
führt uns im CPU Fenster zur gesuchten Stelle. An dieser Stelle im Code wird nun ein Zugriff auf den Text
gemacht. Es ist nur interessant zu wissen wie.Die markierte Zeile sollte so aussehen. Nur die Nummer hinten kann anders sein:
Ein Rechtsklick auf diese Zeile. Wir möchten nun versuchen den Text im Speicher wieder zu finden.
Wir wissen nur, dass der Text an der Stelle 40603C im Speicher ist. Da wir aber nicht über 10 Umwege
diese Stelle erst raussuchen wollen halt der Rechtsklick. Wir gehen auf Follow in Dump und dann
auf Immediate constant.
In dem Fenster unten, links sind wir nun an der Stelle, an der "Good morning :)" steht:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/od03.jpg]Mit der Maus (gedrückte Maustaste) markieren wir nun den kompletten Text mit der darauffolgenden 00.
Somit also die ersten, oberen 2 Zeilen in dem HEX-"Editor". Danach einmal mit Rechtsklick darauf klicken
und auf Binary -> Edit gehen.
Klickt auf das obere Eingabefenster in dem neuen Dialog, dass sich öffnen sollte. Überschreibt den Text
mit "Guten Morgen!".
Was fällt auf? Unser Text ist kürzer als der orginal Text. Wer ein wenig Erfahrung in der C++ Programmierung hat,
weiss, dass es ein sogenanntes 0-Byte gibt. Dieses ist die 00 die wir unten im HEX Fenster sehen.
Jeder Zahlen/Zeichenblock unten im HEX-Feld steht für ein Buchstabe oben bei ASCII. Die 00 ganz am Ende
ist ein Zeichen, dass das Ende des Textes angibt. Wenn wir also den Doppelpunkt ( 3A ) mit einer 00 Ersetzen,
haben wir auch da unser Ende Zeichen. Am besten füllt man gleich alles bis zum Ende mit Nullen auf.Das ist nicht leicht zu erklären aber seht einfach auf dem Bild wie es aussehen sollte:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/od04.jpg]Jetzt ist der Zeitpunkt gekommen das alles zu testen. Eins muss ich im voraus erwähnen. Das Programm besser
NICHT beenden. Zum testen einfach oben auf den blauen Play-Knopf drücken (der Pfeil, der nach rechts zeigt) oder
einfach F9 drücken. Das Programm öffnet sich meistens im HintergrundAuch wenn wir jetzt weiter machen, das Programm nicht beenden!
Jetzt ist alles soweit fertig. Schön, oder?
Aber wir müssen noch speichern. Dazu wechseln wir wieder (ohne unser Programm zu beenden) zum OllyDBG.
Dann klicken wir mit dem Rechtsklick auf unseren geänderten Text im "Hex dump" Fenster (die Markierung) und dann
auf "Copy to executable".
Es öffnet sich ein neues Fenster mit einem HEX Code.
Dieses kann aber sofort wieder geschlossen werden. Dann kommt die Frage ob du speichern
möchtest. Natürlich möchten wir das und zwar auf "Tutorial1c.exe". Jetzt können wir OllyDBG schließen und die
neue EXE Datei öffnen.4. EXE Datei erweitern
Irgendwie finde ich dieses starre "Hi /Name/!" sehr unfreundlich, dafür, dass er uns einen schönen guten Morgen
wünscht. Das Problem ist aber, dass wir Texte bislang nur verkürzen können und nicht verlängern weil dazu nicht
genug Platz in der EXE Datei ist.
Wer ein wenig Ahnung vom GBA Texthacking hat, weiss bestimmt was ich mit umpointen meine. Vorhin bei dem
"good morning" hatten wir folgende Zeile:0040603C ist dabei die HEX-Adresse in der EXE Datei. Die Stelle in der EXE-Datei, an der der Text steht.
Würden wir die Zahl nun um eins erhöhen, also 0040603D, dann würden wir nur noch "uten Morgen!" haben,
weil die Adresse eins zurück versetzt wurde.
Das Problem, dass sich nun stellt ist: Wohin mit dem neuen Text? Wo haben wir Platz für weitere Texte?
Man kann nun Glück haben und irgendwo eine freie Stelle finden, allerdings möchten wir uns nicht so
einschränken.Unser magisches Tool heißt "LordPE". Eines von sicher mehreren Programmen, die neue Sektionen an die EXE
anhängen können. Mehr dazu gleich.Hier gibt es das nette Tool
http://mitglied.lycos.de/yoda2k/LordPE/info.htmDieses wollen wir zugleich direkt auch mal starten. Als erstes klicken wir auf "PE Editor", wir wollen
schließlich den PE-Header von der EXE bearbeiten. Da stehen nämlich die Sektionen drin. Es sollte sich
ein "Öffnen-Dialog" öffnen in dem ihr die "Tutorial1c.exe" öffnet. Die ganzen Werte, die nun erscheinen
sollen uns erstmal nicht stören. Wir klicken einfach auf "Sections", da wir es auf diese abgesehen haben.Nun erscheint eine Liste aller Sektionen, die es in dieser EXE Datei gibt:
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/pe01.jpg]Alles davon müssen wir nicht kennen. Uns reicht wenn wir wissen:
.TEXT ist der "Quellcode". Dort steht der ausführbare Assembler Quellcode.
.RDATA beinhaltet konstante Texte, etc.
.DATA beinhaltet Variablenplatzhalter.
.RSRC beinhaltet Ressourcen. (Icon, Dialog, etc.)Wir wollen eine neue .RDATA Sektion einfügen. Rechtsklick auf irgendeine Zeile in der Liste und dann
"add section header" auswählen. Es sollte eine neue Zeile erscheinen:Rechtsklick auf diese neue Zeile und "edit section header..." auswählen.
Es öffnet sich ein neues Dialog. Als Namen können wir eigentlich eintragen, was wir wollen. Sollte nur
kurz sein und am besten mit einem Punkt beginnen. (Einfach um sich an Standarts zu halten )
Ich hab meine mal ".odata" für "own data" genannt. Die VirtualAddress und den RawOffset lassen wir so,
wie er ist. Das ist einmal die Position später im Speicher und einmal die Position hier in der EXE Datei.
Bei VirtualSize und RawSize tragen wir nun mal 00000800 ein, also 2048 im Dezimalsystem. Reicht auf jeden
Fall für unsere neue Nachricht. Nun noch ein Klick auf die drei Punkte hinter Flags.Hier kann man nun Eigenschaften festlegen, die diese Sektion haben soll. Wir brauchen eine Sektion,
die nur "Readable" ist und nicht "Contains executable code" hat.
Ebenso brauch "Contains uninitialized data" keinen Haken.Rechts im Kästchen "Current value" sollte nun 40000040 stehen.
[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/pe02.jpg]Dann OK und OK. Jetzt sind wir wieder bei der Liste.
Eigentlich könnte man denken, dass wir fertig sind, sind wir aber noch nicht!
Wir müssen an unsere EXE Datei nämlich noch Bytes anhängen, die wir für unsere neue Sektion benutzen
können. Ohne diese Bytes könnten wir schließlich keine Nachrichten speichern.Dazu reicht allerdings ein Rechtsklick auf unsere neue Zeile und dann "truncate at end of section".
Jetzt können wir das Fenster schließen mit den Sektionen und in dem darunterliegendem Dialog auf
"SAVE" klicken. Danach nur eben noch auf "OK" und "EXIT".
Und schon haben wir das auch erledigt.5. Restarbeit
Jetzt öffnen wir die Tutorial1c.exe wieder mit OllyDbg. Wir wollen nun einen neuen Text in unsere ebenso
neue Sektion schreiben. Dazu klicken wir einfach auf das "M" oben mit dem türkisen Hintergrund.
Es öffnet sich ein "Memory map" Dialog, in dem wir unsere neue Sektion sehen sollten.Einmal Doppelklick darauf und es öffnet sich ein HEX Editor. Markiert einen größeren Abschnitt und macht
Rechtsklick "Binary" -> "Edit"[Blockierte Grafik: http://www.devil-studios.de/profeich/pchdemo/od05.jpg]
Jetzt müssen wir uns kurz zurück errinern. Die Nachricht lautete "Hi %s.". Also muss %s der Platzhalter
für den Namen sein! Wunderbar! Also lasset uns eine neue Nachricht schreiben mit %s als Platzhalter:"Hallo %s! Ich wünsche dir einen schönen guten Morgen!" als Beispiel.
Wobei ich das Leerzeichen hinter dem Aufrufezeichen noch durch HEX 0A ausgetauscht habe für einen
Zeilenumbruch.Merkt euch unbedingt die Adresse, an der der Text steht. Sollte bei uns eigentlich immer 00409000 sein.
Nun wiederholen wir nochmal den Part mit dem Suchen nach allen Texten. Nur diesmal ein Doppelklick
auf "Hi %s."Die markierte Zeile sollte nun etwa so aussehen:
Rechtsklick darauf und "Assemble" auswählen.
Überschreibt nun die Adresse 0040604C mit der neuen Adresse 00409000 und drückt auf "Assemble"
und danach auf "Cancel".Nun probieren wir das Programm erstmal wieder aus. Dazu einmal auf den blauen "Play"-Knopf drücken.
Denkt dran: Das Programm nicht beenden!
Nachdem wir unseren Namen eingegeben haben werden wir nun freundlichst begrüßt!Aber jetzt müssen wir noch speichern. Dazu wechseln wir wieder zu OllyDbg.
Rechtsklick auf das Fenster und "Copy to executable" -> "All modifications".
In dem Fenster das sich dann öffnet einmal auf "COPY ALL" klicken.Aber Achtung! Er hat sich nicht wirklich alles gespeichert. Rechtsklick auf unsere geänderte Zeile
und "Follow in Dump" -> "Immediate constant". Unten in dem HEX-Editor sollte nun unser neuer Text
stehen. Markiert den und macht dann einen Rechtsklick drauf und wählt auch dort
"Copy to executable" aus.
Jetzt dürft ihr das Fenster mit dem HEX Code, welches erscheint schließen. Auf die Frage, ob
wir es unter einem anderen Dateinamen speichern wollen wählen wir "JA" und speichern das
ganze als "Tutorial1d.exe".Beende nun OllyDbg und starte die Tutorial1d.exe Datei. Mal schauen ob es klappt.
Und nun sollte es eigentlich schon klappen, sonst habt ihr was falsch gemacht oder ich zu schlecht
erklärt.6. Next time
Falls es ein Texthacking PC Tutorial 2 geben sollte, werde ich ein wenig Assembler Kenntnisse
voraussetzen müssen. Aber mal schauenFeedback, sowohl negativ (wohl eher ^^") als auch positiv ist sicherlich erwünscht!
-
Schandmaul - Vogelfrei
Wir sind freeeeeeiiiiiiiii - wie die Vöööögel -wir sind Vogelfrei o.o *sing*
-
[Blockierte Grafik: http://www.devil-studios.de/profeich/photos/tongueXDDDMediumWinCE.jpg]
[Blockierte Grafik: http://www.devil-studios.de/profeich/photos/LMAO.jpg] -
Huch, das ding hat doch wer gelesen? *huch*
gut, dann gibts doch mal ne Fortsetzung ^^"
-
Schon ein bißchen ältere News. Aber es gibt immer welche, die es noch nicht wissen *G*
Die nächsten Editionen sind schon in Entwicklung. Diesmal für den Gameboy DS.
Auch wenn Nintendo den DS nur ungern als Nachfolger seines GBA ansehen möchte, so kann man nicht bestreiten, dass vor allem Abwärtskompatibilität und die Funktionen mancher Nintendo DS Spiele trotz allem stark dafür sprechen. Unter anderem auch die neuen Pokémon Titel, die unter den Namen Diamond, Pearl und Dash vermarktet werden.
In einem Interview der Famitsu mit Tsunekazu Ishihara von Creatures konnten diverse Standpunkte geklärt werden: "Wir haben bisher viele Pokémon Spiele entwickelt, die einen leichten Einstieg in das Universum darstellen. Speziell Titel wie Ruby, Saphire und Emerald stellen ein wichtiges Rückgrat der Serie dar. Also haben wir begonnen, die kommenden Titel Diamond und Pearl als wahre Nachfolger dieser Spiele zu entwickeln. Damit werden wir so richtig in Pokémon einsteigen - freut euch schon darauf!"
Vor allem wurde verdeutlicht, dass es sich bei den Spielen nicht lediglich um Updates oder abgespeckte Versionen handeln würde, sondern dass die Pokémon Innovation mit allem Drum und Dran fortgeführt werde.Damit aber noch nicht genug. Pokémon Dash hat nämlich noch ein ganz besonderes Feature mit im Gepäck. Steckt man während dem Spielen von Dash nämlich ein GBA Pokémon-Modul in den DS, so verbinden sich beide Spiele miteinander.
Ishihara hierzu: "Steckt Ihr während dem Spielen von Dash ein GBA Pokémon in Euer System, so werden sich eure Pokémon in Rennstrecken verwandeln. Es werden sozusagen Fun Strecken sein, in Form eines Pokémon."Sicherlich eine sehr erfreuliche Nachricht für alle Pokémaniacs! Auch alte Fans und Freunde der RPGs dürften somit einen Anreiz haben, mit dem DS zu liebäugeln. Die breite Fangemeinde des Poké-Universums wird sicherlich auch weiterhin ein wichtiges Zugpferd Nintendos darstellen. Sollte weiteres bekannt werden, seid Ihr bei uns wie immer an der richtigen Adresse, um es zu erfahren!
-
-
Meine Gedanken in letzter Zeit oftmals wieder x_X
-
Hmm. Wo gibt es denn den Rucksack?
-
o-O öh?
*auf wand zurenn*
BAANG!AUA X_X
-
Wir doch nicht
Komm ich zeigs dir! Folg mir!
Renn einfach gege.. äh.. durch diese Wand *auf eine Wand deut*