Hey,
Ich brauche eure hilfe ^^
und zwar versuche ich ein Programm zu schreiben, dass im speicher eines process nach einem bestimmten wert sucht. in diesem fall -> 66903 (4 byte)
ich habe es schon hinbekommen, dass er nach dem wert sucht mithilfe von ReadProcessMemory, aber es dauert viel zu lange. bei einer range von 52A9999 - 58F0000 braucht das programm ca 10 minuten zum suchen.
ich brauche ein paar tipps, wie man es schneller machen kann ^^
ich meine cheat engine funktioniert auch viel schneller als das ^^
Hier noch mein Quellcode:
Dim Scanning As String = 0
ListView1.Items.Clear()
Timer1.Stop()
For Each p In Process.GetProcessesByName(ProcessName)
Dim winhandle As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, True, p.Id)
ProgressBar1.Maximum = MaxScan - CLng("&H52A9999")
If p.MainWindowTitle = FensternName Then
If Found = True Then
If Found = True Then
For Start2 = GefundeneAdresse - 700 To MaxScans + 700
'ProgressBar1.Value = Start2
ReadProcessMemory(winhandle, Start2, Buffer, 4, 0)
If Buffer = GesuchteValue Then
With ListView1.Items.Add(Hex(Start2))
.SubItems.Add(Buffer)
End With
ProgressBar1.Value = 0
Timer1.Start()
End If
Next
End If
Else
For Start = CLng("&H52A9999") To MaxScan
Try
Try
ProgressBar1.Value += 1
Catch ex As Exception
ProgressBar1.Value = 0
End Try
MaxScans = Start
If Found = True Then
GefundeneAdresse = MaxScans
ProgressBar1.Value = 0
Timer1.Start()
Exit Sub
End If
ReadProcessMemory(winhandle, Start, Buffer, 4, 0)
If Buffer = GesuchteValue Then
Found = True
ListView1.Items.Add(Hex(Start)).SubItems.Add(Buffe r)
End If
If Scanning = 1 Then
Me.Text = "Scanning." & " -- " & Hex(Start) & " - " & Buffer
ElseIf Scanning = 0 Then
Scanning = 1
End If
Catch ex As Exception
End Try
Next
Scanning = 0
End If
End If
Next
nach dem ersten durchsuchen verändert sich die range um +/- 700 um die adresse
den ersten scan habe ich rot markiert, es soll verschnellert werden ^^
danke schonmal für eure hilfe ^^
MfG Miraculi ii