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.
| 제목 | 작성자 | 작성일 | 조회 | |
|---|---|---|---|---|
| 644 | 진짜 재밋눜ㅋㅋ+2 | 01-09 | 521 | |
| 643 | 01-09 | 720 | ||
| 642 | 서든 재밌음?+2 | 01-08 | 445 | |
| 641 | 에잇 서든잼이없어+17 | 01-08 | 659 | |
| 640 | 01-08 | 757 | ||
| 639 | 01-08 | 373 | ||
| 638 | 01-08 | 281 | ||
| 637 | 01-08 | 509 | ||
| 636 | 01-08 | 394 | ||
| 635 | 정지관련 질문+2 | 01-08 | 324 | |
| 634 | 01-08 | 275 | ||
| 633 | 01-08 | 521 | ||
| 632 | 옛날 감성+3 | 01-07 | 473 | |
| 631 | Gun+10 | 01-07 | 735 | |
| 630 | 01-07 | 316 | ||
| 629 | 01-07 | 220 | ||
| 628 | 01-07 | 720 | ||
| 627 | 01-06 | 343 | ||
| 626 | 고수들+10 | 01-06 | 670 | |
| 625 | (Q)5엠...+2 | 01-06 | 340 |
댓글10
삭제된 댓글입니다.
168>178
삭제된 댓글입니다.
또그러노
ㄷㄷㄷ
?
고수 ㄷㄷ
고수