• Trainer
  • Forums
  • Suche
  • Members
  • Kalender
  • Hilfe
  • Extras
Forum stats
Show team
Neue Beiträge ansehen
Heutige Beiträge ansehen
Home of Gamehacking - Archiv
Login to account Create an account
Login
Benutzername:
Passwort: Passwort vergessen?
 



  Home of Gamehacking - Archiv Coding Visual Basic 6, VB.NET
1 2 3 4 Weiter »
Signature/Pattern Scanning mit VB.NET

Seiten (2): 1 2 Weiter »
Ansichts-Optionen
Signature/Pattern Scanning mit VB.NET
Anunymux Offline
Junior Member
**
Beiträge: 9
Themen: 2
Registriert seit: Nov 2013
Bewertung: 0
#1
28.11.2013, 01:11 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2013, 01:12 von Anunymux.)
Hallo,

ich habe vor kurzem ein Video gesehen über Pattern Scanning mit c++ und gemerkt, dass es doch viel Arbeit abnimmt, da man nicht jedes Mal nach einem Update die Offsets suchen muss....auch wenn das nicht wirklich lange dauert.

Ich programmiere allerdings sehr gerne in vb.net und habe noch nichts für vb.net gefunden.

Ich würde sehr gerne extern (d.h. ohne dll Injection) nach einem bestimmen Bytemuster in einem Modul suchen.

Auf Game-Deception habe ich eine Funktion gefunden...allerdings in c# http://www.gamedeception.net/index.php?t...n-c.14470/

Ich habe das ganze mal in vb.net umgewandelt und dabei kam folgendes heraus:
http://pastebin.com/1gE753wm

Das ist die Bytefolge, die ich suche:

http://gyazo.com/153855e2a6d87b141679d7ed45ffa97c

Ich rufe die Funktion auf:

MsgBox(sigscanner.FindPattern(New Byte() {&H83, &H96, &H5C, &H6, &H0, &H0, &H8B, &H7, &H8B, &H90, &HB4, &H5, &H0, &H0}, "xx????xxxx????", &H0))

Bei dem letzten "&H0" bin ich mir nicht ganz sicher, weshalb ich erst einmal 0 genommen habe. Nichts desto trotz kommt bei mir immer 0 als Ergebnis. Das heißt ja, dass er das Bytemuster nicht gefunden hat.

Mit Olly und CE finde ich das Muster allerdings. Was könnte mein Fehler sein?
Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#2
28.11.2013, 02:51
Hey,
ich hatte dir dazu ja schon was geschrieben Wink
Ich würde per MemoryDump einen größeren speicherbereich Auslesen und diesen dann mit der bytefolge vergleichen, wird wahrscheinlich das schnellste sein.


Sent from my iPhone using Tapatalk 2
ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#3
28.11.2013, 13:39 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2013, 13:42 von Acubra.)
Hey,
so wie DNA es gesagt hat mache ich es ja auch. Einfach per ReadProcessMemory einen größeren Speicherbereich in einen Buffer laden, und diesen dann nach der jeweiligen Bytesequenz durchsuchen.
Versuch mal die Bytesequenz zu verkleinern und gucke ob er überhaupt etwas findet.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
Anunymux Offline
Junior Member
**
Beiträge: 9
Themen: 2
Registriert seit: Nov 2013
Bewertung: 0
#4
28.11.2013, 15:02
Nein leider findet er auch nichts bei nur drei Bytes. ... Da muss irgendwas falsch sein an meiner Funktion.

Machst du das auch in VB.NET? Vll kannst du mir ja mal deine Funktion zeigen. Ich habe gestern so viel probiert und gefragt. Oft wurde mir auch gesagt, dass ohne dll Injection das ganze sehr schwierig sei in VB.NET :(
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#5
28.11.2013, 15:18
Hey,
sollte in VB.net nicht schwieriger als in jeder anderen Sprache auch. Du kannst dich an meiner Funktion ja orientieren (zwar gut scheisse gecoded, aber hey), siehe hier: http://homeofgamehacking.de/showthread.php?tid=1249
Ist aber in C, von .net hab ich keine Ahnung.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#6
28.11.2013, 19:03
(28.11.2013, 02:51)DNA schrieb: Ich würde per MemoryDump einen größeren speicherbereich Auslesen...

(28.11.2013, 13:39)Acubra schrieb: Hey,
so wie DNA es gesagt hat mache ich es ja auch. Einfach per ReadProcessMemory einen größeren Speicherbereich in einen Buffer laden...

Genau diesen Fehler hab ich zu anfang auch gemacht. Aber wie maluc mir schon den Tipp gegeben hatte... Nicht einen bestimmten Speicherbereich in einen Puffer laden... Theoretisch (fast immer) reicht es aus nur die Code Section auszulesen und dann eben die entsprechenden Bytesequenzen suchen. Und wenn widererwarten eine Bytefolge in einem andern Speicherbreich liegen sollte dann einfach per Memory_Basic_Information + RegionSize immer weiter durchhangeln.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Anunymux Offline
Junior Member
**
Beiträge: 9
Themen: 2
Registriert seit: Nov 2013
Bewertung: 0
#7
28.11.2013, 19:07
Ja ich habe viel rumprobiert und nichts hat irgendwie funktioniert. Ich schaffe es nicht, das in vb.net zu programmieren.

KN4CK3R von OSH hat mir sein Tool SigScanner empfohlen. Das funktioniert super. Also wenn ein Update kommt, kann ich damit sehr schnell die neuen Offsets mit Hilfe von meinen Pattern wieder finden. Extern mit VB.NET in meinem Trainer habe ich es noch nicht geschafft.
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#8
28.11.2013, 19:20
Aber eins sei dir gesagt...
So schön wie das klingt ist es in der Praxis nicht immer.
Grade bei "The Incredible Adventures of Van Helsing" wird fast mit jedem Update auch der Code geändert der die jeweiligen Adressen beschreibt/ließt.

Ich warte zumindest erstmal ab bevor ich einen Trainer mache der seine Offsets anhand einer Bytesequenz sucht. Zuerst lege ich mir eine Bytesequenz fest und vergleiche diese mit der nächsten Version ob sich was geändert hat, bzw. um diese zu optimieren. Und dann spielt für mich eine Rolle wie oft ein Spiel upgedated wird, oder bzw. und auch wie viel Optionen sich im jeweiligen Trainer befinden die ich updaten müsste...
So eine Bytesequenz ist im Prinzip auch nicht einfach so erstellt. Die sollte schon "GUT" sein.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Anunymux Offline
Junior Member
**
Beiträge: 9
Themen: 2
Registriert seit: Nov 2013
Bewertung: 0
#9
28.11.2013, 19:24
Tatsächlich? Ich dachte, das wäre genau der Sinn von dem Signature Scanning, dass man halt nicht immer alles neu suchen muss. Aber du hast schon Recht, dass wenn die Spielemacher grundsätzlich etwas ändern, was auch das Bytemuster verändert, dann bringt das wenig.
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#10
28.11.2013, 19:58
Hey,
falls sich "nur" die die Adressen/Offsets ändern kann man ja auch locker mit Wildcards arbeiten. Aber iNvIcTUs oRCuS hat schon Recht, eine Bytesequenz muss wohlüberlegt und "updatesicher" sein, sonst bringt sie nix und man kann genausogut mit offsets arbeiten. Wenn die Coder die ganze Funktion ändern oder gerade den Bereich neuschreiben, in dem man den Cheat hatte, bringt auch die beste Bytesequenz nichts.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
Share Thread:            
Seiten (2): 1 2 Weiter »


  • Druckversion anzeigen
  • Thema abonnieren


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste

  • Kontakt
  • Forum team
  • Forum stats
  • Nach oben
 
  • RSS-Synchronisation
  • Lite mode
  • Home of Gamehacking - Archiv
  • Help
 
Forum software by © MyBB - Theme © iAndrew 2014



Linearer Modus
Baumstrukturmodus