Ive been trying my hand at *BEEP* games for cheats... hard when Im still learning asm, but still ;)


I have this very strange problem. Say if i hexedit in (push 1 / 68 01 00 00 00), this is fine on disk, when in memory however it becomes altered to (push 1+code_start_addr).

When i ask a friend to do same, it works for him, push 1 on disk and push 1 when it is in memory. Now the real strangeness, if I give my non-working version to him, it works on his computer, and if he sends his working ver to me, it is altered back to push 1+code_start in memory again, we both run XP.

This would happen for any 32bit value, so mov eax,500h would become mov eax,500h+code_start_addr on my computer but not on his.

If my comupter changes asm like that, why dont all my programs crash heh.

Sorry If I havent explained well, just thinking about this hurts my head ;). Any help would be greatly appreciated.
Posted on 2002-03-17 06:31:42 by SleekHippo
Posted on 2002-03-17 07:44:51 by f0dder
Heh I meant, altering games for infinate lives and such, dont know what to call it if you dont let me use that word ;)
Posted on 2002-03-17 09:01:03 by SleekHippo
Game training is also sort of Out Of Topic here, because most of it
involves stuff that isn't legal in all countries, and thus potentially
could cause trouble for the board. Might seem silly, but that's the
way it is.

As for your problem... sounds to me like you're dealing with a DLL,
and your trouble is because of relocations.
Posted on 2002-03-17 09:34:00 by f0dder
*yawn* just ate some waffles. yep comply to the rules as i did. i had to change my name...:alright:
Posted on 2002-03-17 10:43:27 by Guy on ASM
i make game trainers, thats why im leaning asm as a programming lang
Posted on 2002-03-17 17:34:49 by Qages
Congratulation but keep this stuff to yourself as we cannot allow it to be posted here.

Regards,

hutch@movsd.com
Posted on 2002-03-17 17:39:30 by hutch--
The game is quake2 which has had its source released under teh Gnu Public License, no problems there ;). The reason for using this as a learning tool, is that as a C programmer and having the C source, makes it easier for me to see what the ASM is doing.

It is a .dll i was mucking about with. Are there any tools so I can see why the .dll is relocating? or somthing that would let me edit the relocation table?.

Thanks.
Posted on 2002-03-18 08:25:52 by SleekHippo
Why DLLs are relocated? It's got to do with base addresses already
being occupied. You should use the /BASE argument when linking
DLLs to make sure your DLLs don't overlap. I believe there's an
automatic way to do this, but details escape me.

As for reloc editing... dunno any PE editors that support it, but have
a look around.

Oh, and even though the game has been released under the GNU GPL,
poking around inside the app in binary form can be seen as 'bad'.
Yes, this is silly, but accepting a degree of sillyness is better than
having some idiots shut down this board.
Posted on 2002-03-18 08:37:41 by f0dder
hi,

there's REBASE.EXE in the microsofts sdks and ddks that change a pe to a new imagebase.

ancev
Posted on 2002-03-18 17:15:12 by ancev

Congratulation but keep this stuff to yourself as we cannot allow it to be posted here.

Regards,

hutch@movsd.com

Just interesting - why? (I thought it is not illegal stuff).
Posted on 2002-03-19 01:56:42 by Aquila
Same old story, if you have legal access to the source, you are modifying the code under licence, if you don't, you are cracking it.

Our forum rules do not allow ANY illegal activity to be posted here, no matter what the theory is behind it.

Regards,

hutch@movsd.com
Posted on 2002-03-19 02:24:54 by hutch--

Same old story, if you have legal access to the source, you are modifying the code under licence, if you don't, you are cracking it.

Our forum rules do not allow ANY illegal activity to be posted here, no matter what the theory is behind it.

Regards,

hutch@movsd.com

Laws of which country is using? Again, just curious, i'm not really interested in game trainers sources :).
Posted on 2002-03-19 02:35:36 by Aquila