C# Pattern

05/19/2013 02:58 BladeTiger12#1
Hallo zusammen,

ich hätte mal eine Frage über C#.
Ich habe mittlerweile raus wie in C# die Pointer funktionieren.

Und jetzt würde ich gerne herausfinden wie man Pattern benutzt.

(Ohne BlackMagic)

Also eine Funktion bei der man Pattern & Mask angibt.
Ich habe die ganze zeit in Google gesucht viel gefunden
aber nichts hat geklappt.

Deswegen Frage ich jetzt hier nach.

Bitte um Hilfe :handsdown:
05/19/2013 11:20 dready#2
So ganz grob umrissen.

Du nimmst deine Maske und dein Pattern und wandelst sie in Bytearray um, immer wenn deine Maske einen Wert als Variable definiert ersetzt du sie in deinem Pattern.

Danach nimmst du dein Bytearray in das du die Memory Region eingelesen hattest.
In dem Algo den du nun baust suchst du nach einem Bytearray in einem Bytearray, dazu dürftest ne Menge finden können.
Im prinzip vergleichst du immer
Du gehst das Array von anfang bis ende Durch.
Wenn das Teilstück mit deinem Pattern übereinstimmt, schauste dir das nächste an, ansonsten fängst wieder am Anfang des Patterns an. Sollte deine Maske sagen das das nächste Byte beliebig ist, geh zum nächsten Byte ohne zu vergleichen.

So in etwa sollte das hinhauen
05/19/2013 13:26 BladeTiger12#3
Wie wandelt man seine Maske in eine Bytearray?
Ich habe es immer in ein char umgewandelt.

#Edit:
Und kannst du mir sagen warum die meisten:
public static int IndexOfBytes(byte[] array, byte[] pattern, int startIndex, int count)

am anfang byte[] array, byte[] pattern machen?

also was byte[] pattern ist weiß ich aber was man bei der array angeben muss.

Die Masks&Pattern sind auch für ein Spiel da wird ja nie nach einem Process oder so gefragt.
05/19/2013 13:56 dready#4
Ohne die Funktion nu zu kennen, rein vom Aufruf her würd ich darauf tippen das in
array das Gesammte liegt und in pattern eben das gesuchte.

Den Speicher bekommst du am einfachsten mit API Calls.

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

Ich würde zuerst einmal einfach ein normales Pattern Suchen. Sobald du das sauber am laufen hast, das ganze abändern damit du eine Maske damit benutzen kannst.

Was genau verwirrt dich an dem Bytearray ?
05/19/2013 14:10 BladeTiger12#5
Mich hat es nur verwirrt was man da eintragen muss.
Aber danke für die Antworten.
05/19/2013 14:16 dready#6
Nimm es mir nicht übel, aber geh erst nochmal die Basics durch :)
Die sollten sitzen bevor du anfängst eine Libarys für sowas zu bauen, ansonsten wird es im bestenfall nur ein es geht halt irgendwie, im schlechtesten eine sehr Zeitaufwendige und frustrierende Übung wie man es nicht macht :)