Ich habe hier eine nette Frage.
Es gibt ein Dienstprogramm namens reg.exe, das schon seit geraumer Zeit mit Windows ausgeliefert wird. Es ist sehr praktisch, .reg-Dateien aus Skripten zu importieren, Werte aus Skripten usw. zu ändern. Wenn Sie also eine Kopie davon für ein Skript-Szenario erstellen ("Warum nicht die Kopie in system32 verwenden?" - & gt; pref, etc) Ich bemerkte, dass das Umbenennen es stillschweigend stört:
Windows Server 2008 x64:
%Vor%Aber mit Windows XP x86:
%Vor%WinDbg scheint mir zu sagen, dass das CRT es tötet:
%Vor%Aber da ich mit WinDbg nicht sehr erfahren bin (und dieses ist 64bit, also, sagen wir, Ollydbg scheitert), bin ich hier irgendwie ratlos. Danke für die Informationen, die ihr habt.
Dank der Hilfe von CyberShadow und ein bisschen Googeln habe ich die Lösung gefunden: Es sucht nach .mui (es ist die Übersetzung) in einem Unterordner der aktuellen installierten Sprache.
%Vor%Wenn ich etwas mit einem Debugger herumgespielt habe, habe ich festgestellt, dass LoadString (das zum Abrufen der Verwendungs- und Fehlermeldungen verwendet wird) ERROR_MUI_FILE_NOT_LOADED zurückgibt. Ich denke, das erklärt es etwas:)
Anmerkungen:
Wild rate hier, aber einige Apps verwenden den Namen der Anwendung, um zu bestimmen, was es tun soll - das ist ein alter UNIX-Trick; Beispielsweise sind /bin/false
und /bin/true
identische Binärdateien, aber der Name bestimmt, welches Ergebnis zurückgegeben werden soll.
Sie tun dies, wenn Sie am Ende 2+ Programme schreiben, die zu 99,9% identisch sind, und Sie nicht für jedes separate Code-Basen pflegen wollen.
Tags und Links rename windows-server-2008 reverse-engineering crt