[Visual Basic]Code SDK

Posts 61–67 of 67 · Page 5 of 5
Create a new module(if you don't know how to do it, learn the basics, if you don't even know such, don't even try to make a hacks)

Call the module whatever you want it to be called:

Code:
Module Module1

#region "Declarations"

    Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    Private Declare Function WriteProcessMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
    Private Declare Function WriteFloatMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
    Private Declare Function ReadFloat Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Int32, ByRef lpNumberOfBytesRead As Int32) As Boolean
    Private Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Integer) As Integer

    Private string1 As Long
    Private string2 As Integer
    Private RBuff1 As Long
    Private RBuff2 As Single
    Private RBuff3 As Integer

#end region

#Region "Check Process/ReadDll"

  Private Function readdll(ByVal modulename As String)
        Dim procmodule As ProcessModule
        Dim constant1 As Integer
        Dim constant2 As Long
        Dim constant3 As Process() = Process.GetProcessesByName("iw4mp")
        If constant3.Length = 0 Then
            Return 0
        End If
        For Each procmodule In constant3(0).Modules
            If modulename = procmodule.ModuleName Then
                constant1 = procmodule.BaseAddress
            End If
        Next
        constant2 = constant1
        Return constant2
    End Function

Public Function IsProcessOpen(ByVal name As String) As Boolean

        For Each clsProcess As Process In Process.GetProcesses

            If clsProcess.ProcessName.Contains(name) Then


                Return True

            End If
        Next
        ' Do nothing 
        Return False
    End Function


#end region

#Region "Hacks"

    'WriteMemory
    Private Function WriteMemory(ByVal Address As Integer, ByVal Value As Long, ByVal Bytes As Integer)
        Dim iw4mpLookUp As Process() = Process.GetProcessesByName("iw4mp")
        If iw4mpLookUp.Length = 0 Then
            End
        End If
        Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, iw4mpLookUp(0).Id)
        WriteProcessMemory(processHandle, Address, Value, Bytes, Nothing)
        CloseHandle(processHandle)

        Return Nothing
    End Function

    'WriteFloat
    Private Function WriteFloat(ByVal Address As Integer, ByVal Value As Single)
        Dim iw4mpLookUp As Process() = Process.GetProcessesByName("iw4mp")
        If iw4mpLookUp.Length = 0 Then
            End
        End If
        Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, iw4mpLookUp(0).Id)
        WriteFloatMemory(processHandle, Address, Value, 4, Nothing)
        CloseHandle(processHandle)

        Return Nothing
    End Function

    'NOP
    Private Function NOP(ByVal Address As Integer, ByVal value As Integer)
        Dim iw4mpLookUp As Process() = Process.GetProcessesByName("iw4mp")
        If iw4mpLookUp.Length = 0 Then
            End
        End If
        Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, iw4mpLookUp(0).Id)
        WriteProcessMemory(processHandle, Address, value, 1, Nothing)
        CloseHandle(processHandle)

        Return Nothing
    End Function

#End region

#Region "Functions"

    Public Function memoryh4x(ByVal address As String, ByVal value As Long, ByVal bytes As Byte)
        If IsProcessOpen("iw4mp") Then

            string1 = readdll("cshell.dll")
            string2 = "&H" & Hex(string1 + address)
            WriteMemory(string2, value, bytes)
        End If
        Return Nothing
    End Function

    Public Function floath4x(ByVal address As String, ByVal value As Long)
        If IsProcessOpen("iw4mp") Then

            string1 = readdll("cshell.dll")
            string2 = "&H" & Hex(string1 + address)
            WriteFloat(string2, value)
        End If
        Return Nothing
    End Function

    Public Function noph4x(ByVal address As String, ByVal value As Long)
        If IsProcessOpen("iw4mp") Then
            string1 = readdll("cshell.dll")
            string2 = "&H" & Hex(string1 + address)
            NOP(string2, value)


        End If
        Return Nothing
    End Function

#end region
End Module
Unlike C++ the address is buildt like this &HADRESS

C++ = 0xADDRESS
VB = &HADDRESS

Writing to memory:

Code:
memoryh4x(&H12BC89F, 1337, 4)
-> Address 12BC89F (4 bytes as datatype) -> Insert the value 1337

Write Float:

Code:
floath4x(&H12BC89F, 1337)
Nop:

Code:
nop(&H12BC89F, 6)
Updated Injector Source.

Update Fixes:
~ InjectIt Issue
~ Conversion Issue.

This update is as source only and has not been uploaded in the .RAR file.
Simply copy the code and replace the code in the injector source with at the bottom of post one
i've tried adding 2 existing items " API kit & Send Key Api". once i've added both of them i cannot use the send key api functions it gives me a error saying "Vk_F9" is ambiguous between declarations in modules "appname.Sendkeyapi" and "appname.APIKIT"

how do i fix this problem. thanks for the great release
APIKIt and Sendkey APi both have full keyboard hooks, If you intend on using both then just remove or comment out the keyboard hook in one or the other.
HOw r u suppose to put it into the Program please reply!!!
Quote Originally Posted by phooj View Post
HOw r u suppose to put it into the Program please reply!!!
I suggest you learn that first, then come back and review the first thread again.
nextgen as much as i hate disobeying your rule of not posting updates in this thread i can't send you an email due to only having 3 posts of the required 20 but my improvement is to the sendkeys you would be better off converting the virtual code into a scan code so 2 methods is
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const SPI_GETKEYBOARDDELAY = 22
Const SPI_GETKEYBOARDSPEED = 10
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Integer, ByVal bScan As Integer, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Integer, ByVal wMapType As Integer) As Integer
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByRef lpvParam As Integer, ByVal fuWinIni As Integer) As Integer
Private Sub release(ByVal key As Byte)
Dim kb_delay As Integer
Dim kb_speed As Integer
SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, kb_delay, 0)
SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, kb_speed, 0)
keybd_event(key, MapVirtualKey(key, 0), 2, 0)
End Sub

Private Sub press(ByVal key As Byte)
Dim kb_delay As Integer
Dim kb_speed As Integer
SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, kb_delay, 0)
SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, kb_speed, 0)
keybd_event(key, MapVirtualKey(key, 0), 0, 0)
End Sub
note that the systemparametersinfo is not needed it included only because it could be useful
Posts 61–67 of 67 · Page 5 of 5

Post a Reply

Similar Threads

Tags for this Thread

Talk with us