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 


Need help improving Xenoblade X Cheat Table
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Thu Nov 14, 2019 6:32 pm    Post subject: Reply with quote

What 2 addresses? the Maaximum and Current HP ones?
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Thu Nov 14, 2019 6:35 pm    Post subject: Reply with quote

Yes, i mean those, and the reason that crashes is probably because the address pointed by EBX is not accessible for reading
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Thu Nov 14, 2019 6:47 pm    Post subject: Reply with quote

Is there any way I could make them so?

This is my PC only and I utterly hate being blocked from anything in it... even if it's critical stuff like system files.
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Thu Nov 14, 2019 7:12 pm    Post subject: Reply with quote

I've already written to you, from the window of the structure dissection in the upper right there is an option called "File" and from there click on "Save values" but obviously you must first generate the structure and then save it
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Thu Nov 14, 2019 9:03 pm    Post subject: Reply with quote

No not like that lol
I already got that part.

I meant have all the registers' values addresses|values readable normally like any other address|value in the memory browser. being able to see|use them at any time. even just from the memory browser or in that code. without having to actually find their value|address from the structure dissector and stuff.

I think I'd need to like... change the memory region where they are to have write|read permissions from somewhere? I think CE can do that from somewhere... can't it?
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Fri Nov 15, 2019 1:46 am    Post subject: Reply with quote

Quote:
change the memory region where they are to have write|read permissions from somewhere?
you can, from the disassembler in the lower half, right click and you should find an option like "Change protection" (it has the image of a key).
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Fri Nov 15, 2019 5:49 am    Post subject: Reply with quote

Here's the struc. is this right?
https://www.dropbox.com/s/llopcie9a6gk2oz/HPStrucs.txt?dl=0

Also, the "change protection" from disassembler did not work...? ;-;


There's still many memories that I can't read and memories that I can't even write to... ;-;
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Fri Nov 15, 2019 8:04 am    Post subject: Reply with quote

I forgot to tell you some things, if the values on the structure change the code will not work properly.

You should need to change the JNE to JE if the saved value is reversed, and it would have been useful if you had given me the addresses you have dissected, but for now try these:
1)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + C0], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)


2)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + D0], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)


3)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + 150], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)


4)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + 15F], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)


5)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + 176], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)


6)
Code:
[ENABLE]
    aobScan(targetCode,01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
    alloc(cheatArea,$1000)
    alloc(alphaHPAddress,8)
    registerSymbol(cheatArea)
    registerSymbol(alphaHPAddress)
    label(origCode)
    label(return)

  cheatArea:
      cmp [rdx + r13 + 240], 0
      jne origCode
      mov [alphaHPAddress],ebx
      jmp origCode

  origCode:
      mov ebx,[r13+rdx+84]
      bswap ebx
      jmp return

  targetCode+7:
      jmp cheatArea
      nop
      nop
      nop
      nop

  return:
    registerSymbol(targetCode)

[DISABLE]
targetCode:
    db 01 EA 89 6C 24 04 41 8B 9C 15 84 00 00 00 0F CB 89 54 24

    dealloc(cheatArea)
    dealloc(alphaHPAddress)
    unregisterSymbol(targetCode)
    unregisterSymbol(cheatArea)
    unregisterSymbol(alphaHPAddress)
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Fri Nov 15, 2019 8:10 am    Post subject: Reply with quote

Oh my crap I'm so sorry! ;w;


These are the addresses:






Edit:

Why did you change the cmp codes to 0?!? '~'

The code is supposed to go to alphaHPAddress only if it is equal to one...
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Fri Nov 15, 2019 9:08 am    Post subject: Reply with quote

Instead of 0 I could have used something else, but I found that and then I used it, plus you made the comparison with RBX, but you didn't disassemble the address contained in RBX.
Then deducing the address on which you want to make the injection The life`s address is defined from "R13 + RDX + 84", so since the addresses you have disassembled has an extra offset (+84) to the expression R13 + RDX, so considering R13 + RDX as the base address it was enough to find a different value for both addresses, see the offset marked on the file and add a +84 (But I can't know if those values have now changed)
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Fri Nov 15, 2019 9:40 am    Post subject: Reply with quote

Quote:
but you didn't disassemble the address contained in RBX.


I told you. I tried that! >.<

If I use it instead ([r13+rdx+84+a2]) the game doesn't crash, but the code doesn't work either... the alphaHPAddress stays at 0... ;w;
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Fri Nov 15, 2019 9:44 am    Post subject: Reply with quote

Have you tried replacing the JNE with the JE?

EDIT: have you checked that the value in the structure has not changed?
And then why are you saving the value of RBX? or I got confused but the address of your life is given by "R13 + RDX + 84".

Try replacing this part here:

Code:
cheatArea:
      cmp [rdx + r13 + 240], 0
      jne origCode //JNE
      push 84
      pop [alphaHPAddress]
      add [alphaHPAddress],r13
      add [alphaHPAddress],rdx
      jmp origCode

or

Code:
  cheatArea:
      cmp [rdx + r13 + 240], 0
      je origCode //JE
      push 84
      pop [alphaHPAddress]
      add [alphaHPAddress],r13
      add [alphaHPAddress],rdx
      jmp origCode


Last edited by DanyDollaro on Fri Nov 15, 2019 9:51 am; edited 5 times in total
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Fri Nov 15, 2019 9:46 am    Post subject: Reply with quote

I have not!

I'll try it...

EDIT: No. the values have not changed yet cuz I'm still in the same session since I woke up. ^-^

(And didn't do anything that makes them change, like switching armor or dying, or some other stuff)
Back to top
View user's profile Send private message
Archezuli
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2019
Posts: 58

PostPosted: Sat Nov 16, 2019 7:47 am    Post subject: Reply with quote

Okay, so...


After lots and lots of trial and error (And error, and error, and error, and error, and error, and error, and error, and error, and error, and error, and error, and error, and err-ANYWAY)

I finally got to this script. which almost works... but still kinda spazzes between the proper numbers and 0 every now and then...

And then, when I got to this one... it always crashes my PC when I try to run it. And I have no idea why. :D


Is there any chance you would know...?

Also, there's still one thing at least on that code that still puzzles me, and no amount of google search managed to sate my curiosity...

What is that "+7" on the "targetCode+7:"...? What does it do?
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Sat Nov 16, 2019 8:51 am    Post subject: Reply with quote

Indicates that the injection starts from the "Cheat code + 7 Byte" address and I will now explain the reason.

The complete code is:
Code:
add edx, ebp
mov [rsp + 4], ebp
mov ebx, [r13 + rdx + 84]
bswap ebx


however this part does not interest you:
Code:
add edx, ebp
mov [rsp + 4], ebp


but in the AOB these 2 instructions are included, that is:
    add edx, ebp = 01 EA
    mov [rsp + 4], ebp = 89 6C 24 04


therefore making an injection on the symbol registered by the AOB will start from the instruction "add edx, ebp", while if we add 7 Bytes to the address "targetCode + 7" 7 Byte because the arry: "01 EA - 89 6C 24 04" is composed of 6 Bytes so the seventh Byte will be just the Byte of the instruction "mov ebx, [r13 + rdx + 84]" consequently this instruction will be exchanged with the jump in the allocated area.

Obviously you could also put:
Code:
aobScan (targetCode,41 8B 9C 15 84 00 00 00 0F CB 89 54 24)
but in the AOB template you sent I saw also comments on those instructions and put them to prevent the scan from finding similar codes.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Page 6 of 8

 
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