Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent

    Read Writing Memory Visual Basic

    Code:
    Module ReadWritingMemory
        Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    
        Private Declare Function WriteProcessMemory1 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 WriteProcessMemory2 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 Single
        Private Declare Function WriteProcessMemory3 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Private Declare Function ReadProcessMemory1 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 ReadProcessMemory2 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Single
        Private Declare Function ReadProcessMemory3 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Const PROCESS_ALL_ACCESS = &H1F0FF
    
        Public Function WriteDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Integer, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteInteger(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Integer
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Integer
                vBuffer = ReadInteger(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteFloat(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Single
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Single
                vBuffer = ReadFloat(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Long, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteLong(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Long
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Long
                vBuffer = ReadLong(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Sub WriteNOPs(ByVal ProcessName As String, ByVal Address As Long, ByVal NOPNum As Integer)
            Dim C As Integer
            Dim B As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            B = 0
            For C = 1 To NOPNum
                Call WriteProcessMemory1(hProcess, Address + B, &H90, 1, 0&)
                B = B + 1
            Next C
        End Sub
    
        Public Sub WriteXBytes(ByVal ProcessName As String, ByVal Address As Long, ByVal Value As String)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim C As Integer
            Dim B As Integer
            Dim D As Integer
            Dim V As Byte
    
            B = 0
            D = 1
            For C = 1 To Math****und((Len(Value) / 2))
                V = Val("&H" & Mid$(Value, D, 2))
                Call WriteProcessMemory1(hProcess, Address + B, V, 1, 0&)
                B = B + 1
                D = D + 2
            Next C
    
        End Sub
    
        Public Sub WriteInteger(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Integer, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory1(hProcess, hAddress, CInt(vBuffer), nsize, 0)
        End Sub
    
        Public Sub WriteFloat(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Single, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Sub WriteLong(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Long, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Function ReadInteger(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            ReadProcessMemory1(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadFloat(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Single
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            ReadProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadLong(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Long
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            ReadProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
    End Module
    Anything to ask ? Reply above .


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  2. The Following 3 Users Say Thank You to Luffy For This Useful Post:

    bigode2410 (10-12-2016),nikazizi97 (1 Week Ago),[GM]Luffy (09-13-2016)

  3. #2
    Armagedonz's Avatar
    Join Date
    May 2016
    Gender
    male
    Location
    dxd9.dll
    Posts
    316
    Reputation
    10
    Thanks
    2,481
    My Mood
    Cheerful
    Quote Originally Posted by RedHunter View Post
    Code:
    Module ReadWritingMemory
        Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    
        Private Declare Function WriteProcessMemory1 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 WriteProcessMemory2 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 Single
        Private Declare Function WriteProcessMemory3 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Private Declare Function ReadProcessMemory1 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 ReadProcessMemory2 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Single
        Private Declare Function ReadProcessMemory3 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Const PROCESS_ALL_ACCESS = &H1F0FF
    
        Public Function WriteDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Integer, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteInteger(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Integer
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Integer
                vBuffer = ReadInteger(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteFloat(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Single
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Single
                vBuffer = ReadFloat(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Long, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteLong(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Long
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Long
                vBuffer = ReadLong(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Sub WriteNOPs(ByVal ProcessName As String, ByVal Address As Long, ByVal NOPNum As Integer)
            Dim C As Integer
            Dim B As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            B = 0
            For C = 1 To NOPNum
                Call WriteProcessMemory1(hProcess, Address + B, &H90, 1, 0&)
                B = B + 1
            Next C
        End Sub
    
        Public Sub WriteXBytes(ByVal ProcessName As String, ByVal Address As Long, ByVal Value As String)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim C As Integer
            Dim B As Integer
            Dim D As Integer
            Dim V As Byte
    
            B = 0
            D = 1
            For C = 1 To Math****und((Len(Value) / 2))
                V = Val("&H" & Mid$(Value, D, 2))
                Call WriteProcessMemory1(hProcess, Address + B, V, 1, 0&)
                B = B + 1
                D = D + 2
            Next C
    
        End Sub
    
        Public Sub WriteInteger(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Integer, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory1(hProcess, hAddress, CInt(vBuffer), nsize, 0)
        End Sub
    
        Public Sub WriteFloat(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Single, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Sub WriteLong(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Long, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Function ReadInteger(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            ReadProcessMemory1(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadFloat(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Single
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            ReadProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadLong(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Long
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            ReadProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
    End Module
    Anything to ask ? Reply above .
    Ah This , Very easy to make Trainer,etc
    Nice

    A standard Silk will not away from darkness.Let's destroy communication,Shall we?


  4. #3
    ZhinLoung's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    181
    Reputation
    10
    Thanks
    14
    VB? _~_
    /msg2short

  5. #4
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent
    Quote Originally Posted by ZhinLoung View Post
    VB? _~_
    /msg2short
    Yeah , Its VB .


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  6. #5
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    4,941
    Reputation
    315
    Thanks
    22,167
    My Mood
    Busy


    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !

  7. The Following User Says Thank You to COD3RIN For This Useful Post:

    [MPGH]Luffy (09-08-2016)

  8. #6
    skycool07's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    0
    in master131 memory

    how do i change process while the application is already running?
    or i need to change in the code everytime i need to use it?

  9. #7
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent
    Quote Originally Posted by skycool07 View Post
    in master131 memory

    how do i change process while the application is already running?
    or i need to change in the code everytime i need to use it?
    Use textbox or change It directly .


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  10. #8
    skycool07's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by Luffy View Post
    Use textbox or change It directly .
    any sample how to change using textbox?

  11. #9
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent
    Quote Originally Posted by skycool07 View Post
    any sample how to change using textbox?
    Never try It . Just try It out by urself .


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  12. #10
    skycool07's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    0
    Not Working
     
    Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
    Try
    Dim lvl As Integer = Address
    For i As Integer = 1 To Level
    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
    Next
    WriteFloat(Process, lvl, Value, nsize)
    Return True
    Catch ex As Exception
    Return False
    End Try
    End Function


     
    Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
    Try
    Dim lvl As Integer = Address
    For i As Integer = 1 To Level
    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
    Next
    WriteInteger(Process, lvl, Value, nsize)
    Return True
    Catch ex As Exception
    Return False
    End Try
    End Function

  13. #11
    nikazizi97's Avatar
    Join Date
    Oct 2014
    Gender
    male
    Posts
    509
    Reputation
    10
    Thanks
    512
    My Mood
    Bored
     
    Quote Originally Posted by Luffy View Post
    Code:
    Module ReadWritingMemory
        Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    
        Private Declare Function WriteProcessMemory1 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 WriteProcessMemory2 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 Single
        Private Declare Function WriteProcessMemory3 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Private Declare Function ReadProcessMemory1 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 ReadProcessMemory2 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Single
        Private Declare Function ReadProcessMemory3 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Const PROCESS_ALL_ACCESS = &H1F0FF
    
        Public Function WriteDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Integer, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteInteger(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Integer
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Integer
                vBuffer = ReadInteger(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteFloat(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Single
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Single
                vBuffer = ReadFloat(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Function WriteDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Long, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                WriteLong(Process, lvl, Value, nsize)
                Return True
            Catch ex As Exception
                Return False
            End Try
        End Function
    
        Public Function ReadDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Long
            Try
                Dim lvl As Integer = Address
                For i As Integer = 1 To Level
                    lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1)
                Next
                Dim vBuffer As Long
                vBuffer = ReadLong(Process, lvl, nsize)
                Return vBuffer
            Catch ex As Exception
    
            End Try
        End Function
    
        Public Sub WriteNOPs(ByVal ProcessName As String, ByVal Address As Long, ByVal NOPNum As Integer)
            Dim C As Integer
            Dim B As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            B = 0
            For C = 1 To NOPNum
                Call WriteProcessMemory1(hProcess, Address + B, &H90, 1, 0&)
                B = B + 1
            Next C
        End Sub
    
        Public Sub WriteXBytes(ByVal ProcessName As String, ByVal Address As Long, ByVal Value As String)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim C As Integer
            Dim B As Integer
            Dim D As Integer
            Dim V As Byte
    
            B = 0
            D = 1
            For C = 1 To Math****und((Len(Value) / 2))
                V = Val("&H" & Mid$(Value, D, 2))
                Call WriteProcessMemory1(hProcess, Address + B, V, 1, 0&)
                B = B + 1
                D = D + 2
            Next C
    
        End Sub
    
        Public Sub WriteInteger(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Integer, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory1(hProcess, hAddress, CInt(vBuffer), nsize, 0)
        End Sub
    
        Public Sub WriteFloat(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Single, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Sub WriteLong(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Long, Optional ByVal nsize As Integer = 4)
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Sub
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Sub
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            vBuffer = Value
            WriteProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
        End Sub
    
        Public Function ReadInteger(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Integer
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress, vBuffer As Integer
            hAddress = Address
            ReadProcessMemory1(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadFloat(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Single
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Single
    
            hAddress = Address
            ReadProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
        Public Function ReadLong(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Long
            If ProcessName.EndsWith(".exe") Then
                ProcessName = ProcessName.Replace(".exe", "")
            End If
            Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
            If MyP.Length = 0 Then
                MessageBox.Show(ProcessName & " isn't open!")
                Exit Function
            End If
            Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
            If hProcess = IntPtr.Zero Then
                MessageBox.Show("Failed to open " & ProcessName & "!")
                Exit Function
            End If
    
            Dim hAddress As Integer
            Dim vBuffer As Long
    
            hAddress = Address
            ReadProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
            Return vBuffer
        End Function
    
    End Module
    Anything to ask ? Reply above .


    is this like logger or what?
    because i don't know how to use this.
    Last edited by nikazizi97; 1 Week Ago at 12:42 AM. Reason: spoiler add

    Want Thanks Me when I have Release Hack for You or I did Helped You ?

    Have Thanks Button Down There.



    - MrJunior -

     

    [Preview] Simple Hack v0.0.1 + Weapon Hack + Aimbot [BlackShot SEA]

    Preview :



    Video Preview :


    Just Simple Hack v0.0.1

    Features :
    8 xDamage
    44.8 xSpeed
    xRapidFire
    Weapon2Melee


    Code:
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

  14. #12
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent
    Quote Originally Posted by nikazizi97 View Post

    is this like logger or what?
    because i don't know how to use this.
    Use It to make a trainer.


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  15. #13
    nikazizi97's Avatar
    Join Date
    Oct 2014
    Gender
    male
    Posts
    509
    Reputation
    10
    Thanks
    512
    My Mood
    Bored
    Quote Originally Posted by Luffy View Post
    Use It to make a trainer.
    if you don't mind please reply my pm,

    also what is your method to find teleport hack because tired to find teleport like tutorial in youtube.

    thanks

    Want Thanks Me when I have Release Hack for You or I did Helped You ?

    Have Thanks Button Down There.



    - MrJunior -

     

    [Preview] Simple Hack v0.0.1 + Weapon Hack + Aimbot [BlackShot SEA]

    Preview :



    Video Preview :


    Just Simple Hack v0.0.1

    Features :
    8 xDamage
    44.8 xSpeed
    xRapidFire
    Weapon2Melee


    Code:
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

  16. #14
    Luffy's Avatar
    Join Date
    Jan 2016
    Gender
    male
    Location
    d3d9.dll
    Posts
    1,874
    Reputation
    157
    Thanks
    8,823
    My Mood
    Innocent
    Quote Originally Posted by nikazizi97 View Post
    if you don't mind please reply my pm,

    also what is your method to find teleport hack because tired to find teleport like tutorial in youtube.

    thanks
    There's 2 easiest way to find a teleport addies I guess. First by sig scans. Second by String. Here I will leaked a second method, open C.E -> String -> Type HK 416 -> Choose the number 2 address -> Memory Search -> Then scroll up and take address on BYTE 68. Thats all if I'm not mistake.


    MPGH History:
    Member since 02/1/2016
    Contributor since 29/6/2016
    Combat Arms Minion since 25/8/2016
    BlackShot Minion since 6/10/2016

  17. The Following User Says Thank You to Luffy For This Useful Post:

    nikazizi97 (1 Week Ago)

  18. #15
    nikazizi97's Avatar
    Join Date
    Oct 2014
    Gender
    male
    Posts
    509
    Reputation
    10
    Thanks
    512
    My Mood
    Bored
    type HK 416 ?
    second address?
    memory search?

    Want Thanks Me when I have Release Hack for You or I did Helped You ?

    Have Thanks Button Down There.



    - MrJunior -

     

    [Preview] Simple Hack v0.0.1 + Weapon Hack + Aimbot [BlackShot SEA]

    Preview :



    Video Preview :


    Just Simple Hack v0.0.1

    Features :
    8 xDamage
    44.8 xSpeed
    xRapidFire
    Weapon2Melee


    Code:
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Page 1 of 2 12 LastLast

Similar Threads

  1. [Solved] Microsoft Visual Basic Express Read Write Integer File not Found Help
    By ivirusx77 in forum Blackshot Help
    Replies: 2
    Last Post: 03-03-2015, 04:38 PM
  2. Writing your own Visual Basics (v5 or v6) Trainer
    By TheRedEye in forum Game Hacking Tutorials
    Replies: 29
    Last Post: 12-09-2013, 10:56 AM
  3. [Help] Memory editing (Read/Write Process Memory)
    By wolfguardiann in forum Visual Basic Programming
    Replies: 31
    Last Post: 06-04-2011, 04:23 AM
  4. how to write/Read game memory with vb 2008
    By CodeHPro in forum Visual Basic Programming
    Replies: 33
    Last Post: 11-08-2009, 10:50 PM