التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ممكن تعديل على الكود دا يا اخواتي لوسمحتو
#1
كود :
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.Round((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
الكود الى عاوز اعدلو الى تحت دا انا عاوز استبدل process name ب process id
كود :
   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
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
ممكن تعديل على الكود دا يا اخواتي لوسمحتو - بواسطة ahmed112001 - 19-12-20, 08:14 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طلب تعديل كود عرض بيانات xlsx ABDULLAH HASSAN 1 14 منذ 44 دقيقة مضت
آخر رد: justforit
  تعديل على فاتورة مبيعات خالد كامل1 4 124 26-03-24, 10:49 PM
آخر رد: خالد كامل1
  تعديل كود ارسال صورة الى الواتس new_programer 2 172 21-03-24, 10:07 PM
آخر رد: new_programer
  تعديل صب المجموع الكلي والمعدل والتقدير مصمم هاوي 3 174 19-03-24, 01:33 AM
آخر رد: مصمم هاوي
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 108 09-03-24, 03:17 AM
آخر رد: atefkhalf2004
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 201 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  ممكن حل المشكلة فى الكود التالي - من مشاركة استاذنا القدير / عبدالله الدوسري new_programer 4 177 02-03-24, 07:36 PM
آخر رد: new_programer
  ماهو حل هذا الخطأ في الكود melad2002 7 276 25-02-24, 12:25 AM
آخر رد: justforit
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 215 20-02-24, 12:00 AM
آخر رد: Kamil
Sad ممكن حل لهذا المشكل melad2002 0 249 30-01-24, 08:01 PM
آخر رد: melad2002

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم