|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблемы со значением
Задача - тренер на игру
Вобщем есть часть кода от тренера: Код:
procedure TForm1.Button1Click(Sender: TObject); var WindowName: Integer; ProcessId: Integer; ThreadId: Integer; buf: PChar; write: Cardinal; HandleWindow: Integer; const WindowTitle = 'блаблабла'; Address1 = $00DF5AE0; PokeValue = 99999999; NumberOfBytes = 4; begin WindowName:=FindWindow(nil, WindowTitle); if WindowName = 0 then begin Beep; ShowMessage('Запусти игру для начала!'); Edit1.Text := 'You Must начадь гейм'; Exit; end; Edit1.Text := 'чит активен'; ThreadId:=GetWindowThreadProcessId(WindowName, @ProcessId); HandleWindow:=OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId); GetMem(buf, 1); buf^:=Chr(PokeValue); WriteProcessMemory(HandleWindow, ptr(Address1), buf, NumberOfBytes, write); FreeMem(buf); CloseHandle(HandleWindow); end; Проблема такова. После нажатия кнопочки после которой срабатывает данный код в игру по нужному адресу вбивается не указанное значение а фигня какаето. Вот тут значение: Код:
PokeValue = 99999999; А в игре появляется 121281939 допустим.. Если сделаю так: Код:
PokeValue = $99999999; То всеравно такаяже фигня.... Я уж ненаю что делать. Даже если я введу: Код:
PokeValue = $0000000; или PokeValue = 0000000; Всеравно не прет.... Как сделать чтобы появлялось в игре точное значение? Пожааалуйста!! оч надо! НичеНепонимаю Савсем! Кто объяснит мне тот получит конфетку!!! |
#2
|
|||
|
|||
ответьте пожалуйста
НичеНепонимаю Савсем! Кто объяснит мне тот получит конфетку!!! |
#3
|
|||
|
|||
Значение в игре может быть закодированным. А может ты и не по тому адрессу его пишешь.
... (посмотрел по внимательнее) Цитата:
2. потом по нужному тебе адресу пишется 4 байта с адреса переменной buf, где точно известно что первый байт =255 а остальные три неизвестно что хранят в себе! Собственно тут и есть твоя ошибка. |