⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.asm

📁 突破GameGuard防线,实现宏功能,希望各位小心使用
💻 ASM
字号:
.486 
.model flat,stdcall 
option casemap:none 

include \masm32\include\windows.inc 
include \masm32\include\masm32.inc 
include \masm32\include\gdi32.inc 
include \masm32\include\user32.inc 
include \masm32\include\kernel32.inc 
include \masm32\include\Comctl32.inc 
include \masm32\include\comdlg32.inc 
include \masm32\include\shell32.inc 
include \masm32\include\oleaut32.inc 
include \masm32\include\dialogs.inc 
include \masm32\macros\macros.asm 
include \masm32\include\msvcrt.inc 

includelib \masm32\lib\masm32.lib 
includelib \masm32\lib\gdi32.lib 
includelib \masm32\lib\user32.lib 
includelib \masm32\lib\kernel32.lib 
includelib \masm32\lib\Comctl32.lib 
includelib \masm32\lib\comdlg32.lib 
includelib \masm32\lib\shell32.lib 
includelib \masm32\lib\oleaut32.lib 
includelib \masm32\lib\msvcrt.lib 

MakeProcessSnapshot proto 
PostMessageX proto :DWORD, :DWORD, :DWORD, :DWORD 
AutoClick proto :DWORD 
Bot proto :DWORD 

.data 

TargetProcess   db      "Neuz.exe",0 
WindowName      db      "FLYFF",0 
ClassName       db      "D3D Window",0 
LibraryName     db      "user32.dll",0 
FxnName         db      "PostMessageA",0 

.data? 

SnapShotHandle  dword   ? 
ExeName         dword   ? 
TargetHandle    dword   ? 
hWnd            dword   ? 
PID             dword   ? 
PIDFromWindow   dword   ? 
PostMessageAddr dword   ? 
ClickThreadID   dword   ? 
BotThreadID     dword   ? 
ClickThread     dword   ? 
BotThread       dword   ? 
EventHandle     dword   2 dup (?) 

.code 
    Start: 

xor ebx, ebx 
    invoke AllocConsole 
        SetConsoleCaption "Open Source Slugsnack FLYFF Bot" 
        
    invoke LoadLibrary, addr LibraryName 
    invoke GetProcAddress, eax, addr FxnName 
add eax, 5 
mov PostMessageAddr, eax 

        print "Waiting for target process." 
    invoke MakeProcessSnapshot 

    FindWindowLoop: 

    invoke Sleep, 1 
    invoke FindWindow, addr ClassName, addr WindowName 
test eax, eax 
jz FindWindowLoop 

mov hWnd, eax 
        print "Handle to FLYFF's window has found to be : 0x" 
        print uhex$(hWnd), 13, 10 

mov esi, offset EventHandle 
mov [esi], rv(CreateEvent, ebx, FALSE, FALSE, ebx) 
mov [esi+4], rv(CreateEvent, ebx, FALSE, FALSE, ebx) 

mov ClickThread, rv(CreateThread, ebx, ebx, addr AutoClick, [esi], ebx, addr ClickThreadID) 
mov BotThread, rv(CreateThread, ebx, ebx, addr Bot, [esi+4], ebx, addr BotThreadID) 

    invoke WaitForMultipleObjects, 2, addr EventHandle, TRUE, INFINITE 
    invoke CloseHandle, [esi] 
    invoke CloseHandle, [esi+4] 
    invoke CloseHandle, [ClickThread] 
    invoke CloseHandle, [BotThread] 
    invoke CloseHandle, TargetHandle 
    invoke FreeConsole 
    invoke ExitProcess, ebx 

MakeProcessSnapshot proc uses edi esi ebx 

LOCAL ProcessStructure:PROCESSENTRY32 

    NextSnapshot: 

    invoke Sleep, 1 
    invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, ebx 
mov SnapShotHandle, eax 

mov eax, sizeof ProcessStructure 
mov ProcessStructure.dwSize, eax 

    invoke Process32First, SnapShotHandle, addr ProcessStructure 

    LoopFxn: 
    
    invoke Sleep, 1 
            print "." 
    invoke Process32Next, SnapShotHandle, addr ProcessStructure 

    invoke GetLastError 
cmp eax, ERROR_NO_MORE_FILES 
je End_Of_Structure 
lea esi, ProcessStructure.szExeFile 
mov edi, len(addr TargetProcess) 
mov eax, len(esi) 
    invoke BinSearch, ebx, esi, eax, addr TargetProcess, edi 
cmp eax, -1 
je LoopFxn 
jmp ProcessFound 

    End_Of_Structure: 

    invoke SetLastError, ERROR_SUCCESS 

jmp NextSnapshot 

    ProcessFound: 

mov eax, ProcessStructure.th32ProcessID 
mov PID, eax 
            cls 
            print " ", 13, 10, 13, 10 
            print "    ======================================================================", 13, 10 
            print "                 Coded in MASM32 by Slugsnack of XMEGaming.net", 13, 10 
            print "    ======================================================================", 13, 10, 13, 10, 13, 10, 9, 9 
            print "================ HOTKEYS ================", 13, 10, 13, 10, 9, 9 
            print "F10       =   Close app", 13, 10, 9, 9 
            print "F11       =   Send F5/Enter", 13, 10, 9, 9 
            print "F12       =   Send clicks", 13, 10, 13, 10, 13, 10 
            print "Process ID of target process : " 
            print str$(PID), 13, 10 
    invoke OpenProcess, PROCESS_ALL_ACCESS, TRUE, PID 
mov TargetHandle, eax 
            print "Handle of target process : " 
            print str$(TargetHandle), 13, 10, 13, 10 

ret 
MakeProcessSnapshot endp 

AutoClick proc ClickEventHandle:DWORD 
LOCAL Coords:POINT 

    ToggleClick: 

    invoke GetAsyncKeyState, 7Bh 
test eax, eax 
jnz EndClickThread 
    invoke Sleep, 500 
    invoke GetAsyncKeyState, 79h 
test eax, eax 
jnz ClickLoop 
jmp ToggleClick 

    ClickLoop: 

    invoke GetAsyncKeyState, 7Bh 
test eax, eax 
jnz EndClickThread 
    invoke GetCursorPos, addr Coords 
mov eax, Coords.x 
rol eax, 16 
mov ecx, Coords.y 
mov ax, cx 
push eax 

    invoke PostMessageX, hWnd, WM_LBUTTONDOWN, MK_LBUTTON, eax 

pop eax 

    invoke PostMessageX, hWnd, WM_LBUTTONUP, MK_LBUTTON, eax 
    invoke Sleep, 100 
    invoke GetAsyncKeyState, 79h 
test eax, eax 
jnz ToggleClick 
jmp ClickLoop 

    EndClickThread: 

    invoke SetEvent, ClickEventHandle 

ret 
AutoClick endp 

Bot proc BotEventHandle:DWORD 
LOCAL wParam1:WORD 
LOCAL wParam2:WORD 
LOCAL lParam1:WORD 
LOCAL lParam2:WORD 

mov wParam1, 74h 
mov wParam2, 0Dh 

    invoke MapVirtualKey, wParam1, MAPVK_VK_TO_VSC 
mov lParam1, ax 

    invoke MapVirtualKey, wParam2, MAPVK_VK_TO_VSC 
mov lParam2, ax 

    ToggleBot: 

    invoke GetAsyncKeyState, 7Bh 
test eax, eax 
jnz EndBotThread 
    invoke Sleep, 500 
    invoke GetAsyncKeyState, 7Ah 
test eax, eax 
jnz BotLoop 
jmp ToggleBot 

    BotLoop: 

    invoke GetAsyncKeyState, 7Bh 
test eax, eax 
jnz EndBotThread 
    invoke Sleep, 100 
    invoke PostMessageX, hWnd, WM_KEYDOWN, wParam1, lParam1 

    invoke PostMessageX, hWnd, WM_KEYDOWN, wParam2, lParam2 
    invoke GetAsyncKeyState, 7Ah 
test eax, eax 
jnz ToggleBot 
jmp BotLoop 

    EndBotThread: 

    invoke SetEvent, BotEventHandle 

ret 
Bot endp 

PostMessageX proc W:DWORD, X:DWORD, Y:DWORD, Z:DWORD 
option prologue:none 
option epilogue:none 

push ebp 
mov ebp, esp 
jmp PostMessageAddr 

PostMessageX endp 

    end Start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -