View previous topic :: View next topic |
Author |
Message |
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Wed Oct 26, 2005 5:47 pm Post subject: other problem :( |
|
|
Hi again, now well me to gone out a new mistake, for example in case of the trainer of hl2 when the life to find of freeman 100 and the direction happens to the trainer, in the game the enemies do not die either ¿? ¿? Where this my mistake? Thank you
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Wed Oct 26, 2005 7:08 pm Post subject: |
|
|
the game uses the same routine to decreae life for enemies as it uses for you.
when you removed it you also removed it for the enemy.
There is no simple way to solve this, except using pointers or code injection
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Thu Oct 27, 2005 12:39 am Post subject: |
|
|
It exists in the forum algun manually to solve it or as example? thanks
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Thu Oct 27, 2005 9:20 pm Post subject: |
|
|
Xblade, post your asm instruction and I'll help...Code injection is fairly simple if you use the right "steps"...
Puedes hablar en espanol, translators SUK !
|
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 2:31 am Post subject: |
|
|
SunBeam sabes hablar español?
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 3:05 am Post subject: |
|
|
Ok I am going to write the values that there gives me for example the game Serious Sam 2 that it is with that I have the problem, despues if I learn it will apply them to the others, only I need an example.
Serious Sam 2:
Energy value my and enemy:
Value change a 200:
Memori View and assembler:
And in future already not what there that to do, and seen the tutorial but I cannot understand it due to the fact that not very well English and the translators are very bad, he(she) would be grateful that help me with this example thank you very much
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Fri Oct 28, 2005 4:21 am Post subject: |
|
|
I'm afraid you can't simply use code injection in an engine, except if you manage to make it inside the engine. Code-caves inside an engine are poor and very few I played SS2, and managed to only make an ammo hack. Health is a bit tricky, since the instructions it uses are directly implemented in the engine with especific functions...
Dark Byte is needed at this point. I can go on telling you how to code-inject, but as I tried and failed, I see no point in doing that...
And yes, I simply understand spanish. Can't write it well, but heh...
|
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 4:45 am Post subject: |
|
|
k it(he,she) costs(suits) help me to do since(as,like) the injection, if I trump not there problem it(he,she) returns to try(mean), if you want you I add to the msn
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 7:37 am Post subject: |
|
|
any help?¿?¿?
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Oct 28, 2005 7:47 am Post subject: |
|
|
Let's look at that instruction:
That means that edx will get the value of health
EAX holds at that position the base address of the player object, and it looks that at offset 480 of he player object the health is stored
Usually you would have to compre the regions that eax is pointing at with eachother to see which one is the player and which one is a enemy (see if it has a teamnumber not yours, or has a 'istarget' flag, etc....)
BUT
that is not needed in this case, the routine you are in is called: SeriousEngine::CHealthSimpleHudElement::PrepareRenderingParameters.
This gets called when the game is going to DRAW the health value on the SCREEN, I'm almost 100% certain this code will NOT get called by the comp (unless somehow your in game heads up display gives you the health of enemies, I don't think so)
So, this greatly simplifies stuff, select the address
go to extra->auto assembler
click template->code injection
and make sure the address is the address of the mov edx,[eax+480]
It will fill in a framework where you can write your code
Now, all you probably want to do is set your health to 100, so at '//Place your code here' write:
Code: |
mov [eax+480],64 //64=100 in hexadecimal (c8=200...)
|
click write code, and with luck you will now be almost invulnerable. (almost because 1 hit kills can still kill you if the check happens before drawing the new health to the screen)
so the completed auto assembler script looks like:
Code: |
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
01442519:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [eax+480],64
originalcode:
mov edx,[eax+00000480]
exit:
jmp returnhere
|
Of course, this looks like it is part of a dll and the address may change, so you may have to find the location of 'SeriousEngine::CHealthSimpleHudElement::PrepareRenderingParameters' each time you run the game.
Next version of ce will allow you to put that in with a offset but for now you'll have to find it manually each time.
One method is open the memory browser wait a bit for the symbols to be loaded, and then ctrl+g and fill in "SeriousEngine::CHealthSimpleHudElement::PrepareRenderingParameters", now all you have to do is go to the right offset (always the same) and you'll have it
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 1:28 pm Post subject: |
|
|
working perfect!!! you are a genius bravo dark
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Xblade Of Heaven Master Cheater Reputation: 0
Joined: 16 Oct 2005 Posts: 394 Location: DEAD
|
Posted: Fri Oct 28, 2005 2:12 pm Post subject: |
|
|
i close the cheat engine and re-open trainer and see this image:
Desesperation!!!!!!!!!!
only work con cheat engine open, i close CE an run trainer con the new code and not runnig the trainer!!!!!!!!!!
_________________
Welcome to the Hell.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Oct 28, 2005 2:58 pm Post subject: |
|
|
That is because the location of the dll changes and also the location of the code.
CE adjusts to that as long as you don't close it, but the trainer doesn't
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Fri Oct 28, 2005 3:27 pm Post subject: |
|
|
That reminds me of an even greater problem. STRUCTURES. Is there any way to find let's say a pointer that tells me a direction, an address, and starting from that pointer with adding a certain offset to get to the correct module instruction, like in this case ?
Or better and simple put : there are games that use same routines for player/enemy healths. I found no differences in the code instructions being used [yeah, I managed to play as the enemy in the same game] and none differs...
My question : how does the game differentiate player/enemy if all instructions contain same registers all the time... ?
EX : WarHammer 4k. Building the same unit as player/enemy. If debugger used, i get some codes [being the player]. I find the address for the building bar for the enemy using breakpoints. Looked at what accesses both addresses [mine/enemy's] and found no differences at all [not a single register different - except the involved one containing player/enemy pointers]. Problem : pointers are DMA. If i start the game I won't be able to work it. Pointer changes...How do I retrieve it always and use it in the code-injection ????
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Oct 28, 2005 4:40 pm Post subject: |
|
|
look in the structure for the offset that determines what player is associated with it(you may have to traverse some other pointers), then determine what player you are, and compare. if it is a match, don't decrease health, if it isn't decrease the health or even just set it to 0 for all death
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
|