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 


[POINTERS] [SOLVED] Having trouble with the next step
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions
View previous topic :: View next topic  
Author Message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4702

PostPosted: Sat Aug 27, 2016 4:11 pm    Post subject: Reply with quote

My post you quoted explains exactly that.
_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
frenchiveruti
Cheater
Reputation: 0

Joined: 07 Jun 2009
Posts: 35

PostPosted: Sat Aug 27, 2016 4:57 pm    Post subject: Reply with quote

ParkourPenguin wrote:
My post you quoted explains exactly that.

Yes you do! I tried all, and it seems that it won't work
It just displays it as a red text or = ??? if placed as an adress.
And the "EAX" it's the correct one!

_________________
Acknowledgeable enough.
Back to top
View user's profile Send private message MSN Messenger
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4702

PostPosted: Sat Aug 27, 2016 5:00 pm    Post subject: Reply with quote

It's helpful to have more information besides "it doesn't work."

What is your script?
Which instruction are you injecting at?
Are you sure that instruction only accesses the addresses of characters?
Did you make the game run that section of assembly?
What value is stored at the registered symbol's address?
What text are you putting into the address field of the memory record?

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
frenchiveruti
Cheater
Reputation: 0

Joined: 07 Jun 2009
Posts: 35

PostPosted: Sat Aug 27, 2016 5:11 pm    Post subject: Reply with quote

ParkourPenguin wrote:
It's helpful to have more information besides "it doesn't work."

What is your script?
Which instruction are you injecting at?
Are you sure that instruction only accesses the addresses of characters?
Did you make the game run that section of assembly?
What value is stored at the registered symbol's address?
What text are you putting into the address field of the memory record?

Yes sorry, I know, It's just that's a lot of stuff together.

Here's my code:
Code:
[ENABLE]

aobscanmodule(TEST,mb_warband.exe,69 C0 C8 0F 00 00 8B 0D * * * * 03) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
globalalloc(_charskill,4)
newmem:

code:
  imul eax,eax,00000FC8
  mov [_charskill],eax //The thing
  jmp return

TEST:
  jmp code
  nop
return:
registersymbol(TEST)

[DISABLE]

TEST:
  db 69 C0 C8 0F 00 00

unregistersymbol(TEST)
dealloc(newmem)


Here's how it works (IT WORKS DUDE IT WORKS):
http://imgur.com/a/oGfdy
And as I show in the images, there are my problems with allocation.
Is there a way to "add" by code? Like "SUM A,B" or something along this lines?

_________________
Acknowledgeable enough.
Back to top
View user's profile Send private message MSN Messenger
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4702

PostPosted: Sat Aug 27, 2016 5:29 pm    Post subject: Reply with quote

Well, I discovered a small limitation to the way CE looks up symbols, but no matter. I guess you can just calculate the linear address in the code injection and use the registered symbol directly. You can read the assembly the game uses and learn from that, but I'll try to speed up the process a bit.
Code:
code:
  imul eax,eax,00000FC8           // original code
  push edx                        // backs up edx register
  mov edx,[mb_warband.exe+4B8298] // 1st level pointer dereference
  mov edx,[edx+140f0]             // 1st offset + 2nd level pointer dereference
  lea edx,[edx+eax+2BC]           // adds base address of structures and offset of skills property
  mov [_charskill],edx            // stores the linear address into the address _charskill
  pop edx                         // restores the backup of the edx register
  jmp return

With this, _charskill should store the address of the skill points of the structure that section of assembly is referring to. So in the "Address" field, use [_charskill].

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
frenchiveruti
Cheater
Reputation: 0

Joined: 07 Jun 2009
Posts: 35

PostPosted: Sat Aug 27, 2016 5:36 pm    Post subject: Reply with quote

ParkourPenguin wrote:
Well, I discovered a small limitation to the way CE looks up symbols, but no matter. I guess you can just calculate the linear address in the code injection and use the registered symbol directly. You can read the assembly the game uses and learn from that, but I'll try to speed up the process a bit.
Code:
code:
  imul eax,eax,00000FC8           // original code
  push edx                        // backs up edx register
  mov edx,[mb_warband.exe+4B8298] // 1st level pointer dereference
  mov edx,[edx+140f0]             // 1st offset + 2nd level pointer dereference
  lea edx,[edx+eax+2BC]           // adds base address of structures and offset of skills property
  mov [_charskill],edx            // stores the linear address into the address _charskill
  pop edx                         // restores the backup of the edx register
  jmp return

With this, _charskill should store the address of the skill points of the structure that section of assembly is referring to. So in the "Address" field, use [_charskill].


Ok, this worked like a charm, thanks a lot for saving both of us a lot of time Laughing

_________________
Acknowledgeable enough.
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
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