![]() |
![]() ![]() ![]() ![]() |
|
Пропатчить процессDelphi , Программа и Интерфейс , Процессы и СервисыПропатчить процесс
Оформил: DeeCo
{....}
var
WindowName: Integer;
ProcessId: Integer;
ThreadId: Integer;
buf: PChar;
HandleWindow: Integer;
Write: Cardinal;
{....}
const
WindowTitle = 'a program name';
Address = $A662D6;
PokeValue = $4A;
NumberOfBytes = 2;
{....}
procedure TForm1.Button1Click(Sender: TObject);
begin
WindowName := FindWindow(nil, WindowTitle);
if WindowName = 0 then
begin
MessageDlg('Program not running.', mtWarning, [mbOK], 0);
end;
ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
GetMem(buf, 1);
buf^ := Chr(PokeValue);
WriteProcessMemory(HandleWindow, ptr(Address), buf, NumberOfBytes, Write);
FreeMem(buf);
CloseHandle(HandleWindow);
end;
Перевод контента на русский язык: Это фрагмент кода на языке Pascal, который appears to be designed для взаимодействия с другим процессом. Цель кода seems to be найти конкретное окно с заголовком "a program name" и если найдено, то вставить значение в память целевого процесса. Вот подробный анализ того, что код делает:
Внутри этой процедуры код делает следующее:
В целом, этот код предназначен для взаимодействия с другим процессом и вставки конкретного значения в его память. Однако без дополнительной информации о том, что окно "a program name" используется для, трудно определить, является ли это код легитимным или зловредным. В качестве альтернативы может быть полезно рассмотреть другие методы взаимодействия с процессами или окнами, такие как использование API, специально предназначенных для этого (например, Программа на языке Delphi выполняет патчинг процесса Windows, модифицируя его память с помощью функций WriteProcessMemory и OpenProcess. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Процессы и Сервисы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||