Что нового

_MemoryWrite запись в память значения

greshnik77

Новичок
Сообщения
27
Репутация
0
Имеем вот такую картину



В 7DBAA43A адресе хранится нужная инфа для изменения

Код:
If ProcessExists("AION.bin") Then
	$AionProcessName = "AION Client" ; Титул окна, в моем случае AION Client
	Global $ProcessID = WinGetProcess($AionProcessName, "");(ну, или $pid) ; Идентификатор процесса
	If $ProcessID <> -1 Then
		SetPrivilege("SeDebugPrivilege", 1) ; Устанавливаем привелегии на дебаг
		$sModule = "Game.dll" ; Модуль процесса Aion.bin, который содержит базовый адрес
		$baseADDR = _MemoryModuleGetBaseAddress($ProcessID, $sModule)
		; Функция вытаскивает базовый адрес из модуля по PID'у
	EndIf
	$DllInformation = _MemoryOpen($ProcessID)
	$offset_name = 0x7A9848
	$mem10 = "0x" & Hex($baseADDR + $offset_name)
	$name = _MemoryRead($mem10, $DllInformation, 'wchar[32]')
	_MemoryWrite($mem10, $DllInformation,GUICtrlRead($Input1), 'wchar[32]')

И после этого ничего не записывается и значение не меняется.
Если записывать так, то всё ок.
Код:
_MemoryWrite(0x7DBAA43A, $DllInformation,GUICtrlRead($Input1), 'wchar[32]')


Уже целый вечер бьюсь, а результата ни какого :'(
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Можно проверить значения переменных перед выполнением этого
Код:
_MemoryWrite($mem10, $DllInformation,GUICtrlRead($Input1), 'wchar[32]')

приблизительно так
Код:
$var1 = $mem10
$var2 = $DllInformation
$var3 =GUICtrlRead($Input1)
MsgBox(64, "Inf", $var1 & " - " & $var2 & " - " & $var3)

вдруг ошибка где в значении переменной
 
Верх