1

Тема: AHK: Minhook Problem

Code 1 =

Kernel32LoadLibraryA := New MinHook("KERNEL32.dll", "LoadLibraryA", "Kernel32LoadLibraryA_Hook") {
	Kernel32LoadLibraryA.Enable()
Return

	Kernel32LoadLibraryA_Hook(lpLibFileName) {
		global Kernel32LoadLibraryA
		aa := strget(lpLibFileName,"utf-8")
                FileAppend,%aa%`n,Module.txt
                return DllCall(Kernel32LoadLibraryA.original, "Ptr", lpLibFileName)
}
Return

Code 2 =

Kernel32LoadLibraryA := New MinHook("KERNEL32.dll", "LoadLibraryA", "Kernel32LoadLibraryA_Hook") {
	Kernel32LoadLibraryA.Enable()
Return

	Kernel32LoadLibraryA_Hook(lpLibFileName) {
		global Kernel32LoadLibraryA
		aa := strget(lpLibFileName,"utf-8")
                return DllCall(Kernel32LoadLibraryA.original, "Ptr", lpLibFileName)
}
Return

Как ни странно, Code1 вызывает зависание процесса. Но Code2 работает нормально. Следует ли мне рассматривать это как ошибку в minhook? Или я что-то упускаю? Единственная разница между этими двумя кодами заключается в том, используется ли команда FileAppend.

2

Re: AHK: Minhook Problem

Мне не удалось воспроизвести проблему, оба кода работают без ошибок, если не считать, что у вас лишняя фигурная скобка в конце первой строки.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Minhook Problem

Я нашел причину.
strget(lpLibFileName,"utf-8") = X
strget(lpLibFileName,"UTF-8") = O