Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Addresses Are OUTDATED, Find Them With Cheat Engine
- Module Hook
- Public Pr As String = "winamp"
- Private Declare Function ReadMemoryByte Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Byte, Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Byte
- Private Declare Function ReadMemoryInteger Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Integer, Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Integer
- Private Declare Function ReadMemoryFloat Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Single, Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Single
- Private Declare Function ReadMemoryDouble Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Double, Optional ByVal Size As Integer = 8, Optional ByRef Bytes As Integer = 0) As Double
- Private Declare Function ReadMemoryString Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As IntPtr, Optional ByVal Size As Integer = 8, Optional ByRef Bytes As Integer = 0) As IntPtr
- Private Declare Function WriteMemoryByteArray Lib "kernel32" Alias "WriteProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Byte(), Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Byte()
- Private Declare Function WriteMemoryByte Lib "kernel32" Alias "WriteProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Byte, Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Byte
- Private Declare Function WriteMemoryInteger Lib "kernel32" Alias "WriteProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Integer, Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Integer
- Private Declare Function WriteMemoryFloat Lib "kernel32" Alias "WriteProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Single, Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Single
- Private Declare Function WriteMemoryDouble Lib "kernel32" Alias "WriteProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Double, Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Double
- Public Function Get_Process_SessionId()
- Dim p() As Process = Process.GetProcessesByName(Pr)
- For Each proc As Process In p
- Return proc.SessionId
- Next
- Return 0
- End Function
- Public Function Get_Process_PID()
- Dim p() As Process = Process.GetProcessesByName(Pr)
- For Each proc As Process In p
- Return proc.Id
- Next
- Return 0
- End Function
- Public Function Get_Process_Responding()
- Dim p() As Process = Process.GetProcessesByName(Pr)
- For Each proc As Process In p
- Return proc.Responding
- Next
- Return 0
- End Function
- Public Function Get_Process_Title()
- Dim p() As Process = Process.GetProcessesByName(Pr)
- For Each proc As Process In p
- Return proc.MainWindowTitle
- Next
- Return 0
- End Function
- Public Function Get_Process_Priority()
- Dim p() As Process = Process.GetProcessesByName(Pr)
- For Each proc As Process In p
- Return proc.PriorityClass
- Next
- Return 0
- End Function
- Public Function Read_Full_Length_Minute()
- Dim FullSec As Integer = ReadInteger(Pr, &H4A912C)
- Dim Timespan_Full As TimeSpan = TimeSpan.FromSeconds(FullSec)
- If Timespan_Full.Seconds.ToString.Length = 1 Then
- Return CStr(Timespan_Full.Minutes & ":" & "0" & Timespan_Full.Seconds)
- Else
- Return CStr(Timespan_Full.Minutes & ":" & Timespan_Full.Seconds)
- End If
- End Function
- Public Function Read_Current_Length_Minute()
- Dim CurrSec As Integer = ReadInteger(Pr, &H4A7DD8)
- Dim Timespan_Current As TimeSpan = TimeSpan.FromSeconds(CurrSec)
- If Timespan_Current.Seconds.ToString.Length = 1 Then
- Return CStr(Timespan_Current.Minutes & ":" & "0" & Timespan_Current.Seconds)
- Else
- Return CStr(Timespan_Current.Minutes & ":" & Timespan_Current.Seconds)
- End If
- End Function
- Public Function Read_Current_Length_Second()
- Return ReadInteger(Pr, &H4A7DD8)
- End Function
- Public Function Read_Kbps()
- Return ReadInteger(Pr, &H4BB32C)
- End Function
- Public Function Read_Full_Length_Seconds()
- Return ReadInteger(Pr, &H4A912C)
- End Function
- Public Function ReadByte(ByVal EXENAME As String, ByVal Address As Integer) As Byte
- Dim Value As Byte
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- ReadMemoryByte(Handle, Address, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadInteger(ByVal EXENAME As String, ByVal Address As Integer) As Integer
- Dim Value As Integer
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- ReadMemoryInteger(Handle, Address, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadFloat(ByVal EXENAME As String, ByVal Address As Integer) As Single
- Dim Value As Single
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- ReadMemoryFloat(Handle, Address, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadDouble(ByVal EXENAME As String, ByVal Address As Integer) As Double
- Dim Value As Double
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- ReadMemoryByte(Handle, Address, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadPointerByte(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Byte
- Dim Value As Byte
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- ReadMemoryByte(Handle, Pointer, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadPointerInteger(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Integer
- Dim Value As Integer
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- ReadMemoryInteger(Handle, Pointer, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadPointerFloat(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Single
- Dim Value As Single
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- ReadMemoryFloat(Handle, Pointer, Value)
- End If
- End If
- Return Value
- End Function
- Public Function ReadPointerDouble(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Double
- Dim Value As Double
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- ReadMemoryDouble(Handle, Pointer, Value)
- End If
- End If
- Return Value
- End Function
- Public Sub WriteByte(ByVal EXENAME As String, ByVal Address As Integer, ByVal Value As Byte)
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- WriteMemoryByte(Handle, Address, Value)
- End If
- End If
- End Sub
- Public Sub WriteByteArray(ByVal EXENAME As String, ByVal Address As Integer, ByVal Value As Byte())
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- WriteMemoryByteArray(Handle, Address, Value)
- End If
- End If
- End Sub
- Public Sub WriteInteger(ByVal EXENAME As String, ByVal Address As Integer, ByVal Value As Integer)
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- WriteMemoryInteger(Handle, Address, Value)
- End If
- End If
- End Sub
- Public Sub WriteFloat(ByVal EXENAME As String, ByVal Address As Integer, ByVal Value As Single)
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- WriteMemoryFloat(Handle, Address, Value)
- End If
- End If
- End Sub
- Public Sub WriteDouble(ByVal EXENAME As String, ByVal Address As Integer, ByVal Value As Double)
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- WriteMemoryDouble(Handle, Address, Value)
- End If
- End If
- End Sub
- Public Sub WritePointerByte(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal Value As Byte, ByVal ParamArray Offset As Integer())
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- WriteMemoryByte(Handle, Pointer, Value)
- End If
- End If
- End Sub
- Public Sub WritePointerInteger(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal Value As Integer, ByVal ParamArray Offset As Integer())
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- WriteMemoryInteger(Handle, Pointer, Value)
- End If
- End If
- End Sub
- Public Sub WritePointerFloat(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal Value As Single, ByVal ParamArray Offset As Integer())
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- WriteMemoryFloat(Handle, Pointer, Value)
- End If
- End If
- End Sub
- Public Sub WritePointerDouble(ByVal EXENAME As String, ByVal Pointer As Integer, ByVal Value As Double, ByVal ParamArray Offset As Integer())
- If Process.GetProcessesByName(EXENAME).Length <> 0 Then
- Dim Handle As Integer = Process.GetProcessesByName(EXENAME)(0).Handle
- If Handle <> 0 Then
- For Each I As Integer In Offset
- ReadMemoryInteger(Handle, Pointer, Pointer)
- Pointer += I
- Next
- WriteMemoryDouble(Handle, Pointer, Value)
- End If
- End If
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement