Da ich für ein Projekt, an welchem ich atm arbeite meine Memory Class neugeschrieben habe, und diese auch schon im Premium Längsten veröffentlicht habe, dachte ich mir, ich kann sie geradesogut auch direkt öffentlich stellen.
Die Kommentare sind zu ignorieren, die habe ich nur geschrieben, als mir langweilig war, und ich mich nicht aufs coden konzentrieren konnte, weil meine Freundin mich zugelabert hat
Code dürfte weitestgehend selbsterklärend sein, falls trotzdem noch Fragen da sind, stehe ich zur Verfügung
Der Pattern Scan muss doch dermaßen auf die Ressourcen gehen, oder? Du liest immerhin Byte für Byte und rufst dementsprechend jedes mal ReadProcessMemory auf.
Übrigens:
Code:
//Reads Integer
public int ReadInteger(int Address, int Length = 4)
//Reads String
public string ReadString(int Address, int Length = 4)
//Reads Bytes
public byte[] ReadBytes(int Address, int Length)
Der Pattern Scan muss doch dermaßen auf die Ressourcen gehen, oder? Du liest immerhin Byte für Byte und rufst dementsprechend jedes mal ReadProcessMemory auf.
Übrigens:
Code:
//Reads Integer
public int ReadInteger(int Address, int Length = 4)
//Reads String
public string ReadString(int Address, int Length = 4)
//Reads Bytes
public byte[] ReadBytes(int Address, int Length)
bisher hatte ich keine probleme mit der performance, aber evtl werd ich das nochmal überarbeiten
Dann hast du gute Suchranges definiert.
Das ist arschlahm.
Selbst Cheat Engine kopiert sich den Speicher blockweise in den eigenen Prozess und sucht in der lokalen Kopie.
Dann hast du gute Suchranges definiert.
Das ist arschlahm.
Selbst Cheat Engine kopiert sich den Speicher blockweise in den eigenen Prozess und sucht in der lokalen Kopie.
durchaus wahr, verstehe ich auch vollkommen, auch wenn ich selber weiss, dass mein Code nicht sonderlich gut ist, möchte ich mich hier rechtfertigen:
A) diese Class ist nicht dazu gedacht, CE 7.0 zu schreiben, zumal der Dev. von CE weitaus mehr "L33t" ist als ich es je sein werde.
B) dieser code ist in der grundintention dazu gedacht, nach dem startup des programms in z.b. nem seperaten thread ausgeführt zu werden, während der user noch einstellungen vornimmt.
C) ich zwinge niemanden, meine class zu nutzen.( dummes argument, das ist mir bewusst). wenn jemand hohe ansprüche an den patternscan stellt, sollte er durchaus auch selbst in der lage sein, effizienteren code zu schreiben.
D) wie ich bereits oben angetönt habe, werde ich, sobald ich zeit habe, diese funktion überarbeiten, um ehrlich zu sein hatte ich sogar so etwas ähnliches wie du genannt hast im kopf, die realisierung hatte ich nur noch nicht ausgearbeitet.
diese class ist, so wie sie jetzt ist für mein projekt ausgelegt, und ich möchte mich auch entschuldigen dafür, dass ich nicht " perfekte" arbeit hier zur verfügung stelle. wie gesagt, wird noch nachgereicht.
ich bedanke mich trotzdem für deine kritik, konstruktive kritik ist immer willkommen. :-)
KDMemory (C# 32 & 64 Bit) 08/15/2023 - Coding Releases - 4 Replies Features:
Full support for 32 and 64 bit applications.
Access all existing processes with the same name (multi clients).
Everything is documented (inline documentation).
Offsets can be used by just adding an array containing all offsets to the constructor.
Possibility to use module names with a static offset (e.g. '"Tutorial-x86_64.exe"+002C7710').
TODO:
[C#] Memory Class 12/18/2013 - Coding Snippets - 1 Replies Hey, hier mal meine simple xMemory Klasse für Einsteiger was Memory Editing angeht.
/*
* xMemory Class
* by Shawak
*/
using System;
using System.Collections;
[TUT] Memory Patternscan Theorie 12/01/2013 - Coding Tutorials - 0 Replies Habe vor einigen Monate mal Tut für den simplen Patternscan Algorithmus geschrieben, den viele von euch sicherlich kennen.
Es geht darum eine Adresse (Meist im Codebereich von Modulen) anhand der umliegenden Bytes zu finden.
Hacks, die Patternscan verwenden, um Funktionsadressen o.ä. zu finden, können zum Teil auch nach Updates von Spielen funktionieren, ohne dass Speicheradressen manuell geupdated werden müssen.
Das Tutorial beschreibt die Theorie hinter dem simplen...