Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 17:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AOB Scan / Pattern Scan

Discussion on AOB Scan / Pattern Scan within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
The Black Market: 229/0/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 ?
_set is offline  
Old 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.
Daifoku is offline  
Old 10/03/2015, 17:56   #3
 
elite*gold: 0
The Black Market: 229/0/0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
Suche noch weitere hilfe
_set is offline  
Old 10/03/2015, 18:17   #4
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
kannst du das genauer definieren? dort oben sind zwei ansätze genannt.
tolio is offline  
Old 10/03/2015, 20:15   #5
 
elite*gold: 0
The Black Market: 229/0/0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
Quote:
Originally Posted by tolio View Post
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
_set is offline  
Old 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.
Daifoku is offline  
Old 10/03/2015, 21:54   #7
 
elite*gold: 0
The Black Market: 229/0/0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
Quote:
Originally Posted by Daifoku View Post
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#
_set is offline  
Old 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.
Daifoku is offline  
Old 10/04/2015, 12:07   #9
 
elite*gold: 0
The Black Market: 229/0/0
Join Date: Mar 2014
Posts: 2,790
Received Thanks: 6,658
Quote:
Originally Posted by Daifoku View Post
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
_set is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.