| Windows Dieses Forum dient den Diskussionen rund um alle Microsoft-Betriebssysteme. |
Diskussion: Kernel32 ändern (RestoreLastError) im Forum Windows, in der Kategorie Operating Systems; Anzeige Hallo erstmal, mein 1. Beitrag :D Ich hab auch gleich ein Problem: Ich habe ein Spiel, dass die Function ...
![]() |
| | #1 (permalink) |
| Registriert seit: 02.01.07 ![]() Likes: 0 | Anzeige Hallo erstmal, mein 1. Beitrag :D Ich hab auch gleich ein Problem: Ich habe ein Spiel, dass die Function "RestoreLastError" in der Kernel32 aufrufen will. Leider Existiert diese Funktion nicht in der Windows 2000 DLL, aber ie Funtkion "SetLastError", die exact das gleiche tut. Scheinbar will microsoft die Allgemeinheit dazu zwingen auf XP umzusteigen X( Da die Exe Datei scheinbar kopiergeschützt (oder warum auch immer) kann ich den Funktionsnamen nicht ändern. (Jeder Hex-Editor, bis auf Hex-Editor ME, kann den Datensatz nicht finden, und der ME zeigt irgendwie nur 4 byte O.o) Also hab ich mir gedacht, entweder mit einem DLL editor: Die Funktion einfach umbennenen, oder besser: Die Funktion kopieren und in RestoreLastError umbennenen. Aber wie mach ich das? Hab es schon mit dem http://www.dependencywalker.com/ versucht. Der Zeigt aber nur Funktionen an und exportiert in Textdateien, kann aber nichts ändern oder importieren... Hat jemand einen guten editor oder andere Tips parat, bin mit meinem Latein am Ende... Danke schonmal, MfG Extinction |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 14.09.03 ![]() ![]() Likes: 34 | schonmal daran gedacht, dass es für das Spiel evtl. einen Patch gibt? um welches handelt es sich denn? Im übrigen könnte dir die Windows File Protection probleme machen wenn du in den System Datein rumpfuschst. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) | |
| Registriert seit: 31.07.05 ![]() Likes: 0 | Zitat:
Wenn er seine fertig modifizierte DLL ins Spieleverzeichnis kopiert, hat sie eine höhere Priorität als die in System32 und wird vom Program geladen ohne dass er die alte ersetzen müsste. | |
| | |
| | #4 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
Was man allerdings recht simpel machen könnte: eine Kopie der kernel32.dll erstellen (z.B als yernel32.dll benennen) und diese Kopie modifizieren - LordPE ->"PE-Editor->Directories->Export Table->anzeigen lassen und Edit wählen. Ich denke das wäre das einfachste - denn einen Export hinzuzufügen wäre nicht unbediengt einfacher (zudem das Spiel sowieso nichts mit der XP Funktion anfangen kann). Im Spielexe müsste nur noch statt "kernel32.dll" ein "yernel" geschrieben werden - mit etwas Glück hat der Kopierschutz nichts dagegen und importiert Kernel32.DLL Funktionen nicht noch durch einen extra Aufruf. Als Alternativmaßnahme würde mir noch eine art Filterpatch für GetProcessAddress einfallen, was aber nicht ganz trivial wäre (API hooking) PS: es kann auch sein, dass eine der zahlreichen "Nebendlls" diesen fehlenden import hat - so dass manipulationen an der Hauptexe nicht viel bringen würden.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 02.01.07 ![]() Likes: 0 | Ich glaube es währe einfacher den Eintrag in die Kernel32 zu schleusen als die Exe zu ändern. Da geht garnix, sowas ist mir noch nicht untergekommen. Scheinbar können die Hex-Editoren (hab auch den PE Editor probiert) die Datei nicht richtig laden, denn wenn ich sie ohne Änderungen speichere kann sie nicht mehr gestartet werden. (bei Doppelklick passiert garnichts mehr, Großteils verschwindet auch das Icon und wird durch dieses standart exe Bild ersetzt, nur der PE-Editor übernimmt das Icon...) Ich hab es aber nicht geschafft, den Namen der Funktion in der Kernel32 zu ändern. Beim PE-explorer kann ich ihn zwar anzeigen, in den Editor wechseln etc., aber der Name lässt sich nicht ändern. Würde sich das mit dem "IID King" machen lassen? Mit etwas Glück übersieht die Windows File Protection das. Dann währe die möglichkeit, dass die Funktion über eine andere Datei aufgerufen wird, auch nicht vorhanden... Oder überprüft Windows die größe der Systemdateien bytegenau? |
| | |
| | #6 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
IID kann afaik keine Exports hinzufügen - zumindest die alte Version (die neue habe ich noch nicht begutachtet). Auf jedenfall müsstest Du nicht einfach SetLastError ersetzten sondern wirklich einen zusätzlichen Export hinzufügen(sonst läuft das System wohl icht mehr) - mir ist auch kein DLL Editor bekannt, der es kann (eventuell findet sich nach einer Suche was).
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 02.01.07 ![]() Likes: 0 | Sooo, Ich wollte dieses alte Thema nochmal ausgraben, nur zu Infozwecken. ![]() Ich hab mal ein wenig rumgesucht und irgendwann einen Crack gefunden, der die Funktion nicht benutzt, läuft nun einwandfrei. Eins interessiert mich aber noch: Hätte man nicht auch die Funktion in der DLL hexen können? DLL sind ja nicht so kompliziert gestrickt wie exe-Dateien, oder? |
| | |
| | #8 (permalink) | |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Zitat:
Leider ist mir nicht so ganz klar was du mit "die Funktion in der DLL hexen können" meinst. Theoretisch könnte man auch die ganzen Änderungen mit einem Hexeditor vornehmen(meinst du das mit "hexen") wobei das ziemlich umständlich und fehleranfällig ist und man sich doch lieber ein Programm schreiben sollte, was dies für einen erledigt, wenn man nichts findet. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| kernel32.dll, user32.dll,shell32.dll und ntoskrnl.exe verändert | FloKe | Die Problemzone | 11 | 03.02.08 13:52 |
| Liste aller Funktionen von der Kernel32.dll | IsNull | Windows | 4 | 03.01.07 14:05 |
| Kernel32 Defekt? | GF-DarkAngel | Die Problemzone | 2 | 13.01.06 10:59 |
| Passwort durch dass ändern der Sam Datei ändern | Xalon | (In)security allgemein | 3 | 08.01.06 18:54 |
| Kernel32.dll | Rockwilder | Die Problemzone | 2 | 27.10.03 22:49 |