Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


DOSBox running Descent: Apparent Code Shifting and DMA

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Chingasoki
How do I cheat?
Reputation: 0

Joined: 03 Jan 2015
Posts: 3

PostPosted: Sat Jan 03, 2015 7:27 am    Post subject: DOSBox running Descent: Apparent Code Shifting and DMA Reply with quote

Ship stats are always stored in an area of memory as such:
base address = 8 byte pilot name
base address+22 = energy value
base address+26 = shield value
(there are other values nearby also)

Of course when you restart the game or sometimes just going to the next level, the base address will change, but only slightly. I have found at least 16 places where it could be stored.

I have attempted a pointer scan with no results.
I have attempted finding what writes and accesses the addresses. This results in showing me an opcode such as: mov [eax+ecx],ebx. I have found that [eax+ecx] = the address where the value is being stored and of course that ebx is the new value to be stored there. This is great, I can NOP it and the value will not be changed in the game. One other problem being that the address of the opcode will change when I restart.

Even though I know how the data is structured, I still need a way to dynamically locate it. What is the best way to do this?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25778
Location: The netherlands

PostPosted: Sat Jan 03, 2015 8:03 am    Post subject: Reply with quote

debugging dosbox will result in getting the code of dosbox, not the game.
Pointers also probably won't work as they will be stored relatively to the emulated base address. And even then there's the segment hell of realmode

you could try a scan for the playername and then check offsets 22 and 26 for values that fall within the range of energy and shield

_________________
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
View user's profile Send private message MSN Messenger
Chingasoki
How do I cheat?
Reputation: 0

Joined: 03 Jan 2015
Posts: 3

PostPosted: Sat Jan 03, 2015 8:36 am    Post subject: Reply with quote

wow, the speed of your reply is simply amazing! thanks for that! Smile

dosbox is the only process that shows up when running the game, but it does work anyway so idk.

I'm glad you say that pointers probably won't work because I hate them. Razz

I do manual scans for the player names and find them that way all the time, but there are at least 16 different locations they can be in. so I could have 16 sets of records, of which only one will be used at one time, but that makes a huge list of records in the table.

I would like to have just one set of records in the ct. Is there any way to automate an initial scan to find the base address, then, knowing the proper offsets, I can have the ct filled out automatically?
Back to top
View user's profile Send private message
Chingasoki
How do I cheat?
Reputation: 0

Joined: 03 Jan 2015
Posts: 3

PostPosted: Sun Jan 04, 2015 5:58 pm    Post subject: Reply with quote

DOSbox does seem to be the problem, running the game with d1x-rebirth solves everything. This allows even a complete ignoramus like myself to build a table.

Thanks Dark Byte, you are awesome!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites