Page 1 of 3

{REQUEST} Eastward

Posted: Thu Sep 16, 2021 8:14 am
by xelgameshow
Hi, i wanna for a table for Eastward. Really hoping (again) someone will notice.
Functions:
-Infinite health
-one hit kill
-Freeze timer (optional)
link:
Waiting for a reply

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 2:40 pm
by IhazBakonz
+1

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 3:01 pm
by djbb
+1

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 4:28 pm
by gonewrong
+1 - This would be awesome

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 8:57 pm
by Wombleinc
+1 bought it on switch and PC.

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 9:18 pm
by Arkayy
+1 I'm not skilled but I tried 2 and 4 bytes for Salt and couldn't get anything.

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 11:07 pm
by AlvinC
Arkayy wrote:
Thu Sep 16, 2021 9:18 pm
+1 I'm not skilled but I tried 2 and 4 bytes for Salt and couldn't get anything.
It's double.

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 11:07 pm
by Aurange
.

Re: {REQUEST} Eastward

Posted: Thu Sep 16, 2021 11:55 pm
by AlvinC
For health, 1 full heart is 10; 1/2 heart is 5. So if you have 3 hearts just search for 30 in double.

Re: {REQUEST} Eastward

Posted: Fri Sep 17, 2021 1:34 pm
by WhiteRau
i don't know that we need a freeze timer, per se, but it woiuld be nice if we could slow down the mushroom-light timer for longer lights. everything is done in double for some reason and, like @Aurange, i can't find any pointers either. :P but then i'm the one asking for a table and not one writing a table, sooo that's my skill level right there. :)

Re: {REQUEST} Eastward

Posted: Fri Sep 17, 2021 1:46 pm
by aanpsx
Still WIP, but here for now..
- Inf HP
- Inf/Max Money
- Inf Item Use
PSX wrote:
rincewind23 wrote:
Fri Sep 17, 2021 11:15 pm
... i'm getting an error with CE 7.3 ...
well, you can make it yourself then..
Like this:
Image
1. search for hp, bomb, or money [double value]
2. right click that address, then "Find out what writes to this address"
3. click OK
4. get hit, use item, or find some salt to update that address
5. click Show disassembler
6. click tool
7. auto assemble
8. click template
9. aob injection
10. edit!!!

here some sample code:
copy/paste to your CE:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>13543</ID>
      <Description>"Eastward v1.0.5"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Eastward.exe
  Version: 
  Date   : 2021-09-18
  Author : aanpsx

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,Eastward.exe,4D 89 1A 8B 06) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)
label(_GetHP,_GetMoney,_GetBomb)
registersymbol(INJECT,_GetHP,_GetMoney,_GetBomb)

newmem://find health address
  cmp dword [rax+18],6C616568//(6C616568 = string 4byte for "heal")
  jne @f
  cmp dword [rax+1c],00006874//(00006874 = string 4byte for "th")
  jne @f
  cmp dword [r10+4c],0
  je @f
  cmp dword [r10+60],#-1
  jne @f
  mov [_GetHP],r10 // save hp pointer
  //inf hp flag
  cmp byte [_GetHP+8],0//address [_GetHP+8] as flag
  je code //jump if not active (set to 1)
  mov r11,[_GetHP+10]//[_GetHP+10]=new hp value (double)
  jmp code //jump to original code below

Money://find money address
  cmp dword [rax+18],656E6F6D//mone
  jne @f
  cmp dword [rax+1c],00000079//y
  jne @f
  mov [_GetMoney],r10 // save money address
  //inf Money flag
  cmp byte [_GetMoney+8],0//address [_GetMoney+8] as flag
  je code
  mov r11,[_GetMoney+10]
  jmp code

Bomb://find item address
  cmp dword [rax+18],6E756F63//count
  jne @f
  cmp dword [rax+1c],00000074//y
  jne @f
  mov [_GetBomb],r10 // save bomb/item address
  //inf item flag
  cmp byte [_GetBomb+8],0//address [_GetBomb+8] as flag
  je code
  mov r11,[_GetBomb+10]

code://original code
  mov [r10],r11
  mov eax,[rsi]
  jmp return

// set for register hp:
_GetHP:
  dq 0//[+0] - for hp address
  dq 0//[+8] - for flag
  dq (double)100//[+10] for hp

// set for register money:
_GetMoney:
  dq 0//[+0] - for money address
  dq 0//[+8] - for flag
  dq (double)9999//[+10] for money

// set for register item/bomb:
_GetBomb:
  dq 0//[+0] - for item address
  dq 0//[+8] - for flag
  dq (double)10//[+10] for Bomb

INJECT:
  jmp newmem
return:


[DISABLE]

INJECT:
  db 4D 89 1A 8B 06

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: Eastward.exe+2164

Eastward.exe+2139: 4C 03 55 28                    - add r10,[rbp+28]
Eastward.exe+213D: 49 BB 00 00 00 00 00 80 FD FF  - mov r11,FFFD800000000000
Eastward.exe+2147: 49 09 C3                       - or r11,rax
Eastward.exe+214A: 4D 39 5A 08                    - cmp [r10+08],r11
Eastward.exe+214E: 75 3F                          - jne Eastward.exe+218F
Eastward.exe+2150: 49 83 3A FF                    - cmp qword ptr [r10],-01
Eastward.exe+2154: 74 23                          - je Eastward.exe+2179
Eastward.exe+2156: F6 45 08 04                    - test byte ptr [rbp+08],04
Eastward.exe+215A: 0F 85 81 00 00 00              - jne Eastward.exe+21E1
Eastward.exe+2160: 4C 8B 1C CA                    - mov r11,[rdx+rcx*8]
// ---------- INJECTING HERE ----------
Eastward.exe+2164: 4D 89 1A                       - mov [r10],r11
// ---------- DONE INJECTING  ----------
Eastward.exe+2167: 8B 06                          - mov eax,[rsi]
Eastward.exe+2169: 0F B6 CC                       - movzx ecx,ah
Eastward.exe+216C: 0F B6 E8                       - movzx ebp,al
Eastward.exe+216F: 48 83 C6 04                    - add rsi,04
Eastward.exe+2173: C1 E8 10                       - shr eax,10
Eastward.exe+2176: FF 24 EB                       - jmp qword ptr [rbx+rbp*8]
Eastward.exe+2179: 4C 8B 5D 20                    - mov r11,[rbp+20]
Eastward.exe+217D: 4D 85 DB                       - test r11,r11
Eastward.exe+2180: 74 D4                          - je Eastward.exe+2156
Eastward.exe+2182: 41 F6 43 0A 02                 - test byte ptr [r11+0A],02
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>13544</ID>
          <Description>"current hp"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Double</VariableType>
          <Address>_GetHP</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>13545</ID>
          <Description>"current money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Double</VariableType>
          <Address>_GetMoney</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>13546</ID>
          <Description>"current item/bomb"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Double</VariableType>
          <Address>_GetBomb</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>13547</ID>
          <Description>"Inf HP - set to 1"</Description>
          <DropDownList DisplayValueAsItem="1">0:Off
1:ON
</DropDownList>
          <LastState Value="0" RealAddress="7FF614D800D1"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>_GetHP+8</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>13548</ID>
          <Description>"Inf money - set to 1"</Description>
          <DropDownList DisplayValueAsItem="1">0:Off
1:ON
</DropDownList>
          <LastState Value="0" RealAddress="7FF614D800E9"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>_GetMoney+8</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>13549</ID>
          <Description>"Inf item - set to 1"</Description>
          <DropDownList DisplayValueAsItem="1">0:Off
1:ON
</DropDownList>
          <LastState Value="0" RealAddress="7FF614D80101"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>_GetBomb+8</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: {REQUEST} Eastward

Posted: Fri Sep 17, 2021 7:20 pm
by WhiteRau
bruh... thank you. so quickly, too!

Re: {REQUEST} Eastward

Posted: Fri Sep 17, 2021 11:15 pm
by rincewind23
aanpsx wrote:
Fri Sep 17, 2021 1:46 pm
Still WIP, but here for now..
- Inf HP
- Inf/Max Money
- Inf Item Use
Thanks for the quick reply on this man. I know it's a WIP, but for me, i'm getting an error with CE 7.3 :

"Error while scanning for AOB's: PSX_GetHP Error: Not all results found"

So I can't enable anything.

Thanks.

Re: {REQUEST} Eastward

Posted: Sat Sep 18, 2021 6:19 am
by gonewrong
@aanpsx - you sir are a hero among us troglodytes, Thank you

Re: {REQUEST} Eastward

Posted: Sat Sep 18, 2021 8:07 am
by plaeguis
Careful with items manipulations, I just derailed my save at the king crab cooking thingy. I am now softlocked and have to start a new game