Public Class Form1
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Long, ByVal Size As Long, ByRef BytesWritten As Long) As Long
Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Dim triggerbot_loop_thread As System.Threading.Thread = New System.Threading.Thread(AddressOf triggerbot_loop)
Dim csgo_process As Process()
Dim exit_thread As Boolean = False
Dim client_dll_base As Integer
Dim LocalPlayer_offset As Integer = &HA6C90C
Dim EntityList_offset As Integer = &H4A0F014
Dim InCross_offset As Integer = &H23F8
Dim Team_offset As Integer = &HF0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
csgo_process = Process.GetProcessesByName("csgo")
If csgo_process.Length > 0 Then
For Each [Module] As System.Diagnostics.ProcessModule In csgo_process(0).Modules
If [Module].ModuleName = "client.dll" Then
client_dll_base = [Module].BaseAddress
End If
Next
triggerbot_loop_thread.Start()
Else
MsgBox("Start CS:GO before")
Application.Exit()
End If
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
exit_thread = True
End Sub
Function triggerbot_loop()
Dim pointer_to_localplayer As Integer
Dim pointer_to_incross_player As Integer
Dim player_index_incross As Integer
Dim my_team As Integer
Dim incross_team As Integer
While (Not exit_thread)
If GetAsyncKeyState(Keys.MButton) Then
ReadProcessMemory(csgo_process(0).Handle, client_dll_base + LocalPlayer_offset, pointer_to_localplayer, 4, 0)
ReadProcessMemory(csgo_process(0).Handle, pointer_to_localplayer + InCross_offset, player_index_incross, 4, 0)
If player_index_incross > 0 And player_index_incross < 65 Then
ReadProcessMemory(csgo_process(0).Handle, pointer_to_localplayer + Team_offset, my_team, 4, 0)
ReadProcessMemory(csgo_process(0).Handle, client_dll_base + EntityList_offset + ((player_index_incross - 1) * &H10), pointer_to_incross_player, 4, 0)
ReadProcessMemory(csgo_process(0).Handle, pointer_to_incross_player + Team_offset, incross_team, 4, 0)
If Not my_team = incross_team Then
mouse_event(&H2, 0, 0, 0, 1)
Threading.Thread.Sleep(15)
mouse_event(&H4, 0, 0, 0, 1)
Threading.Thread.Sleep(10)
End If
End If
End If
Threading.Thread.Sleep(10)
End While
End Function
End Class
he declares the needed Functions on top of the code:
[QUOTE] Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Long, ByVal Size As Long, ByRef BytesWritten As Long) As Long
so you don't need an extra module for reading the memory
Wrong section.
And it suddenly is.
How do I apply the hack?
Credits go to Kinepak
Yaparoo, put it into a visual basic form project, update the offsets, compile