Перейти к содержанию

FarmHitman

Стажёры
  • Постов

    10
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные FarmHitman

  1.   WindowName := FindWindow(nil,WindowTitle);
    If WindowName = 0 then
    begin
    MessageBox(win,'Игра должна быть запущенна до трейнера.'+#13+#10+
    ' Запустите её,а потом трейнер','Ошибка',MB_OK or MB_ICONINFORMATION);
    end;

    ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
    If ThreadID := 0
    then begin
    ShowMessage('ThreadID.');
    end;
    HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
    if HandleWindow = 0
    then begin
    Show Message('HandleWindow');
    end;

    Как я понял эту часть надо сделать так, а дальше как сделать? Можно код плиз?

    GetMem(buf,1);

    buf^ := Chr(PokeValue);

    WriteProcessMemory(HandleWindow,ptr(Address),buf,NumberOfBytes,write);

    FreeMem(buf);

  2. Я написал 2 примера кода, ни 1 из них на указанных ОС не работают.

    п. 1 не подходит, не понял пункты 3, 5 и 6 :) а п.4 не думаю что не успевает, если только на некоторых ОС не работает, антивируса нету.

  3. var
    WindowName: integer;
    ProcessId: integer;
    ThreadId: integer;
    HandleWindow: Integer;
    write: cardinal;
    buf: dword;
    const
    WindowTitle = 'Name';

    Address = $007B5678;
    NumberOfBytes = 4;
    begin
    WindowName := FindWindow(nil,WindowTitle);
    If WindowName = 0 then begin
    MessageDlg('Игра должна быть запущена до трейнера. Запустите ее, потом трейнер', mtwarning,[mbOK],0);
    end;
    ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
    HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
    buf:=$0;
    WriteProcessMemory(HandleWindow, ptr(address), @buf, 4, write);
    end;

    Можно и в таком варианте:

    var
    WinClass : TWndClass;
    hInst: HWND;
    Handle: HWND;
    Msg: TMSG;
    hFont: HWND;
    win: hwnd;
    WindowName: integer;
    ProcessId: integer;
    ThreadId: integer;
    buf: PChar;
    HandleWindow: Integer;
    write: cardinal;
    const
    WindowTitle= 'Name';
    Address= $007B5678;
    PokeValue= $0;
    NumberOfBytes= 4;
    begin
    WindowName := FindWindow(nil,WindowTitle);
    If WindowName = 0 then
    begin
    MessageBox(win,'Игра должна быть запущенна до трейнера.'+#13+#10+
    ' Запустите её,а потом трейнер','Ошибка',MB_OK or MB_ICONINFORMATION);
    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;

    У большинства людей работает.

    Не работает на: Win 7 x32 Максимальная, Win 7 x64 Ultimate

    Работает на: Win XP SP2 x32, Win XP SP3 x32, Win 7 x64 Домашняя, Win 7 x64 Максимальная...

    Адреса были проверены через CheatEngine, соответственно на компьютере где не работает.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.