Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 18:58

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

Advertisement



[C#] Freeze Value (Memory Editing)

Discussion on [C#] Freeze Value (Memory Editing) within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
[C#] Freeze Value (Memory Editing)

Hey Community
ich komme da mit einer Frage auf die ich leider keine Antwort finde. Ich weiß das es möglich ist durch eine Schleife die Adresse ständig neuzubeschreiben mit dem gewünschten wert. Jedoch ergibt das ein Problem. Beispiel: Ich fülle den Wert meines Lebens ständig mit 100 (full), ich werde im Spiel angeschossen und der Prozess versucht auf die Adresse zuzugreifen und zu beschreiben, wenn mein Programm und das Spiel versuchen gleichzeitig auf die Adresse zu schreiben verursacht das Bugs, beispielweise kann ich mich in diesem Fall Ingame nicht mehr bewegen und hänge an der Stelle fest.

Ich weiß das es per CheatEngine möglich ist die Adresse zu finden die auf die Lebensadresse zugreift und sie zu verändern und diese dann mit NOP zu füllen, auch genannt "replace with code that does nothing (NOP)". Meine Frage wäre. Ist es möglich dies in C# zu realisieren ? Oder gibt es eine andere Möglichkeit einen Wert in einer Adresse zu "freezen" damit ich immer volles Leben habe ?

Mit freundlichen Grüßen
Explo!t
Explo!t is offline  
Old 03/25/2013, 21:10   #2
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Sicher, die vorgehensweise ist im Endeffekt die selbe wie wenn du den Wert schreibst

Finde die Funktion die dafür zuständig ist, schreib dir die Speicherstelle auf
Benutz deine Writememory Funktion um sie mit nops zu überschreiben
dready is offline  
Old 03/25/2013, 21:16   #3
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
wie schreib ich die NOP auf ?
Explo!t is offline  
Old 03/25/2013, 21:23   #4
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Das was du in den Debuggern wie dem kleinen in Cheatengine siehst sind Mnemonics
Das bedeutet es ist ein kleines Buchstabenkürzel das für einen Opcode steht
Das sollte ausreichen damit du mal nach googlen kannst

Der Opcode für ein Nop ist 0x90
dready is offline  
Old 03/25/2013, 22:01   #5
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
das heißt ich trage als Wert für die Adresse einfach 0x90 ein ?!
Explo!t is offline  
Old 03/25/2013, 22:09   #6
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Du schaust in einem Debugger deiner Wahl was für ein Code den auf deine Adresse schreibt, glaub Cheatengine kann das auch

Danach suchst do wo im Speicher den diese Stelle ist und überschreibst sie mit nops
dready is offline  
Old 03/25/2013, 22:15   #7
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
das habe ich verstanden. Die Adresse habe ich sogar gefunden. Ich werds gleich mal
probieren und per EDIT gleich in diesem Post berichten ob ich es hingekriegt habe.

OT: Erstmal kurz was essen :P

EDIT: Ich kriegs irgendwie nicht gebacken. Könnten wir vielleicht mal in Skype schreiben ?!
EDIT²: Also die Adresse die die Lebens Adresse beschreibt ist "name.exe+B331F". Das heißt diese Adresse muss ich mit 0x90 füllen ? Wenn ja wie schreibe ich sie als adresse auf ?
Explo!t is offline  
Old 03/26/2013, 00:54   #8
 
elite*gold: 0
Join Date: Jun 2008
Posts: 203
Received Thanks: 7
Quote:
Originally Posted by Explo!t View Post
das habe ich verstanden. Die Adresse habe ich sogar gefunden. Ich werds gleich mal
probieren und per EDIT gleich in diesem Post berichten ob ich es hingekriegt habe.

OT: Erstmal kurz was essen :P

EDIT: Ich kriegs irgendwie nicht gebacken. Könnten wir vielleicht mal in Skype schreiben ?!
EDIT²: Also die Adresse die die Lebens Adresse beschreibt ist "name.exe+B331F". Das heißt diese Adresse muss ich mit 0x90 füllen ? Wenn ja wie schreibe ich sie als adresse auf ?
Ich glaub 0x90 war ein Beispiel wie sowas aussieht. Ich weiß nicht genau ob das stimmt, aber denke dass es dann 0xB331F sein müsste.
Kilinat is offline  
Old 03/26/2013, 01:02   #9
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
Das habe ich probiert. Das Problem ist wenn ich ingame gehe und ich lasse mich anschießen, gibts nen mega error und das spiel stürzt ab.

Und 0x90 bedeutet in diesem Falle wirklich NOP
Explo!t is offline  
Old 03/26/2013, 01:04   #10
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
0x90 ist der opcode für ein nop

die adresse ist name.exe baseadresse + b331f
in .net kannst du das sehr einfach mit der Process Class rausbekommen
entweder als Baseadress oder als Moduleadress von name.exe im process, beide wege sollte hinhauen

Einfach 0x90 irgendwo hinschreiben wird dir kaum weiterhelfen, du musst versuchen den code soweit zu verstehen um zu erkennen was genau nun die anweisung ist die den Wert verringert

Danach siehst du dir an Wieviel bytes diese anweisung den hat
Danach überschreibst du diese Bytes mit einer entsprechenden Menge an Nop anweisungen

So wie sich das anhört überschreibst du nur einen Teil der Function es scheint ja die Richtige zu sein da dein Spiel crashed

Bsp um zu verdeutlichen was ich mein

Du hattest dort stehen
JE 0x12345678
du überschreibst es mit 0x90
nun steht da
NOP 0x12345678

kann nicht klappen, musst alles ersetzen
dready is offline  
Old 03/26/2013, 01:18   #11
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
Das heißt ich muss mehr adressen finden die diese adresse beschreiben ?!
Explo!t is offline  
Old 03/26/2013, 01:36   #12
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Nein, es heißt du musst dir ansehen was genau den da geschrieben wird

Deine Adresse hast du, sieh dir mal an was da im moment so steht
Danach ersetzt du alle bytes die zu dieser anweisung gehören
dready is offline  
Old 03/26/2013, 01:40   #13
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
das heißt die byte länge könnte größer sein ?
Explo!t is offline  
Old 03/26/2013, 01:42   #14
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
mit ziemlicher sicherheit sogar
Überflieg am besten mal die Grundlagen der Assembler Sprache, dann ergibt das ganze etwas mehr Sinn für dich
dready is offline  
Old 03/26/2013, 01:46   #15
 
elite*gold: 0
Join Date: Sep 2011
Posts: 58
Received Thanks: 5
wie gesagt, ist alles sehr neu für mich und ich sitz ja auch nicht 24h an sowas. Jedoch ist es ein sehr interessantes thema und du hilfst mir sehr dabei das ganze zu verstehen. Ich lerne ziemlich gut wenn mir jemand dabei hilft. Deswegen frage ich auch sehr oft.

Werde das ganze morgen mal probieren und dann berichte ich wieder

EDIT: Wie kann ich 6 bytes lang mit NOP füllen ?! ich hab ja nur 1 adresse und 1 value

EDIT²: Schreibe ich dann einfach 0x900x90x090, etc. ? oder wie mach ich das
Explo!t is offline  
Reply


Similar Threads Similar Threads
Need help with memory editing
06/11/2011 - Mabinogi - 9 Replies
I've memory edited in the past, hex editor etc. Then the memory editor i used got detected by hackshield, so i was like forget this. I recently found a working memory editor, however; it cant find client.exe or mabinogi or anything in the task list. Even the old one i used, which gets detected shortly after, but enough so i can search clients, cant find it either. I don't know if hackshield is hiding the client from it searching it or what. If it helps i usually run things as an...
C# Memory Editing
01/25/2011 - WoW Bots - 3 Replies
Hallo Leute, ok ich kann c# programmieren, ich kenne mich mit der Struktur, XML und den ganzen anderen Sachen mitlerweile gut aus, nur gibt es auch ein Buch was genau diese Sachen auslässt und sich komplett auf Speichermanipulation bzw Reverse Engineering spezialisiert?
memory editing
05/24/2006 - General Coding - 5 Replies
also ich wollt mir mal nen eignenen namespoofer fuer wc3 basteln(der von shadowfrench suckt) aber dazu muesst ich wissen wie man in vb etwas in den speicher schreibt hab kein tut gefunden das darauf eingeht helft mir plz
Memory Editing
12/30/2005 - Ragnarok Online - 10 Replies
Hey all, I just want to know if memory editing is possible on ro. with TSearch for example ... I deleted the game thats y i cant test it myself so answear me please if u know it. Thy



All times are GMT +2. The time now is 18:58.


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.