Что нового

[Процессы] Чтение блока памяти x64 битного процесса

firex

AutoIT Гуру
Сообщения
943
Репутация
207
Доброго времени суток.
Столкнулся с проблемой - не смог прочитать данные из x64 битного процесса.

AutoIt на это способен? (использую сборку > 3.3.9.0, поддержка x64 для Dec/Hex/DllCall уже введена). Привилегии: SeDebugPrivilege

Код:
MsgBox( 64, '', _FMem_Read( 5436167968, $hProcess, 'float' ) ) ;5436167968 = 0x144055720

Func _FMem_Read($_ivAddress, $ah_Handle, $_svStruct = 'int', $_itRet = 1)
	If Not IsArray($ah_Handle) Then _
		Return SetError( 1, 0, 0 )

	Local $_vBuffer = DllStructCreate($_svStruct)
	If @Error Then _
		Return SetError( @Error + 1, 0, 0 )

	DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $_ivAddress, 'ptr', DllStructGetPtr($_vBuffer), 'int', DllStructGetSize($_vBuffer), 'int', '')
	If Not @Error Then
		If $_itRet Then _
			Return DllStructGetData($_vBuffer, 1)

		Return $_vBuffer
	Else
		Return SetError( 6, 0, 0 )
	EndIf
EndFunc


Заранее благодарю.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
firex
А в x86 вы тестировали?
 
Автор
firex

firex

AutoIT Гуру
Сообщения
943
Репутация
207
MnM
С X86 проблем нет.


Добавлено:
Сообщение автоматически объединено:

Проблему решил:
http://www.autoitscript.com/forum/topic/115352-process-thread-dll-functions-udfs/
 
Верх