|
You last visited: Today at 17:46
Advertisement
AOB Scan / Pattern Scan
Discussion on AOB Scan / Pattern Scan within the .NET Languages forum part of the Coders Den category.
10/01/2015, 17:44
|
#1
|
elite*gold: 0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
|
AOB Scan / Pattern Scan
Moin ^^,
Es geht ums Game Hacking und ich möchte gerne einen Pattern Scanner einbauen. Leider weiß ich nicht wie ich da überhaupt anfangen soll.
1. Option
bsp. AOB
Code:
74 10 8B 55 FC 8B 8A ?? ?? ?? ?? E8 ?? ?? ?? ?? EB ?? 8B 45 ?? 8B 88 ?? ?? ?? ?? E8 ?? ?? ?? ?? EB ?? ?? ?? ?? ?? 85 C9
Aus der AOB soll nun die Addresse im RAM gefunden werden.
2. Option
bsp. AOB
Code:
D9 45 FC 8B E5 5D C3 CC CC CC CC CC CC 55 8B EC 51 89 4D FC
Man sucht nicht die Addresse sondern schreib gleich in Bytes.
D9 soll nun zu DB geändert werden.
Kennt sich damit jemand evtl aus ?
|
|
|
10/01/2015, 18:46
|
#2
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
Du könntest den Boyer–Moore Algorithmus implementieren.
Dieser eignet sich meiner Meinung nach gut und hat im schlechtesten Falle eine Laufzeit von O(PatternLength * MemorySize)
Alternativ könntest du den Maximum Weight Matching (MWM) Algorithmus verwenden. Dieser ist schwieriger umzusetzen, dafür aber - bei geschickter implementierung - schneller.
|
|
|
10/03/2015, 17:56
|
#3
|
elite*gold: 0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
|
Suche noch weitere hilfe
|
|
|
10/03/2015, 18:17
|
#4
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
kannst du das genauer definieren? dort oben sind zwei ansätze genannt.
|
|
|
10/03/2015, 20:15
|
#5
|
elite*gold: 0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
|
Quote:
Originally Posted by tolio
kannst du das genauer definieren? dort oben sind zwei ansätze genannt.
|
Ich möchte eine Addresse im RAM finden eines bestimmtem Prozesses.
Da viele Speicher-Addressen nicht Dynamisch sind gibt es die Möglichkeit an die Addressen zu kommen mit der entsprechendem AOB (Array of Byte).
Was ich nun möchte..
AOBScan / PatternScan machen um an die Addresse zu kommen die ich brauche um sie danach den wert der Addresse zu ändern.
Bsp.
Code:
AOB = D9 45 C4 8B 4D F4 64 89 0D
Danach wird in einem Prozess gesucht und er findet dort zb diese Addresse :
-> 0x0DBEF0 (Da kommt natürlich was anderes raus)
Diese Addresse hat jetzt zb den Wert 20
Jetzt ändere ich den Wert von 20 auf 30.
Der Wert der Addresse kann ich selber Problemlos ändern, nur ich muss halt erstmal an diese Addressen kommen, damit ich dies tun kann. Darum brauch ich hilfe bei einem AOBScan / Pattern Scan / Pattern Finder /.. whatever
|
|
|
10/03/2015, 21:14
|
#6
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
Dann schreibe dir doch erstmal ein Grundgerüst.
GetProcessesByName
OpenProcess
ReadProcessMemory
Um das ganze dann effektiv und nicht byte für byte zu durchsuchen, nutzt du eine implementieren des Boyer-Moore Algorithmus.
Wenn ich meine Prüfung am Dienstag hinter mir habe, bastel ich mal ne Library. Werde Boyer-Moore wahrscheinlich mit den Heuristiken BAD_CHAR und GOOD_SUFFIX implementieren, sofern mir keine effizientere Methode einfällt.
|
|
|
10/03/2015, 21:54
|
#7
|
elite*gold: 0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
|
Quote:
Originally Posted by Daifoku
Dann schreibe dir doch erstmal ein Grundgerüst.
GetProcessesByName
OpenProcess
ReadProcessMemory
Um das ganze dann effektiv und nicht byte für byte zu durchsuchen, nutzt du eine implementieren des Boyer-Moore Algorithmus.
Wenn ich meine Prüfung am Dienstag hinter mir habe, bastel ich mal ne Library. Werde Boyer-Moore wahrscheinlich mit den Heuristiken BAD_CHAR und GOOD_SUFFIX implementieren, sofern mir keine effizientere Methode einfällt.
|
Dieses "Grundgerüst" steht bereits schon.
Ich brauche nurnoch den AOB Scann.
MFG #Lucas#
|
|
|
10/03/2015, 22:35
|
#8
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
Dann simuliere zu Testzwecken dein Grundgerüst durch
Code:
unsigned char memory[37] = "asdhisacsbfbusdzfbtsdufzgbuisgfbzugb";
und arbeite damit.
Als Suchmuster wählen wir
Code:
unsigned char pattern[10] = "sdzfbtsdu";
Wir verzichten zunächst auf Wildcards.
Schreibe zunächst eine Funktion, die eine lineare Suche* implementiert und poste deinen Code. Wenn du das hast, erweitern wir hier gemeinsam deine Funktion Schritt für Schritt.
* Suche Byte für Byte ab, ohne Algorithmus.
|
|
|
10/04/2015, 12:07
|
#9
|
elite*gold: 0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
|
Quote:
Originally Posted by Daifoku
Dann simuliere zu Testzwecken dein Grundgerüst durch
Code:
unsigned char memory[37] = "asdhisacsbfbusdzfbtsdufzgbuisgfbzugb";
und arbeite damit.
Als Suchmuster wählen wir
Code:
unsigned char pattern[10] = "sdzfbtsdu";
Wir verzichten zunächst auf Wildcards.
Schreibe zunächst eine Funktion, die eine lineare Suche* implementiert und poste deinen Code. Wenn du das hast, erweitern wir hier gemeinsam deine Funktion Schritt für Schritt.
* Suche Byte für Byte ab, ohne Algorithmus.
|
Ok, danke erstmal im vorraus. Was ich noch anmerken möchte, ich schreibe das ganze in Visual Basic. Werde es nun so versuchen wie du es gesagt hast und erstmal dein Grundgerüst für den Scann aufbauen.
Das ganze sieht bis jetzt so aussehen (ohne AOB Scan).
Code:
Try
Dim P22 As Process = Process.GetProcessesByName(Defines.GameEXE)(0)
Dim ProcessHandle As IntPtr = OpenProcess(&H1F0FFF, False, P22.Id)
Dim cBase As Long = P22.MainModule.BaseAddress
SuspendProcess(p(0))
System.Threading.Thread.Sleep(1000)
WriteLong(Defines.GameEXE, cBase + &HADDY1, WERT1)
WriteLong(Defines.GameEXE, cBase + &HADDY2, WERT2)
WriteLong(Defines.GameEXE, cBase + &HADDY3, WERT3)
System.Threading.Thread.Sleep(1000)
ResumeProcess(p(0))
MsgBox("Success Bypassed..")
Me.Close()
Catch ex E...
MsgBox("Failed..")
Me.Close()
End Try
|
|
|
|
Similar Threads
|
[Tutorial] AutoIt Pattern Scan
08/21/2022 - Coding Tutorials - 4 Replies
Hallo,
dies ist mein kleines Pattern Tutorial.
groß was zu erzählen gibt es nicht, ist alles im video.
alles was ihr braucht findet ihr hier im threat
VideoTutorial
MemoryScan by Luzifer42 Extended by me
Func _MemoryScanEx($ah_Handle, $pattern, $mask , $after = False, $iv_addrStart = 0x00400000, $iv_addrEnd = 0x00FFFFFF, $step = 51200)
If Not IsArray($ah_Handle) Then
|
Autoit Pattern Scan CSGO
01/20/2016 - AutoIt - 4 Replies
Hey ich habe versucht mit der _MemoryScanEx funktion einen Pattern Scan in meinen CSGO Hack einzubauen.
CSGO cheat(autoit): https://www.youtube.com/watch?v=nGa04ZEkGhc
(steht nicht mehr zum verkauf)
ich schaffe es nich den pattern scan in CSGO einzusetzen..:
Das ist jetzt das pattern für das healthoffset
Global $Open = _MemoryOpen(ProcessExists("csgo.exe"))
Global $baseaddr = _MemoryModuleGetBaseAddress(ProcessExists("cs go.exe"), "client.dll")
|
Who can tell me what is the pattern scan??
08/28/2014 - C/C++ - 2 Replies
Some body can tell me what is the pattern scan?
|
All times are GMT +2. The time now is 17:46.
|
|