Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 08.03.2016
Сообщений: 11
1

Поиск адреса в памяти процесса и изменение нескольких байт по этому адресу

02.04.2016, 14:43. Показов 2261. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите
Поиск адреса сделал
осталось изменение байт по адресу
как адрес из string перевести в Pointer?
в string он записывается так: $1567C427
адрес меняется каждые 5 минут
и нужно по неу менять 2 байта

Delphi
1
TYPE1: array[1..2] of byte = ($31,$36);
сделал такую процедуру

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure start_func(process_name:PCHAR;Address:integer;buf: array of byte;NumberOfBytes:integer);
var
ProcessId: integer;
ThreadId: integer;
HandleWindow: Integer;
write: NativeUint;
WindowName:HWND;
begin
WindowName := FindWindow(nil,process_name);
ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
WriteProcessMemory(HandleWindow,Pointer(address), @buf, NumberOfBytes, write);
end;
но она не работает использовал так

Delphi
1
start_func('тут окно',$1567C427,TYPE1,2);
Добавлено через 1 час 22 минуты
Уже сам разобрался

Добавлено через 1 минуту
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function WriteByte(Address: Cardinal;ChangeValues: dword;Size:NativeUint) : boolean;
var
PidHandle: integer;
PidID: integer;
Written:NativeUint;
Begin
Result := false;
 PidID:=GetProcessIDExt('Game.exe');
 if PidID>0 then
  Begin
    PidHandle:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ or PROCESS_VM_OPERATION
    or PROCESS_VM_WRITE,False,PidId);
    Result := WriteProcessMemory(PidHandle, Pointer(Address), @ChangeValues, Size, Written);
    Closehandle(PidHandle);
  End;
End;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2016, 14:43
Ответы с готовыми решениями:

Поиск адреса в памяти запущенного процесса
Здравствуйте, всем доброго здравия и времени суток! У меня есть вот такая тема, пишу программу...

Поиск и изменение адреса памяти
Есть адрес памяти 01AC5420, найденый в чит энжине. при просомтре кода получаем нечто следующее...

Поиск и изменение значения в памяти(Не процесса)
Здравствуйте, я наслышан о том как тут любят кидать фекалиями в тех кто как либо делает незаконное...

Поиск строки в памяти запущенного процесса и её изменение
Не могу решить задачку нужно считать строку из памяти процесса запущенной программы. RVA строки ...

6
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 17
03.12.2019, 10:39 2
CODER_228, Как вы делали поиск адреса по значению? или я что то не так понял...
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
03.12.2019, 11:37 3
STest6905, если поднимаешь старую тему, прежде нужно проверять это:
Поиск адреса в памяти процесса и изменение нескольких байт по этому адресу
0
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 17
03.12.2019, 12:25 4
DenNik, Я это увидел сразу но вопрос для меня актуальный и возможно автор нашел решение которое подойдет мне... Как поступаете вы в таких случаях?)
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
03.12.2019, 12:33 5
Цитата Сообщение от STest6905 Посмотреть сообщение
возможно автор нашел решение которое подойдет мне...
и как автор увидит твой вопрос ЗДЕСЬ, если он СЮДА не заходит?

Добавлено через 30 секунд
Цитата Сообщение от STest6905 Посмотреть сообщение
Как поступаете вы в таких случаях?
создаем тему с конкретным вопросом
0
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 17
03.12.2019, 14:12 6
DenNik, Вы же увидели "оживление" темы... Не считаю нужным создавать копию темы для количества а лучше продолжить существующий пост.... хотя могу и ошибаться...
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
03.12.2019, 14:32 7
Цитата Сообщение от STest6905 Посмотреть сообщение
Вы же увидели "оживление" темы...
я увидел. но вопрос был адресован автору, которого здесь давно нет. нужен ответ от других - создай тему.

Цитата Сообщение от STest6905 Посмотреть сообщение
Как вы делали поиск адреса по значению?
тем более, в этой теме нет ни одного ответа. по сути, ты задал новый вопрос, к тому же, не касающийся напрямую темы.

ну и самое главное - внизу этой страницы есть куча похожих тем. стоило бы ознакомиться
0
03.12.2019, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2019, 14:32
Помогаю со студенческими работами здесь

Поиск строки в памяти запущенного процесса и её изменение
Подскажи пожалуйста, что я делаю не так. Вот мой код. #include "windows.h" #include <iostream>...

Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти))
Вот тут появилась такая интересная задача: требуется сделать программу которая управляет 1024...

Считать один байт по адресу $0001:$0231 из памяти компьютера
как в Паскале считать один байт по адресу $0001:$0231 из памяти компьютера (привести участок...

Чтение памяти процесса. Динамические адреса
Здравствуйте! Пожалуйста помогите разобраться. Я научился читать память виртуального процесса, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru