CreateMutexW in Dll => ERROR_NOACCESS
-
Hi,
ich lade einen Prozess in OllyDbg und injiziere meine Dll, die ein Mutex-Objekt erstellen soll. CreateMutexW gibt allerdings NULL und GetLastError ERROR_NOACCESS zurück.Wenn ich den Mutex-Namen in die Data-Sektion der Executable schreibe und damit CreateMutex in meiner Dll aufrufe, funktioniert es. Übergebe ich für den Mutex-Namen eine Adresse aus der Data-Sektion meiner Dll kommt wie gesagt ERROR_NOACCESS.
Ändere ich nun aber CreateMutexW zu CreateMutexA, so funktioniert es wieder, auch wenn die Adresse innerhalb meiner Dll liegt.
Ich bin echt überfragt, wo das Problem liegt..
-
Am Stringformat ....
-
Ok, bin jetzt endlich drauf gekommen.. Der Unicode-String muss Word-aligned sein.
Ich wusste nicht, dass man unter x86 alignen muss, außerdem funktioniert z.B. MessageBoxW auch ohne Alignment.Hat da jemand evtl. nähere Informationen?
-
Das einzige, was ich bisher zum Thema gefunden habe:
http://comp.newsgroups.archived.at/os.ms-windows.programmer.win32/200603/06032329544.html
Leider ohne weitere Informationen bzw. Quellen.
-
Krass.
Hätte ich mir nicht erwartet...Interessante Info, danke dass du die Lösung selbst gepostet hast!