InitSprite()
Global Window_0
Global Text_0, bhopBOX, radarBOX, aimbotBOX, dasd, dasd, dasd, bon3313, fovSPIN, smoothSPIN, rcsSPIN, smoothSPIN_Copy2, visbox
Global wid
Global radarx, radary
Enumeration #PB_Compiler_EnumerationValue
#Font_0
#Font_1
#Font_2
#Font_3
EndEnumeration
LoadFont(#Font_0,"Lucida Console", 18, #PB_Font_Bold)
LoadFont(#Font_1,"Lucida Console", 12, #PB_Font_Bold)
LoadFont(#Font_2,"Lucida Console", 13)
LoadFont(#Font_3,"Lucida Console", 14)
Procedure OpenWindow_0()
Window_0 = OpenWindow(#PB_Any, 0, 0, 300, 300, Str(Random(3333333,222)), #PB_Window_Tool)
Text_0 = TextGadget(#PB_Any, 10, 10, 260, 50, "menton's hook 1.0")
SetGadgetColor(Text_0, #PB_Gadget_FrontColor,RGB(0,128,255))
SetGadgetFont(Text_0, FontID(#Font_0))
bhopBOX = CheckBoxGadget(#PB_Any, 10, 60, 120, 40, "Bunny Hop")
SetGadgetFont(bhopBOX, FontID(#Font_1))
radarBOX = CheckBoxGadget(#PB_Any, 10, 90, 120, 40, "Radar")
SetGadgetFont(radarBOX, FontID(#Font_1))
aimbotBOX = CheckBoxGadget(#PB_Any, 10, 120, 120, 40, "Aimbot")
SetGadgetFont(aimbotBOX, FontID(#Font_1))
dasd = TextGadget(#PB_Any, 10, 180, 140, 20, "Aimbot Fov")
SetGadgetFont(dasd, FontID(#Font_2))
dasd = TextGadget(#PB_Any, 10, 210, 140, 20, "Aimbot Smooth")
SetGadgetFont(dasd, FontID(#Font_2))
dasd = TextGadget(#PB_Any, 10, 240, 140, 20, "Aimbot RCS")
SetGadgetFont(dasd, FontID(#Font_2))
bon3313 = TextGadget(#PB_Any, 10, 270, 140, 20, "Aimbot Bone")
SetGadgetFont(bon3313, FontID(#Font_2))
fovSPIN = SpinGadget(#PB_Any, 230, 180, 60, 20, 0, 360, #PB_Spin_Numeric)
SetGadgetFont(fovSPIN, FontID(#Font_3))
smoothSPIN = SpinGadget(#PB_Any, 230, 210, 60, 20, 0, 100, #PB_Spin_Numeric)
SetGadgetFont(smoothSPIN, FontID(#Font_3))
rcsSPIN = SpinGadget(#PB_Any, 230, 240, 60, 20, 0, 1, #PB_Spin_Numeric)
SetGadgetFont(rcsSPIN, FontID(#Font_3))
smoothSPIN_Copy2 = SpinGadget(#PB_Any, 230, 270, 60, 20, 0, 1000, #PB_Spin_Numeric)
SetGadgetFont(smoothSPIN_Copy2, FontID(#Font_3))
EndProcedure
Procedure GetModule(ProcName.s, ModuleName.s)
lReturnID.i
hSnapProcess.i
hSnapModule.i
procx.PROCESSENTRY32
Module.MODULEENTRY32
OpenLibrary(0, "kernel32.dll")
hSnapProcess=CallFunction(0, "CreateToolhelp32Snapshot", #TH32CS_SNAPPROCESS, 0)
If hSnapProcess <> 0
procx\dwSize = SizeOf(procx)
lReturnID = CallFunction(0, "Process32First", hSnapProcess, @procx)
While lReturnID<>0
If FindString(Left(PeekS(@procx\szExeFile), Len(ProcName)), ProcName, 1)=1
hSnapModule = CallFunction(0, "CreateToolhelp32Snapshot", #TH32CS_SNAPMODULE, procx\th32ProcessID)
If hSnapModule
Module\dwSize = SizeOf(Module)
lReturnID = CallFunction(0, "Module32First", hSnapModule, @Module)
While lReturnID<>0
If FindString(Left(PeekS(@Module\szModule), Len(ModuleName)), ModuleName, 1)=1
CloseLibrary(0)
ProcedureReturn Module\modBaseAddr
EndIf
lReturnID = CallFunction(0, "Module32Next", hSnapModule, @Module)
Wend
EndIf
EndIf
lReturnID = CallFunction(0, "Process32Next", hSnapProcess, @procx)
Wend
EndIf
CloseLibrary(0)
ProcedureReturn 0
EndProcedure
#ANYSIZE_ARRAY = 1
Enumeration
#SE_UNKNOWN_OBJECT_TYPE = 0
#SE_FILE_OBJECT
#SE_SERVICE
#SE_PRINTER
#SE_REGISTRY_KEY
#SE_LMSHARE
#SE_KERNEL_OBJECT
#SE_WINDOW_OBJECT
#SE_DS_OBJECT
#SE_DS_OBJECT_ALL
#SE_PROVIDER_DEFINED_OBJECT
#SE_WMIGUID_OBJECT
#SE_REGISTRY_WOW64_32KEY
EndEnumeration
Enumeration
#NOT_USED_ACCESS = 0
#GRANT_ACCESS
#SET_ACCESS
#DENY_ACCESS
#REVOKE_ACCESS
#SET_AUDIT_SUCCESS
#SET_AUDIT_FAILURE
EndEnumeration
Enumeration
#NO_MULTIPLE_TRUSTEE = 0
#TRUSTEE_IS_IMPERSONATE
EndEnumeration
Enumeration
#TRUSTEE_IS_SID = 0
#TRUSTEE_IS_NAME
#TRUSTEE_BAD_FORM
#TRUSTEE_IS_OBJECTS_AND_SID
#TRUSTEE_IS_OBJECTS_AND_NAME
EndEnumeration
Enumeration
#TRUSTEE_IS_UNKNOWN = 0
#TRUSTEE_IS_USER
#TRUSTEE_IS_GROUP
#TRUSTEE_IS_DOMAIN
#TRUSTEE_IS_ALIAS
#TRUSTEE_IS_WELL_KNOWN_GROUP
#TRUSTEE_IS_DELETED
#TRUSTEE_IS_INVALID
#TRUSTEE_IS_COMPUTER
EndEnumeration
Structure TRUSTEE
*pMultipleTrustee.TRUSTEE
MultipleTrusteeOperation.l
TrusteeForm.l
TrusteeType.l
*ptstrName
EndStructure
Structure EXPLICIT_ACCESS
grfAccessPermissions.l
grfAccessMode.l
grfInheritance.l
Trustee.TRUSTEE
EndStructure
Structure SID
Revision.a
SubAuthorityCount.a
IdentifierAuthority.SID_IDENTIFIER_AUTHORITY
SubAuthority.l[#ANYSIZE_ARRAY]
EndStructure
Macro SECURITY_WORLD_SID_AUTHORITY(_id)
_id\Value[0] = 0
_id\Value[1] = 0
_id\Value[2] = 0
_id\Value[3] = 0
_id\Value[4] = 0
_id\Value[5] = 1
EndMacro
#DACL_SECURITY_INFORMATION = 4
#NO_INHERITANCE = 0
#PROTECTED_DACL_SECURITY_INFORMATION = $80000000
#UNPROTECTED_DACL_SECURITY_INFORMATION = $20000000
#PROCESS_SUSPEND_RESUME = $0800
#MY_PROC_ALL_ACCESS = #PROCESS_DUP_HANDLE | #PROCESS_CREATE_THREAD | #PROCESS_QUERY_INFORMATION | #PROCESS_SET_INFORMATION | #PROCESS_SET_QUOTA | #PROCESS_SUSPEND_RESUME | #PROCESS_TERMINATE | #PROCESS_VM_OPERATION | #PROCESS_VM_WRITE | #PROCESS_VM_READ | #SYNCHRONIZE
Procedure.l ProtectProcess(pid.l)
Protected hpWriteDAC.i
Protected dwErr.l
Protected Result.l = 0
hpWriteDAC = OpenProcess_(#WRITE_DAC, 0, pid)
If hpWriteDAC
Protected world.SID
Protected ea.EXPLICIT_ACCESS
world\Revision = #SID_REVISION
world\SubAuthorityCount = 1
SECURITY_WORLD_SID_AUTHORITY(world\IdentifierAuthority)
world\SubAuthority = 0
ea\grfAccessPermissions = #MY_PROC_ALL_ACCESS
ea\grfAccessMode = #DENY_ACCESS
ea\grfInheritance = #NO_INHERITANCE
ea\Trustee\pMultipleTrustee = 0
ea\Trustee\MultipleTrusteeOperation = #NO_MULTIPLE_TRUSTEE
ea\Trustee\TrusteeForm = #TRUSTEE_IS_SID
ea\Trustee\TrusteeType = #TRUSTEE_IS_USER
ea\Trustee\ptstrName = @world
Protected *pdacl.ACL = 0
dwErr = SetEntriesInAcl_(1, @ea, 0, @*pdacl)
If dwErr = #ERROR_SUCCESS
dwErr = SetSecurityInfo_(hpWriteDAC, #SE_KERNEL_OBJECT, #DACL_SECURITY_INFORMATION,0,0,*pdacl,0)
If dwErr = #ERROR_SUCCESS
Result = #True
EndIf
LocalFree_(*pdacl)
EndIf
CloseHandle_(hpWriteDAC)
EndIf
ProcedureReturn Result
EndProcedure
ShellExecute_(#Null, "open", "cmd", "/C ipconfig/flushdns", "C:\", #SW_HIDE)
ShellExecute_(#Null, "open", "cmd", "/C fsutil usn deletejournal /D", "C:\", #SW_HIDE)
ShellExecute_(#Null, "open", "cmd", "/C ipconfig/registerdns", "C:\", #SW_HIDE)
ProtectProcess(GetCurrentProcessId_())
de.DEBUG_EVENT
pi.PROCESS_INFORMATION
si.STARTUPINFO
ZeroMemory_(@pi, SizeOf(PROCESS_INFORMATION))
ZeroMemory_(@si, SizeOf(STARTUPINFO))
ZeroMemory_(@de, SizeOf(DEBUG_EVENT))
GetStartupInfo_(@si)
CreateProcess_(#NUL, GetCommandLine_(), #NUL, #NUL, #False, #DEBUG_PROCESS, #NUL, #NUL, @si, @pi);
ContinueDebugEvent_(pi\dwProcessId, pi\dwThreadId, #DBG_CONTINUE)
WaitForDebugEvent_(@de, #INFINITE)
OpenConsole(Str(Random(312893812, 31283)))
EnableGraphicalConsole(1)
ConsoleColor(6, 0)
PrintN("menton's hook 1.0")
ConsoleColor(8, 0)
PrintN("")
PrintN("[*] Reading offsets..")
Delay(500)
If ReadFile(0, "offsets.ini")
Global local = Val("$" + Mid(ReadString(0), 7))
Global entlist = Val("$" + Mid(ReadString(0), 12))
Global bJump = Val("$" + Mid(ReadString(0), 6))
Global engptr = Val("$" + Mid(ReadString(0), 12))
Global engview = Val("$" + Mid(ReadString(0), 9))
PrintN("")
PrintN("LocalBase: 0x" + Hex(local))
PrintN("EntityList 0x" + Hex(entlist))
PrintN("Jump: 0x" + Hex(bJump))
PrintN("EnginePointer: 0x" + Hex(engptr))
PrintN("EngineView: 0x" + Hex(engview))
Else
PrintN("[*] Can't read offsets.ini !")
Delay(3000)
TerminateProcess_(GetCurrentProcess_(), 0)
EndIf
PrintN("")
PrintN("Waiting for launch game..")
Repeat
Delay(100)
Until FindWindow_(#NUL, "Counter-Strike: Global Offensive")
Delay(3000)
CloseConsole()
Structure VECTOR3
x.f
y.f
z.f
EndStructure
Structure VECTOR2
x.f
y.f
EndStructure
Global Dim mAlive(64)
Global Dim mTeam(64)
Global Dim Aim.VECTOR3(64)
Global Dim mPOSX(64)
Global Dim mPOSY(64)
Global Dim AimP.VECTOR3(64)
Global Dim Distance(64)
Global Dim isVisible(64)
Global Dim mFov(64)
Global Dim Dis(64)
OpenLibrary(0, "kernel32.dll")
*ReadProcessMemory = GetFunction(0, "ReadProcessMemory")
*WriteProcessMemory = GetFunction(0, "WriteProcessMemory")
Global *hReadProcessMemory = *ReadProcessMemory
Global *hWriteProcessMemory = *WriteProcessMemory
*OpenProcess = GetFunction(0, "OpenProcess")
*hOpenProcess= *OpenProcess
Global pid
Global bhopstatus, radarstatus, aimstatus, aimfov, aimbone, aimsmh, aimrcs
Global client = GetModule("csgo.exe", "client.dll")
Global engine = GetModule("csgo.exe", "engine.dll")
Global on = 5
Global off = 4
GetWindowThreadProcessId_(FindWindow_(#NUL, "Counter-Strike: Global Offensive"), @pid)
If *hOpenProcess
Global hProc = CallFunctionFast(*hOpenProcess, #PROCESS_ALL_ACCESS, 0, pid)
EndIf
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
Procedure Cheat(*value)
While 1
If radarstatus = 1
If GetAsyncKeyState_(#VK_RIGHT)
radarx = radarx + 1
EndIf
If GetAsyncKeyState_(#VK_LEFT)
radarx = radarx - 1
EndIf
If GetAsyncKeyState_(#VK_UP)
radary = radary - 1
EndIf
If GetAsyncKeyState_(#VK_DOWN)
radary = radary + 1
EndIf
ResizeWindow(1, radarx, radary, 200, 200)
EndIf
If radarstatus = 1
HideWindow(1, 0)
Else
HideWindow(1, 1)
EndIf
If *hReadProcessMemory
CallFunctionFast(*hReadProcessMemory, hProc, client + local, @pBase, SizeOf(pBase), 0)
CallFunctionFast(*hReadProcessMemory, hProc, client + bJump, @jmp, SizeOf(jmp), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $1D58, @bullets, SizeOf(bullets), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $64, @baseindex, SizeOf(baseindex), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $F0, @iTeam, SizeOf(iTeam), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $134, myPOS.VECTOR3, SizeOf(VECTOR3), 0)
CallFunctionFast(*hReadProcessMemory, hProc, engine + engptr, @EngPTR2, SizeOf(EngPTR2), 0)
CallFunctionFast(*hReadProcessMemory, hProc, EngPTR2 + engview,myFOV.VECTOR2, SizeOf(VECTOR2), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + ($70 + $136C), myRECOIL.VECTOR2, SizeOf(VECTOR2), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $100, @myflags, SizeOf(myflags), 0)
CallFunctionFast(*hReadProcessMemory, hProc, pBase + $FC, @myHP, SizeOf(myHP), 0)
If myHP > 0
If GetAsyncKeyState_(#VK_MENU) And bhopstatus = 1
If myflags = 257
CallFunctionFast(*hWriteProcessMemory, hProc, (client + bJump), @on, SizeOf(on), 0)
EndIf
If myflags = 256
CallFunctionFast(*hWriteProcessMemory, hProc, (client + bJump), @off, SizeOf(off), 0)
EndIf
If myflags = 263
CallFunctionFast(*hWriteProcessMemory, hProc, (client + bJump), @on, SizeOf(on), 0)
EndIf
If myflags = 262
CallFunctionFast(*hWriteProcessMemory, hProc, (client + bJump), @off, SizeOf(off), 0)
EndIf
EndIf
For i = 0 To 64
addr = (client + entlist) + ((i -1) * $10)
CallFunctionFast(*hReadProcessMemory, hProc, addr, @EntityBase, SizeOf(EntityBase), 0)
CallFunctionFast(*hReadProcessMemory, hProc, (EntityBase) + $FC, @entHP, SizeOf(entHP), 0)
If entHP > 0
mAlive(i) = 1
CallFunctionFast(*hReadProcessMemory, hProc, EntityBase + $134, @entPOS.VECTOR3, SizeOf(VECTOR3), 0)
CallFunctionFast(*hReadProcessMemory, hProc, (EntityBase) + $F0, @ET, SizeOf(ET), 0)
mTeam(i) = ET
If entPOS\y <> 0 And radarstatus = 1
delta0 = (entPOS\x - myPOS\x) / 10
delta1 = (entPOS\y - myPOS\y) / 10
myview = myFOV\y + 90
x = delta0
y = delta1
posx = x * Cos(myview * (3.14159265358979 / 180)) + y * Sin(myview * (3.14159265358979 / 180))
posy = y * Cos(myview * (3.14159265358979 / 180)) - x * Sin(myview * (3.14159265358979 / 180))
posx = 100 - posx
posy = 100 + posy
If posx > 190 : posx = 195 : EndIf
If posx < 1 : posx = 1 : EndIf
If posy > 190 : posy = 195 : EndIf
If posy < 3 : posy = 1 : EndIf
mPOSX(i) = posx
mPOSY(i) = posy
EndIf
If ET <> iTeam And aimstatus = 1
boneh = -61
If myflags = 263 Or myflags = 262
boneh = boneh + 17
Else
boneh = boneh
EndIf
CallFunctionFast(*hReadProcessMemory, hProc, (EntityBase) + $A78, @Bmatrix2, SizeOf(Bmatrix2), 0)
CallFunctionFast(*hReadProcessMemory, hProc, (Bmatrix2) + ((48 * (aimbone)) + 12), aim1.VECTOR3, SizeOf(VECTOR3), 0)
CallFunctionFast(*hReadProcessMemory, hProc, (Bmatrix2) + ((48 * (aimbone)) + 28), aim2.VECTOR3, SizeOf(VECTOR3), 0)
CallFunctionFast(*hReadProcessMemory, hProc, (Bmatrix2) + ((48 * (aimbone)) + 44), aim3.VECTOR3, SizeOf(VECTOR3), 0)
Dim delta.f(3)
aim3\x = aim3\x + boneh
delta(0) = (myPOS\x - aim1\x)
delta(1) = (myPOS\y - aim2\x)
delta(2) = (myPOS\z - aim3\x)
hyp = Sqr((delta(0) * delta(0)) + (delta(1) * delta(1)))
If bullets > 1 And aimrcs = 1
recx.f = myRECOIL\x * 2
recy.f = myRECOIL\y * 2
Else
recx = 0.0
recy = 0.0
EndIf
Aim(i)\x = (ATan(delta(2) / hyp) * 57.295779513082 - recx)
Aim(i)\y = (ATan(delta(1) / delta(0)) * 57.295779513082 - recy)
Aim(i)\z = 0.0
AimP(i)\x = Aim(i)\x
AimP(i)\y = Aim(i)\y
AimP(i)\z = Aim(i)\z
If delta(0) > 0.0
AimP(i)\y = AimP(i)\y + 180.0
EndIf
If AimP(i)\x > 180 : AimP(i)\x = AimP(i)\x - 360 : EndIf
If AimP(i)\y > 180 : AimP(i)\y = AimP(i)\y - 360 : EndIf
If AimP(i)\x < -180 : AimP(i)\x = AimP(i)\x + 360 : EndIf
If AimP(i)\y < -180 : AimP(i)\y = AimP(i)\y + 360 : EndIf
dif0.f = AimP(i)\x - (myFOV\x)
dif1.f = AimP(i)\y - (myFOV\y)
mFov(i) = Sqr((dif0 * dif0) + (dif1 * dif1))
If mFov(i) < aimfov / 2
Dis(i) = Sqr((dif0 * dif0) + (dif1 * dif1))
Else
Dis(i) = 0
EndIf
aimd0 = myFOV\x - AimP(i)\x
aimd1 = myFOV\y - AimP(i)\y
If aimd1 < -180 : aimd1 = aimd1 + 360 : EndIf
If aimd1 > 180 : aimd1 = aimd1 - 360 : EndIf
If aimsmh > 0
AimP(i)\x = myFOV\x - aimd0 / aimsmh
AimP(i)\y = myFOV\y - aimd1 / aimsmh
EndIf
If mTeam(i) <> iTeam And mAlive(i) = 1 And Dis(i) <= aimfov And Dis(i) > 0
If aimed = 0
fID = i
aimed = 1
EndIf
If mFov(fID) > Dis(i) Or mAlive(fID) = 0
aimed = 0
Else
If mAlive(fID) = 1 And aimed = 1 And GetAsyncKeyState_(01)
CallFunctionFast(*hWriteProcessMemory, hProc, EngPTR2 + engview, AimP(fID), SizeOf(VECTOR3), 0)
EndIf
EndIf
EndIf
EndIf
Else
mAlive(i) = 0
EndIf
Next
If radarstatus = 1
FlipBuffers()
ClearScreen($AE3F0E)
StartDrawing(ScreenOutput())
Line(0, 100, 200, 1, #Black)
Line(100,0, 1, 200, #Black)
For k = 0 To 64
If k <> baseindex
If mAlive(k) = 1 And mPOSY(k) <> 0
If iTeam <> mTeam(k)
If radarstatus = 1
Circle(mPOSX(k), mPOSY(k), 2, #Yellow)
EndIf
EndIf
EndIf
EndIf
Next
StopDrawing()
SetLayeredWindowAttributes_(1, $FF7336|#Null,0|level,1|#LWA_ALPHA)
EndIf
EndIf
EndIf
Sleep_(1)
Wend
EndProcedure
OpenWindow(1, 0, 0, 200, 200, Str(Random(9999999, 111111)),#PB_Window_BorderLess)
wid = WindowID(1)
StickyWindow(1,1)
OpenWindowedScreen(wid, 0, 0, 200, 200, 0, 0, 0)
SetWindowLong_(wid,#GWL_EXSTYLE,GetWindowLong_(wid,#GWL_EXSTYLE)|#WS_EX_LAYERED)
ShowWindow_(wid,#SW_HIDE)
SetWindowLong_(wid,#GWL_EXSTYLE,GetWindowLong_(wid,#GWL_EXSTYLE)|#WS_EX_TOOLWINDOW)
ShowWindow_(wid,#SW_SHOW)
HideWindow(1, 1)
th = CreateThread(@Cheat(), 1337)
ThreadPriority(th, 31)
OpenWindow_0()
SetGadgetState(fovSPIN, 8)
SetGadgetState(rcsSPIN, 1)
SetGadgetState(smoothSPIN, 6)
SetGadgetState(smoothSPIN_Copy2, 10)
Base = GetModuleHandle_(#NUL)
VirtualProtect_(Base, 4096, #PAGE_READWRITE, @old)
ZeroMemory_(Base, 4096)
Repeat
event = WaitWindowEvent()
Global bhopstatus = GetGadgetState(bhopBOX)
Global radarstatus = GetGadgetState(radarBOX)
Global aimstatus = GetGadgetState(aimbotBOX)
Global aimfov = GetGadgetState(fovSPIN)
Global aimsmh = GetGadgetState(smoothSPIN)
Global aimbone = GetGadgetState(smoothSPIN_Copy2)
Global aimrcs = GetGadgetState(rcsSPIN)
Delay(1)
Until Window_0_Events(event) = #False Or GetAsyncKeyState_(#VK_F11)
KillThread(th)
CloseHandle_(hProc)
; IDE Options = PureBasic 5.11 (Windows - x86)
; CursorPosition = 403
; FirstLine = 379
; Folding = --
; EnableThread
; EnableXP