Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Region "Basic Stuff"
- <DllImport("kernel32.dll")> _
- Private Shared Function ReadProcessMemory(hProcess As IntPtr, lpBaseAddress As IntPtr, <[In](), Out()> buffer As Byte(), size As UInt32, ByRef lpNumberOfBytesWritten As IntPtr) As Int32
- End Function
- <DllImport("kernel32.dll")> _
- Private Shared Function WriteProcessMemory(hProcess As IntPtr, lpBaseAddress As IntPtr, <[In](), Out()> buffer As Byte(), size As UInt32, ByRef lpNumberOfBytesWritten As IntPtr) As Int32
- End Function
- <DllImport("user32.dll", CharSet:=CharSet.Auto, ExactSpelling:=True)> _
- Public Shared Function GetKeyState(ByVal virtualKeyCode As Keys) As Short
- End Function
- Private pHandel As IntPtr
- Public Function Process_Handle(ProcessName As String) As Boolean
- Try
- Dim ProcList As Process() = Process.GetProcessesByName(ProcessName)
- If ProcList.Length = 0 Then
- Return False
- Else
- pHandel = ProcList(0).Handle
- Return True
- End If
- Catch ex As Exception
- Console.Beep()
- Console.WriteLine("Process_Handle - " + ex.Message)
- Return False
- End Try
- End Function
- Private Function Read(Address As Integer, Length As Integer) As Byte()
- Dim Buffer As Byte() = New Byte(Length - 1) {}
- Dim Zero As IntPtr = IntPtr.Zero
- ReadProcessMemory(pHandel, New IntPtr(Address), Buffer, UInt32.Parse(Buffer.Length), Zero)
- Return Buffer
- End Function
- Private Sub Write(Address As Integer, Value As Integer)
- Dim Buffer As Byte() = BitConverter.GetBytes(Value)
- Dim Zero As IntPtr = IntPtr.Zero
- WriteProcessMemory(pHandel, New IntPtr(Address), Buffer, UInt32.Parse(Buffer.Length), Zero)
- End Sub
- #End Region
- 'This is the part you want to edit
- #Region "Write Functions (Integer & String)"
- Public Sub WriteInteger(Address As Integer, Value As Integer)
- Write(Address, Value)
- End Sub
- Public Sub WriteString(Address As Integer, Text As String)
- Dim Buffer As Byte() = New ASCIIEncoding().GetBytes(Text)
- Dim Zero As IntPtr = IntPtr.Zero
- WriteProcessMemory(pHandel, New IntPtr(Address), Buffer, UInt32.Parse(Buffer.Length), Zero)
- End Sub
- Public Sub WriteBytes(Address As Integer, Bytes As Byte())
- Dim Zero As IntPtr = IntPtr.Zero
- WriteProcessMemory(pHandel, New IntPtr(Address), Bytes, CUInt(Bytes.Length), Zero)
- End Sub
- Public Sub WriteNOP(Address As Integer)
- Dim Buffer As Byte() = New Byte() {&H90, &H90, &H90, &H90, &H90}
- Dim Zero As IntPtr = IntPtr.Zero
- WriteProcessMemory(pHandel, New IntPtr(Address), Buffer, UInt32.Parse(Buffer.Length), Zero)
- End Sub
- #End Region
- #Region "Read Functions (Integer & String)"
- Public Function ReadInteger(Address As Integer, Optional Length As Integer = 4) As Integer
- Return BitConverter.ToInt32(Read(Address, Length), 0)
- End Function
- Public Function ReadString(Address As Integer, Optional Length As Integer = 4) As String
- Return New ASCIIEncoding().GetString(Read(Address, Length))
- End Function
- Public Function ReadBytes(Address As Integer, Length As Integer) As Byte()
- Return Read(Address, Length)
- End Function
- #End Region
- #Region "Extra"
- Public Function HotKey(Key As Keys) As Boolean
- Return Convert.ToBoolean(GetKeyState(Key))
- End Function
- Private Check_res As Boolean = True
- Public Function Check_Value(Value As String) As Integer
- For Each a As Char In Value
- If Char.IsNumber(a, 0) Then
- Check_res = True
- Else
- Check_res = False
- Return 0
- Exit For
- End If
- Next
- Return Convert.ToInt32(Value)
- End Function
- #End Region
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement