Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 06:20

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

Advertisement



Cheat Engine Adresse zu Application Adresse

Discussion on Cheat Engine Adresse zu Application Adresse within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Cheat Engine Adresse zu Application Adresse

Heyho,

Ich spiel grad ein wenig mit Cheat Engine rum und hab nun auch eine Adresse gefunden, die dem Wert zugeordnet ist, den ich suche. Mittels dem Debugger und dem Disassembler/Memoryview konnte ich rausfinden, durch welchen Befehl diese Variable verändert wird und wo sie sich befindet. Nun möchte ich diese Codestelle mit Code füllen, der nichts macht, was mit OllyDbg kein Problem darstellen sollte.
Jedenfalls wird mir die Stelle, an dem sich die Assemblercodezeile, die ich ersetzen will, befindet in solcher Form angegeben: "'Dateinamen.exe'+1F641".
Meine Frage lautet nun, wie ich denn von solch einer Form auf die Speicheradresse in der ausgeführten .exe komme, um die besagte Codezeile dauerhaft zu "eliminieren"?

Bin für jede Hilfestellung dankbar.
Secredo is offline  
Old 03/25/2014, 16:26   #2
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
"Dateiname.exe" dient als eine Art Platzhalte für die Base des genannten Moduls.
Das +1337 dahinter ist das Offset zu dieser Base.

In C würde man das z.B. so umsetzen:
Code:
DWORD GetCEAddress(const char* pszModuleName, DWORD dwOffset)
{
    return ((DWORD)GetModuleHandleA(pszModuleName)) + dwOffset;
}
Tyrar is offline  
Old 03/25/2014, 17:01   #3
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Danke für die Antwort, aber das leider nicht das was ich suche. :/
Ich will mit einem beliebigen Memoryeditor die bereits kompilierte, nicht laufende .exe umschreiben. Die nötigen Programme dazu hab ich bereits, nur weiß ich eben nicht wie ich von der Adresse, die mir Cheat Engine ausspuckt, auf die statische Adresse komme, an der eben dieses Codestück liegt. :/
Secredo is offline  
Old 03/25/2014, 17:06   #4


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by Secredo View Post
Danke für die Antwort, aber das leider nicht das was ich suche. :/
Ich will mit einem beliebigen Memoryeditor die bereits kompilierte, nicht laufende .exe umschreiben. Die nötigen Programme dazu hab ich bereits, nur weiß ich eben nicht wie ich von der Adresse, die mir Cheat Engine ausspuckt, auf die statische Adresse komme, an der eben dieses Codestück liegt. :/
Tyrar hat gesagt, das der Part mit dem Dateinamen die Modulbase repräsentiert. Das Offset wird darauf addiert und damit erhälst du eine Adresse.

Es muss nicht zwingend sein, das du an dieser spezifischen Stelle den Code ändern möchtest. Ich glaube eher, das du die Stelle manipulieren willst, an dem dieses Codesegment aufgerufen wird und dazu brauchst du die Adresse im Speicher, an der diese Anweisung steht. Sieht man auch über Cheat Engine (neben den Opcodes)
Mostey is offline  
Old 03/25/2014, 17:28   #5
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Die Modulbase ist jedoch bei jedem Programmstart anders, ich brauch eine statische Adresse von der Datei selbst.

Ein praktisches Beispiel: Vermutlich kennt ihr das Cheat Engine Tutorial. Dort gibt es eine Aufgabe, bei der per Buttonclick der Wert einer Variable verkleinert wird.
Die Aufgabe besteht darin, den Code, der eben diesen Wert senkt, mit "NOP's" zu ersetzen um den Buttonclick "unschädlich" zu machen. Wenn die Adresse gefunden, der Debugger attached und das Codestück, das den Wert verkleinert ausfindig gemacht ist, ist das ganze in CE nur ein Click und es ist vollbracht.

Ich möchte jetzt "Tutorial.exe" so verändern, dass der Code, der den Wert verkleinert, bereits von Start an mit "NOP's" ersetzt ist. Dazu brauch ich die Adresse des Codestücks in der Datei um - beispielsweise in OllyDbg - die Codezeile zu finden und auszuschalten.

Ich hoffe ihr versteht nun was ich meine.
Secredo is offline  
Old 03/25/2014, 17:41   #6
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Rechtsklick auf die Adresse -> What writes to this address (oder so ähnlich)
Dann siehst du von wo aus der Wert verändert wird. Die Stelle kannst du dann in OllyDBG suchen und verändern wie du lustig bist.
qkuh is offline  
Old 03/25/2014, 17:59   #7


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by Secredo View Post
Die Modulbase ist jedoch bei jedem Programmstart anders, ich brauch eine statische Adresse von der Datei selbst.
Deshalb sollst du ja das Snippet von Tyrar nutzen. Damit bekommst du die Modulbase, auch wenn sie sich bei jedem Neustart ändert.

Ansonsten brauchst du diese Funktion nicht und kannst einfach 0x400000 als Base verwenden, wenn die Base jedes mal die gleiche Adresse hat. (Vorausgesetzt das 0x400000 auch die Adresse ist)
Mostey is offline  
Thanks
1 User
Old 03/25/2014, 18:16   #8

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
Wenn du bei OllyDbg auf das "M" klickst und dann auf die Zeile, in der bei "Owner" dein Programm und bei "Contains" "PE Header" steht, klickst, öffnet sich ein weiteres Fenster. Wenn du dort runterscrollst, kommst du irgendwann zu "PE Signature (PE)" - 17 Zeilen darunter befindet sich der Eintrag "Imagebase" - das ist die Adresse, die du suchst.

Ist zwar ziemlich umständlich, funktioniert aber, wenn du keine zusätzlichen Programme verwenden willst.
snow is offline  
Thanks
1 User
Old 03/25/2014, 18:38   #9


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by snow911 View Post
Wenn du bei OllyDbg auf das "M" klickst und dann auf die Zeile, in der bei "Owner" dein Programm und bei "Contains" "PE Header" steht, klickst, öffnet sich ein weiteres Fenster. Wenn du dort runterscrollst, kommst du irgendwann zu "PE Signature (PE)" - 17 Zeilen darunter befindet sich der Eintrag "Imagebase" - das ist die Adresse, die du suchst.

Ist zwar ziemlich umständlich, funktioniert aber, wenn du keine zusätzlichen Programme verwenden willst.
Oder man klickt einfach auf das "E" und bekommt alle Module mit zugehöriger Base angezeigt:



Geht um einiges schneller
Mostey is offline  
Thanks
1 User
Old 03/25/2014, 20:15   #10
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Quote:
Originally Posted by snow911 View Post
Wenn du bei OllyDbg auf das "M" klickst und dann auf die Zeile, in der bei "Owner" dein Programm und bei "Contains" "PE Header" steht, klickst, öffnet sich ein weiteres Fenster. Wenn du dort runterscrollst, kommst du irgendwann zu "PE Signature (PE)" - 17 Zeilen darunter befindet sich der Eintrag "Imagebase" - das ist die Adresse, die du suchst.

Ist zwar ziemlich umständlich, funktioniert aber, wenn du keine zusätzlichen Programme verwenden willst.
Quote:
Originally Posted by Mostey
Oder man klickt einfach auf das "E" und bekommt alle Module mit zugehöriger Base angezeigt:
Vielen Dank euch beiden, genau das hab ich gesucht. <3


Noch zu diesem Thema: Kennt jemand von euch einen guten Disassembler, der - nachdem man die geladene Datei gepatcht hat - auch wieder eine funktionsfähige .exe exportieren kann? <.<
Secredo is offline  
Old 03/25/2014, 21:03   #11
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Ollydbg
​Tension is offline  
Old 03/26/2014, 16:18   #12
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Quote:
Originally Posted by Ten$ion View Post
Ollydbg
OllyDbg kann afaik nur das Programm ausführen und debuggen, nachdem man den Code nach seinen Wünschen verändert hat. Die Möglichkeit, eine ausführbare Datei zu exportieren, ist mir nicht bekannt.

Aber ich lasse mich gern eines Besseren belehren. Vlt. gibts auch Plugins, die ich nicht kenne. <.<
Secredo is offline  
Old 03/26/2014, 16:30   #13
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Doch das geht, nachdem du deine Datei bearbeitet hast drückst du STRG+F2 um das Programm neu zu laden, danach gehst du zu den Patches und aktivierst deine Modifizierungen. Und der Rest:

​Tension is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Cheat Engine findet adresse nicht// Cant find adress
08/19/2013 - General Coding - 2 Replies
Hiho Leute. Habe zum testen Play Age of War 2, and more Action Games! | Max Games aus einem tutorial herrasugenommen , möchte das gold/EXP herrausfinden ..gold ist 2500 ... aber das problem kommt gleich wenn ich die 2500 eingebe findet er nix ... o.o garnichts ... Q_Q?? wieso ... Hi Everyone I taked this game for testing:
Adresse for cheat engine look ==>
01/30/2012 - 12Sky2 Hacks, Bots, Cheats & Exploits - 4 Replies
Hi .. I give adresse for cheat engine .. 011B2B68 = Infinite Time 011B291C = AutoPill 011B2922 = HP =>> value max = 5
Wie findet man die Engine.dll Adresse raus?
01/18/2012 - General Gaming Discussion - 3 Replies
Hallo, ich wollte mal fragen wie man die Adresse von der Engine.dll rausfindet mit CE .. danke für antworten
Wie findet man die Engine.dll Adresse raus?
01/17/2012 - General Coding - 3 Replies
Hallo, ich wollte mal fragen wie man die Adresse von der Engine.dll rausfindet mit CE .. danke für antworten
Cheat Engine adresse in Autoit ??
07/18/2011 - AutoIt - 4 Replies
Hallo alle zusammen :) Was ihr vorher wissen solltet : -kommt mir nicht mit sowas wie "Google doch selbst". Ich google und stöber alle Foren seit genau 11 Stunden durch. Bin auf einige Tutorials gekommen, doch bin nicht sehr weiter gekommen. Ich habe ein kleines Problem. Ich würde gerne einen kleinen Hack schreiben.



All times are GMT +2. The time now is 06:20.


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.