Not a member yet? Why not Sign up today
Create an account  

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
I DIE IN GAME(WATCH VIDEO)

#31
There is no general recipe for all kind of code injections.
You must know what cheat engine can do for you. 
Cheat engine has a build in structure dissect function. And than you have to look and compare. Sometimes this is the longest part for doing a cheat option.
For this game there are also other compare values, like "Good" and "Bad", possible.
Tomorrow I have more time to do a little tutorial on how did I find these values...
Can you tell me how did you get the windowed mode working for this game?
Zitieren

#32
yeah make a guide for me,i didnt use window mode for gods and general i pressed alt and tab simultaneously to get out of the game
Zitieren

#33
Yes... That was my fault. That was in the other game...
Zitieren

#34
i used dxwnd to get window mode for beats within
Zitieren

#35
Okay I will try it because it's much easier to do a tutorial with a game in window mode...
Zitieren

#36
Hello...
Here we go with the little guide...
First of all you must have cheat engine and your game running.
I take the same code from a few posts above... For the players armor...
So this is what you see...

Picture 1
[Bild: v33ggg5q.jpg]
Doubleclick on the address that esi holds shown in the players register window. In my case its 106C0EB8 (yellow marked).
You can see that the bottom of the memory viewer is now shown this memory region...
Now its time to go to the dissect function. You can see this in the next picture...

Picture 2
[Bild: 7cq4jqcy.jpg]
Now a new window pops up like this in Picture 3...

Picture 3
[Bild: unbh2pg4.jpg]
Now you have to create a new structure... You can do this by press [CTRL+N]...
I named this new structure "Armor --- ESI" but you can choose an other one if you wish...
The size of the structure (512) is more as enough. But in other situations or games you can increase this if needed...
When you made all of your choices simply click the OK button...
Now doubleclick on the address that esi holds shown in the enemys register window. In my case its 1223F268 (green marked).
Back to the structure window you press [CTRL+A] to show the enemy structure.
And this is now the interesting part. You must compare between the player and enemy structure started from the adress that esi holds.
For this guide i filtered out the necessary offset as shown in Picture 4.

Picture 4
[Bild: pbnefblw.jpg]
Now click on the little arrow on the left (under the string "Armor ..." and left from 00E4 ).
This we will see as shown in Picture 5.

Picture 5
[Bild: g4biullx.jpg]
At this point you can see how i find my comparings to filter out if its a enemy or player address...
To clarify -> i read the address that esi holds, to this address i add the hex value 0xe4.
That means in my case ESI (0x106C0EB8) + 0xe4 = 0x106C0F9C. And now i read the 4 byte value that 0x106C0F9C holds...
I simply to this with this code...
Code:
mov eax,[esi+000000E4]        <<<--- copy value of [esi+e4] to eax
In my case its 0x12410E40. This value is also a pointer to another memory region. It can also be variable with a new game start or if i load a saved game.
But the value "Player" is everytime the same. So i can say YES its a player address...
This compare i do simply with this code...
Code:
cmp [eax],79616C50 { "Play" }    <<<--- cmp value at address that eax holds with 'Play' (Player)


And this is a last picture to show this a little bit easier...
Picture 6
[Bild: c6azw7sp.jpg]
Zitieren

#37
where does the 0xe4 come from,i dont understand how  (0x106C0EB8) + 0XE4 EQUALS 0X106C0F9C(I DONT UNDERSTAND HOW THE OXE4 CHANGES THE LAST THREE NUMBERS TO F9C)( I DONT UNDERSTAND HOW THE LAST THREE NUMBERS WERE CHANGED TO F9C)EVERYTIME YOU DO DATA/STRUCTRURE DISSECT YOU HAVE TO ADD A 0XE4?I DONT UNDERSTAND HOW YOU GOT THE NUMBER

79616C50
Zitieren

#38
First of all, you don't need to write CAPS.

It is different for each game. You need to find something you can compare to by yourself.
For one game it can be just a 0 and a 1. For other game there might be a string you can compare.

106C0EB8 is Hexadecimal and when you add E4 you get 106C0F9C
106C0F9C is a pointer which leads to another area in memory which holds
some information about the character.

So, to break this down again:

fld dword ptr[esi+68] is a function which gets executed and handles the armor.
This function gets executed for every character in game while esi is different for each character.
The following is just an example as i don't know this game.
[esi] = Start of Structure
[esi+60] = Health      <-- just an example
[esi+64] = Skillpoints <-- just an example
[esi+68] = Armor
and so on...
[esi+E4] = A pointer which leads to another memory area

To find something like this, the easiest way is the dissect window and then it is up to you.
You need to trace through this and find differences you can compare to.

As I said, it is different for each and every single game.
In another case you may can compare [esi+8] with 0.
[Bild: dna_400.gif]
Zitieren

#39
This Hex digits "79616C50" stands for "Play".
Look into this ASCII table and you can find it yourself...
[Bild: b1a76775417075b1.png]
You have to do this in reverse order.
506C6179 = Play
Hex 0x50 = P
Hex 0x6C = l
Hex 0x61 = a
Hex 0x79 = y
But Cheat Engine can directly convert your input. You don't need to know each Hex digit corresponding to the letters.
Zitieren

#40
this data dissect is to complex for me to understand,can you dna or orvitus make a video on how to do advanced register compares ,choose any game,but in the game theres no 00000000 for players health
Zitieren



Gehe zu:


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