PDA

View Full Version : Need help to create a trainer for Act of War.


ThunderWind
10-10-2007, 05:14
Hey people.

I have been long time lurker. I decided to join today. This is my first time creating a trainer for game. I want to create a trainer for Act of War : Direct Action patch v1.06 and Act of War : High Treason v1.1b. Currently there is no money trainer for this game. I like to make one. All i need is help.

I successfully found the memory address where the value is stored and changed it. If i set it too 90000 money. It does show that money in the game. Now the problem is that iam not able to use that money to buy units. This games uses DMA. Everytime i start a new game the memory address keeps changing.

This is where the memory location which i found using TSearch and with using autohack. 5c7b81: move [ebx+0x44], eax.

5c7b81 mov [ebx+0x44],eax
5c7b84 fld dword ptr [ebx+0x44]
5c7b87 add esp,-0xC
5c7b8a fstp tbyte ptr [esp]
5c7b8d wait
5c7b8e lea eax,[ebp-0x18]
5c7b91 push eax
5c7b92 mov ecx,[ebx+0x48]
5c7b95 mov edx,0x6
5c7b9a mov al,0x2
5c7b9c call 0x0040F590
5c7ba1 mov edx,[ebp-0x18]
5c7ba4 lea eax,[ebx+0x4C]
5c7ba7 call 0x00404B48
5c7bac mov eax,esi
5c7bae mov edx,[ebx+0x4C]
5c7bb1 call 0x004049A8
5c7bb6 xor eax,eax
5c7bb8 pop edx
5c7bb9 pop ecx
5c7bba pop ecx
5c7bbb mov fs:[eax],edx
5c7bbe push 0x5C7BD8
5c7bc3 lea eax,[ebp-0x18]
5c7bc6 mov edx,0x2
5c7bcb call 0x004042C8

This 5c7b81: move [ebx+0x44], eax. and the above one never changes.

Can anyone with knowledge of this can help me and create a new trainer.

Also i found out that even power is located here. If i find out where the memory value is stored i can create unlimited money and power.

Caliber
10-10-2007, 06:25
do some searching on DMA and code injection. also, you can use cheat engine to make a trainer that deals with the code injection. do a search on cheat engine and make this same post on their forums over there. likely they can help you-

best,
Cal

ThunderWind
10-10-2007, 06:59
Hey Caliber :).

I got Cheat Engine on the comp. I did ask them in cheat engine and gamehacking and cheathappens forums so far i have 0 response from any of this forums.

About DMA this game do use DMA. I think all the games nowdays uses DMA?. Can you explain what is code injection?. Does code injection mean to inject the code :P?. Iam new to programming and assembly. Just took it seriously on learning programming from last month.

Also i think Tsearch has better interface that CE. I find it easy to look for codes in Tsearch.

Looking forward for more response.

DABhand
10-10-2007, 07:09
I do believe AoW was Float values for power etc.

Last time I did a trainer for it, it was.

ThunderWind
10-10-2007, 07:23
Yea DAB. AOW do use flloat values for money and power at 5c7b81: move [ebx+0x44], eax.

Yea you made a trainer for AOW 1.1. I tried it with 1.6 and it crashed :P. Can you help DAB?. Since you know.

DABhand
10-10-2007, 12:36
Man I cant remember exactly.. But I can tell you this

that opcode is not for float values.

Look at 5c7b84 thats to load a float value onto the float stack. (if you check the coders section of the forum you will see some ASM tuts talking about floats etc).

But wait and a - add op is too weird.. I dont think it broke at the right place but if it is true...

The code injection I would do would be

10abc (where our code injection would be)

fld dword ptr [10c00] (instead of using ebx+44 ill force a value into the float stack from our own address which is 10c00)
add esp, -0xc (???? weird)
ret (jump back to the game code)

10c00 (our float value we are going to force into the game)

100000 (of course it has to be in float notation which means it will not be 100000 in hex. Use CE to add the value there in float notation to see what it looks like in hex)

5c7b84:

Call 10abc (calling our code injection opcodes)
nop (NOP - No Operand, i.e. does nothing is used to fill out any bytes that have been disturbed by the call opcode and to make sure the rest of the code is not changed by leaving it out)


To learn about code injection check my tuts on both GTA and Obscure in the coders section. And how to make a trainer using TMK.


EDIT: CE 5.3 is far better than Tsearch at the moment, trust me..

ThunderWind
11-10-2007, 02:43
Iam new to this. Yes i been reading your tutorials. Find it bit hard to understand.

I have done has you told. The games crashes sometimes and sometimes it does not repond. Any more ideas?.

Dont you have Act of war with you?.

DABhand
11-10-2007, 07:01
Its somewhere.

But your not gonna learn if I do everything for you.

Start from scratch and understand the tutorials better, keep going till you do understand them, and DONT use Tsearch.

ThunderWind
11-10-2007, 08:51
I understand that DAB. Iam really trying hard to learn it. I crashed this game lot of time lool. Sometimes i got 0 money and 0 power and sometimes i faced strange stuff.

A more help would be great dab.

Also do i need to know C++ to know assembly?.

TippeX
11-10-2007, 09:54
nope, you need to know assembly to know assembly

ThunderWind
13-10-2007, 03:36
Here iam again. Still finding out. I found out the pointer it is 7E09FAFA0.

Can anyone still help me?.

TippeX
13-10-2007, 04:29
that address is FAR too high, infact, it'd only be 'valid' on a 64 bit system
it also looks like its an address in a system module (dll), somehow i think you
got it wrong... (and made a typo too possibly)

DABhand
13-10-2007, 12:35
Sorry Thunder but if you cant figure out what is going on with what is provided to you here, you may aswell give up.

Learning ASM and training isnt an overnight thing, some people take it quicker than others who take it more slowly.

Cause I cant be arsed looking for AoW wherever it is in my house lol