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 


How am I supposed to think here?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
frubam
Cheater
Reputation: 0

Joined: 13 Jul 2016
Posts: 29

PostPosted: Mon Jul 25, 2016 5:30 pm    Post subject: How am I supposed to think here? Reply with quote

Noob to CE here =03. I was looking at a value that prorates damage based on the number of hits. It starts off at 100(its a %) and decreases by 10(if I use a normal attack) or 20(special attack). I want to just keep it at 100. I found the value in a particular area of the game, did "Find out what writes to this address" got the opcode that writes to it (30D51AD7). Shows that it takes the value of 100 that's in dx and moves it to the location in memory where I found it(highlighed in blue). The disassembler shows the value written to edx in an earlier opcode(orange box: mov edx,00000064). However, the values around it change depending on the area I am in, as well as the area in memory the prorate value is placed. So I am at a loss as how to what I should be doing to even find how the instructions are placed in memory or keeping track of the prorate memory location.


Untitled - 1.png
 Description:
 Filesize:  56.24 KB
 Viewed:  6255 Time(s)

Untitled - 1.png


Back to top
View user's profile Send private message
PinPoint
Expert Cheater
Reputation: 10

Joined: 07 Apr 2016
Posts: 223
Location: Scotland

PostPosted: Mon Jul 25, 2016 5:43 pm    Post subject: Reply with quote

What is the game?
did you try changing the opcode to mov [ecx],64 or noping it to see if it works first?

use the template for AOB scan on the instruction and you can search the memory viewer for what ever you called it when its active.

If this set of instructions is inside a call You can break and trace and find out where it is called from.
Back to top
View user's profile Send private message
frubam
Cheater
Reputation: 0

Joined: 13 Jul 2016
Posts: 29

PostPosted: Tue Jul 26, 2016 6:45 pm    Post subject: Reply with quote

Sorry for the late reply even though you replied so fast =02; I didn't know WHAT the heck you were talking about as far as templates and b&t was concerned, so I had to educate myself using some topics around here(Rydian's guide was especially helpful).

Messing around with Tales of the Abyss on the ps2 emu still. Using nop worked just fine and I did as you said and it worked =03! I took it one step farther than just keeping it at 100 and altered the prorate rate of decline from 20(bottom Tracer) to 10(top Tracer) per special attack. B&T definitely helped; it let me see that the game adds the prorate value to a max value DWORD minus 20(FFFFFFEC), instead of subtracting 20.

I appreciate pointing me in the right direction =03. Thanks \(*,*\)!
Back to top
View user's profile Send private message
frubam
Cheater
Reputation: 0

Joined: 13 Jul 2016
Posts: 29

PostPosted: Thu Jul 28, 2016 8:04 pm    Post subject: Reply with quote

I have a question if someone doesn't mind answering. Is there any downside/detrimental effect of having a super long signature? For example, looking at a script for Tales of Zestiria, they had only 5~8 byte signatures, but I'm using signatures for Tales of the Abyss that are, like, 100 or so bytes long, with appropriate wildcards, and still can't find anything unique =01. Is there some fundamental strategy I'm not utilizing?
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Thu Jul 28, 2016 9:07 pm    Post subject: Reply with quote

The downside of using a long signature is simply that it is more likely to break when the game updates.
Since your AOB is covering so many instructions, it's more likely something could change when they recompile the game.

Often times the cause is simply because the game seems to store multiple copies of the same function.
You can manually perform an AOB scan with a smaller set of bytes and find out where your instruction appears.

If you're lucky, it will be the first address returned by the search, in which case you can use the standard aobscan().
CE will simply stop when it encounters the first result and inject your code there.

If your instruction isn't the first result, there are various posts on these forums for using a Lua AOBScan().
This way you would be able to pick one of the subsequent results as your injection site.

Chances are if your result is the second one found, it will always be the second one found even after the game reloads.
Back to top
View user's profile Send private message
frubam
Cheater
Reputation: 0

Joined: 13 Jul 2016
Posts: 29

PostPosted: Mon Aug 15, 2016 7:00 am    Post subject: Reply with quote

Okay, super late, but I knew nothing about Lua, so I a smidgen bit of reading. Still pretty much a beginner, but how do I use the Lua aobscan return values inside the AA script? I've looked around, but can't seem to find the correct topics on the matter =0(.
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