채팅0

    Gun

    조회수 690

    unit AutoGunUnit;

    interface

    uses

    Windows;

    procedure AutoGunSet;

    procedure AutoGun(AutoGunToggle: Boolean);

    var

    AutoSpeedGunHook, AutoSpeedGunAddr, BackUp: DWORD;

    CopyValue: Array [0 .. 181] of Byte;

    GunValue: Array [0 .. 9] of Byte = ($C7, $86, $E0, $00, $00, $00, $FF, $FF, $FF, $FF);

    implementation

    uses

    Unit1, CallFunc ,ShellCopy, AddressClass;

    Procedure JmpHookEx(hProcess: Cardinal; DestAddress: DWORD; FuncAdr: DWORD; NopCount: Integer);

    var

    i: Integer;

    bBuffer: byte;

    dBuffer: DWORD;

    NOW: NativeUint;

    old: Cardinal;

    begin

    bBuffer := $E9;

    VirtualProtectEx(hProcess, Pointer(DestAddress), 16,

    PAGE_EXECUTE_READWRITE, old);

    WriteProcessMemory(hProcess, Pointer(DestAddress), @bBuffer, 1, NOW);

    dBuffer := FuncAdr - DestAddress - 5;

    WriteProcessMemory(hProcess, Pointer(DestAddress + 1), @dBuffer, 4, NOW);

    bBuffer := $90;

    if NopCount <> 0 then

    begin

    for i := 0 to NopCount - 1 do

    begin

    WriteProcessMemory(hProcess, Pointer(DestAddress + 5 + i), @bBuffer, 1, NOW);

    end;

    end;

    VirtualProtectEx(hProcess, Pointer(DestAddress), 4, old, old);

    end;

    procedure AutoGunSet;

    begin

    AutoSpeedGunAddr := DWORD(VirtualAllocEx(hProcess, nil, 16, MEM_COMMIT, PAGE_EXECUTE_READWRITE));

    AutoSpeedGunHook := RPM4Byte(RPM4Byte(RPM4Byte(RPM4Byte(cshell + English + $76C) + $14)) + $178);

    ReadProcessMemory(hProcess, Pointer(AutoSpeedGunHook), @CopyValue, Sizeof(CopyValue), Pnativeuint(nil)^);

    WriteProcessMemory(hProcess, Pointer(AutoSpeedGunAddr), @CopyValue, Sizeof(CopyValue), Pnativeuint(nil)^);

    WriteProcessMemory(hProcess, Pointer(AutoSpeedGunAddr + $90), @GunValue, Sizeof(GunValue), Pnativeuint(nil)^);

    JmpHookEx(hProcess, AutoSpeedGunAddr + $9A, AutoSpeedGunHook + $94, 0);

    WPM4Byte(AutoSpeedGunAddr + $41, (AutoSpeedGunHook + $40 + RPM4Byte(AutoSpeedGunHook + $41) + $5) - (AutoSpeedGunAddr + $40) - 5);

    RPM4Byte(RPM4Byte(RPM4Byte(RPM4Byte(cshell + English + $76C) + $14)) + $178);

    end;

    procedure AutoGun(AutoGunToggle: Boolean);

    var

    I: integer;

    AutoGunSlotNum: DWORD;

    begin

    if Form1.AutoGunC.Checked then Begin

    WPM4Byte(WeaponDump + $178, AutoSpeedGunAddr);

    end else begin

    WPM4Byte(WeaponDump + $178, RPM4Byte(cshell + PointerResult + $178));

    end;

    end;

    end.

    댓글10

    삭제된 댓글입니다.

    회원프로필

    168>178

    2022.01.07 23:03

    삭제된 댓글입니다.

    회원프로필

    또그러노

    2022.01.07 23:16
    회원프로필

    ㄷㄷㄷ

    2022.01.07 23:29
    회원프로필

    ?

    2022.01.07 23:33
    회원프로필

    2022.01.07 23:33
    회원프로필

    2022.01.07 23:35
    회원프로필

    고수 ㄷㄷ

    2022.01.07 23:43
    회원프로필

    고수

    2022.01.07 23:45

      게시글 리스트
      제목작성자작성일조회
      공지10-207666
      932200:598
      932105-1338
      932005-1390
      931905-1375
      931805-1314
      931705-1323
      931605-1343
      931505-1348
      931405-1333
      931305-1391
      931205-1281
      931105-12138
      931005-1257
      930905-12111
      930805-12209
      930705-1253
      930605-1239
      930505-1272
      930405-1275