Page 1 of 1

Need help with finding values that usually don't change

Posted: Tue Dec 03, 2024 11:58 pm
by xz_u55
So I am trying to mod a steam game called Otherworld legends(free). There are resources that are really hard to come by, thus I can not just find it using the changed/unchanged/increased/decreased searches, currently I have 0. How would I find the value and change it if I only know the name of the resource?

Sorry if this seems like a basic question I am pretty new to CE.

Re: Need help with finding values that usually don't change

Posted: Thu Dec 05, 2024 1:42 am
by sbryzl
It's no simple matter to add something you don't currently have in a game. It might involve calling a function with the correct parameters and possibly multiple functions. You might be able to trace known locations and if you know something relative to what you are searching for. This game has mono so you might be able to find the needed function in the mono dissector.

There's a function indicated by the load effective address in this table that will bring up all the character stats. You might be able to work from them to find what you want.

Interesting game. Haven't played much but might be a hidden gem.

Re: Need help with finding values that usually don't change

Posted: Thu Dec 05, 2024 10:51 pm
by xz_u55
sbryzl wrote:
Thu Dec 05, 2024 1:42 am
It's no simple matter to add something you don't currently have in a game. It might involve calling a function with the correct parameters and possibly multiple functions. You might be able to trace known locations and if you know something relative to what you are searching for. This game has mono so you might be able to find the needed function in the mono dissector.

There's a function indicated by the load effective address in this table that will bring up all the character stats. You might be able to work from them to find what you want.

Interesting game. Haven't played much but might be a hidden gem.
well to be specific I am trying to change the universal hero fragments and universal skin fragments. The game displays them as 0 when you dont have any. Usually the only way to change these values are to buy with real money, get them in the mailbox as compensation, or through events. Rn there is an event going on that gives it, but I think it is too inefficient to go through the event and find it through traditional means. Do you have any tips? like maybe is there a way to spoof a payment or send a fake mail in the mailbox?

Re: Need help with finding values that usually don't change

Posted: Fri Dec 06, 2024 12:49 am
by xz_u55
Ok i just looked in the mono dissect and I found several places that might be interesting, HeroComponent and PurchaseStore, However I am just not good enough in assembly to know how exactly I can use this to get what I want.

Re: Need help with finding values that usually don't change

Posted: Fri Dec 06, 2024 10:58 am
by MBRKiNG
Disable Encryption + set everything which was encrypted to 9999 if value was changed when collecting rewards using them or whatever (including paid shit)
Encryption Bye Bye / set everything to 9999

Code: Select all

[ENABLE]
aobscanmodule(encryptionbyebye,GameAssembly.dll,BA ?? ?? ?? ?? 89 ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 31)
aobscanmodule(addstuff,GameAssembly.dll,89 ?? ?? B0 ?? 48 8B ?? ?? ?? 48 83 ?? ?? 5F C3 48 8B ?? ?? ?? ?? ?? E8)
alloc(newmem,$1000,addstuff)
label(code)
label(return)
newmem:
code:
  mov [rbx+18],eax
  mov [rbx+10],#9999
  mov [rbx+14],#9999
  mov al,01
  jmp return
addstuff:
  jmp newmem
return:
encryptionbyebye+1:
  db 00 00
encryptionbyebye+9:
  db 00
registersymbol(addstuff)
registersymbol(encryptionbyebye)
[DISABLE]
addstuff:
  db 89 43 18 B0 01
encryptionbyebye+1:
  db F4 01
encryptionbyebye+9:
  db C8
unregistersymbol(*)
dealloc(*)
Ignore Perk Enhance / Rerolls

Code: Select all

[ENABLE]
aobscanmodule(IgnoreEnhance01,GameAssembly.dll,7E ?? 45 33 ?? B2 ?? 48 8B ?? E8 ?? ?? ?? ?? 4C)
aobscanmodule(IgnoreEnhance02,GameAssembly.dll,FF ?? 80 ?? ?? ?? ?? ?? ?? 75 ?? 48 8D ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 ?? ?? ?? ?? ?? ?? 89 ?? ?? 48 8B ?? ?? ?? ?? ?? 83)
aobscanmodule(IgnoreEnhance03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 75 ?? 48 8B ?? E8 ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 48 8B ?? 75 ?? E8 ?? ?? ?? ?? 45 33)
aobscanmodule(reroll01,GameAssembly.dll,FF ?? E8 ?? ?? ?? ?? 48 8B ?? ?? 48 85 ?? 74 ?? 44 8B)
aobscanmodule(reroll02,GameAssembly.dll,7E ?? 48 85 ?? 0F 84 ?? ?? ?? ?? B2 ?? EB ?? 48 85 ?? 0F 84 ?? ?? ?? ?? 32 ?? 45 33 ?? E8 ?? ?? ?? ?? 83)
aobscanmodule(reroll03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 89 ?? ?? ?? 48 89 ?? ?? ?? 48 8B ?? ?? 83)
IgnoreEnhance01:
  db 90 90
IgnoreEnhance02:
  db 90 90
IgnoreEnhance03:
  db 90 90 90 90 90 90
reroll01:
  db 90 90
reroll02:
  db 90 90
reroll03:
  db 90 90 90 90 90 90
registersymbol(reroll01)
registersymbol(reroll02)
registersymbol(reroll03)
registersymbol(IgnoreEnhance01)
registersymbol(IgnoreEnhance02)
registersymbol(IgnoreEnhance03)
[DISABLE]
IgnoreEnhance01:
  db 7E 0D
IgnoreEnhance02:
  db FF CF
IgnoreEnhance03:
  db 0F 8E 4A 01 00 00
reroll01:
  db FF CA
reroll02:
  db 7E 0D
reroll03:
  db 0F 8E 4D 04 00 00
unregistersymbol(*)

Re: Need help with finding values that usually don't change

Posted: Sat Dec 07, 2024 4:43 am
by xz_u55
MBRKiNG wrote:
Fri Dec 06, 2024 10:58 am
Disable Encryption + set everything which was encrypted to 9999 if value was changed when collecting rewards using them or whatever (including paid shit)
Encryption Bye Bye / set everything to 9999

Code: Select all

[ENABLE]
aobscanmodule(encryptionbyebye,GameAssembly.dll,BA ?? ?? ?? ?? 89 ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 31)
aobscanmodule(addstuff,GameAssembly.dll,89 ?? ?? B0 ?? 48 8B ?? ?? ?? 48 83 ?? ?? 5F C3 48 8B ?? ?? ?? ?? ?? E8)
alloc(newmem,$1000,addstuff)
label(code)
label(return)
newmem:
code:
  mov [rbx+18],eax
  mov [rbx+10],#9999
  mov [rbx+14],#9999
  mov al,01
  jmp return
addstuff:
  jmp newmem
return:
encryptionbyebye+1:
  db 00 00
encryptionbyebye+9:
  db 00
registersymbol(addstuff)
registersymbol(encryptionbyebye)
[DISABLE]
addstuff:
  db 89 43 18 B0 01
encryptionbyebye+1:
  db F4 01
encryptionbyebye+9:
  db C8
unregistersymbol(*)
dealloc(*)
Ignore Perk Enhance / Rerolls

Code: Select all

[ENABLE]
aobscanmodule(IgnoreEnhance01,GameAssembly.dll,7E ?? 45 33 ?? B2 ?? 48 8B ?? E8 ?? ?? ?? ?? 4C)
aobscanmodule(IgnoreEnhance02,GameAssembly.dll,FF ?? 80 ?? ?? ?? ?? ?? ?? 75 ?? 48 8D ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 ?? ?? ?? ?? ?? ?? 89 ?? ?? 48 8B ?? ?? ?? ?? ?? 83)
aobscanmodule(IgnoreEnhance03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 75 ?? 48 8B ?? E8 ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 48 8B ?? 75 ?? E8 ?? ?? ?? ?? 45 33)
aobscanmodule(reroll01,GameAssembly.dll,FF ?? E8 ?? ?? ?? ?? 48 8B ?? ?? 48 85 ?? 74 ?? 44 8B)
aobscanmodule(reroll02,GameAssembly.dll,7E ?? 48 85 ?? 0F 84 ?? ?? ?? ?? B2 ?? EB ?? 48 85 ?? 0F 84 ?? ?? ?? ?? 32 ?? 45 33 ?? E8 ?? ?? ?? ?? 83)
aobscanmodule(reroll03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 89 ?? ?? ?? 48 89 ?? ?? ?? 48 8B ?? ?? 83)
IgnoreEnhance01:
  db 90 90
IgnoreEnhance02:
  db 90 90
IgnoreEnhance03:
  db 90 90 90 90 90 90
reroll01:
  db 90 90
reroll02:
  db 90 90
reroll03:
  db 90 90 90 90 90 90
registersymbol(reroll01)
registersymbol(reroll02)
registersymbol(reroll03)
registersymbol(IgnoreEnhance01)
registersymbol(IgnoreEnhance02)
registersymbol(IgnoreEnhance03)
[DISABLE]
IgnoreEnhance01:
  db 7E 0D
IgnoreEnhance02:
  db FF CF
IgnoreEnhance03:
  db 0F 8E 4A 01 00 00
reroll01:
  db FF CA
reroll02:
  db 7E 0D
reroll03:
  db 0F 8E 4D 04 00 00
unregistersymbol(*)
I was able to change the skin fragments, but not the universal hero fragments with your help. Whenever I through the event, the anti cheat detects it. Thanks anyways man you are a great help.

Re: Need help with finding values that usually don't change

Posted: Sat Dec 07, 2024 4:53 am
by xz_u55
MBRKiNG wrote:
Fri Dec 06, 2024 10:58 am
Disable Encryption + set everything which was encrypted to 9999 if value was changed when collecting rewards using them or whatever (including paid shit)
Encryption Bye Bye / set everything to 9999

Code: Select all

[ENABLE]
aobscanmodule(encryptionbyebye,GameAssembly.dll,BA ?? ?? ?? ?? 89 ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 31)
aobscanmodule(addstuff,GameAssembly.dll,89 ?? ?? B0 ?? 48 8B ?? ?? ?? 48 83 ?? ?? 5F C3 48 8B ?? ?? ?? ?? ?? E8)
alloc(newmem,$1000,addstuff)
label(code)
label(return)
newmem:
code:
  mov [rbx+18],eax
  mov [rbx+10],#9999
  mov [rbx+14],#9999
  mov al,01
  jmp return
addstuff:
  jmp newmem
return:
encryptionbyebye+1:
  db 00 00
encryptionbyebye+9:
  db 00
registersymbol(addstuff)
registersymbol(encryptionbyebye)
[DISABLE]
addstuff:
  db 89 43 18 B0 01
encryptionbyebye+1:
  db F4 01
encryptionbyebye+9:
  db C8
unregistersymbol(*)
dealloc(*)
Ignore Perk Enhance / Rerolls

Code: Select all

[ENABLE]
aobscanmodule(IgnoreEnhance01,GameAssembly.dll,7E ?? 45 33 ?? B2 ?? 48 8B ?? E8 ?? ?? ?? ?? 4C)
aobscanmodule(IgnoreEnhance02,GameAssembly.dll,FF ?? 80 ?? ?? ?? ?? ?? ?? 75 ?? 48 8D ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 ?? ?? ?? ?? ?? ?? 89 ?? ?? 48 8B ?? ?? ?? ?? ?? 83)
aobscanmodule(IgnoreEnhance03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 75 ?? 48 8B ?? E8 ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 48 8B ?? 75 ?? E8 ?? ?? ?? ?? 45 33)
aobscanmodule(reroll01,GameAssembly.dll,FF ?? E8 ?? ?? ?? ?? 48 8B ?? ?? 48 85 ?? 74 ?? 44 8B)
aobscanmodule(reroll02,GameAssembly.dll,7E ?? 48 85 ?? 0F 84 ?? ?? ?? ?? B2 ?? EB ?? 48 85 ?? 0F 84 ?? ?? ?? ?? 32 ?? 45 33 ?? E8 ?? ?? ?? ?? 83)
aobscanmodule(reroll03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 89 ?? ?? ?? 48 89 ?? ?? ?? 48 8B ?? ?? 83)
IgnoreEnhance01:
  db 90 90
IgnoreEnhance02:
  db 90 90
IgnoreEnhance03:
  db 90 90 90 90 90 90
reroll01:
  db 90 90
reroll02:
  db 90 90
reroll03:
  db 90 90 90 90 90 90
registersymbol(reroll01)
registersymbol(reroll02)
registersymbol(reroll03)
registersymbol(IgnoreEnhance01)
registersymbol(IgnoreEnhance02)
registersymbol(IgnoreEnhance03)
[DISABLE]
IgnoreEnhance01:
  db 7E 0D
IgnoreEnhance02:
  db FF CF
IgnoreEnhance03:
  db 0F 8E 4A 01 00 00
reroll01:
  db FF CA
reroll02:
  db 7E 0D
reroll03:
  db 0F 8E 4D 04 00 00
unregistersymbol(*)
Nevermind man I was able to get the hero fragments from this thanks so much.

Re: Need help with finding values that usually don't change

Posted: Mon Dec 09, 2024 3:20 pm
by Send
Disable Enemy AI

Code: Select all

//Send@FearlessRevolution|Sintrix
[ENABLE]
AI.Update:
db C3

[DISABLE]
AI.Update:
db 40 53
Coin Drop Modifier
Image

Code: Select all

//Send@FearlessRevolution|Sintrix
define(address,GameAssembly.dll+19EBAED)
define(bytes,48 8B D9 E8 CB 25 9B FE)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,GameAssembly.dll+19EBAED)
registersymbol(scis)
label(code return scis)

newmem:
push r13
mov r13,[scis]
mov [rcx+30],r13 //Quantity

code:
  pop r13
  mov rbx,rcx //CoinInScene.Update
  call CoopServerSteam.AdvertiseServer
  jmp return

scis:
dd #1000

address:
  jmp newmem
  nop 3
return:

[DISABLE]

address:
  db bytes

unregistersymbol(*)
dealloc(*)

No Skill Cooldown

Code: Select all

//Send@FearlessRevolution|Sintrix
define(address,GameAssembly.dll+18CB1DD) //Skill.get_mainSkillCooldown
define(bytes,F3 0F 58 05 DB E9 1F 02)

define(address2,"GameAssembly.dll"+18C9DAE) //Skill.Update
define(bytes2,F3 44 0F 11 46 18)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,GameAssembly.dll+18CB1DD)
label(code return)
assert(address2,bytes2)
alloc(newmem2,$1000,"GameAssembly.dll"+18C9DAE)
label(code2 return2)
newmem:

code:
  addss xmm0,[GameAssembly.dll+3AC9BC0] //Primary
  xorps xmm0,xmm0
  jmp return

address:
  jmp newmem
  nop 3
return:

newmem2:

code2:
  xorps xmm8,xmm8
  movss [rsi+18],xmm8 //Secondary
  jmp return2

address2:
  jmp newmem2
  nop
return2:

[DISABLE]

address:
  db bytes

address2:
  db bytes2

dealloc(*)


Re: Need help with finding values that usually don't change

Posted: Mon Dec 09, 2024 11:46 pm
by xz_u55
Send wrote:
Mon Dec 09, 2024 3:20 pm
Disable Enemy AI

Code: Select all

//Send@FearlessRevolution|Sintrix
[ENABLE]
AI.Update:
db C3

[DISABLE]
AI.Update:
db 40 53
Coin Drop Modifier
Image

Code: Select all

//Send@FearlessRevolution|Sintrix
define(address,GameAssembly.dll+19EBAED)
define(bytes,48 8B D9 E8 CB 25 9B FE)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,GameAssembly.dll+19EBAED)
registersymbol(scis)
label(code return scis)

newmem:
push r13
mov r13,[scis]
mov [rcx+30],r13 //Quantity

code:
  pop r13
  mov rbx,rcx //CoinInScene.Update
  call CoopServerSteam.AdvertiseServer
  jmp return

scis:
dd #1000

address:
  jmp newmem
  nop 3
return:

[DISABLE]

address:
  db bytes

unregistersymbol(*)
dealloc(*)

No Skill Cooldown

Code: Select all

//Send@FearlessRevolution|Sintrix
define(address,GameAssembly.dll+18CB1DD) //Skill.get_mainSkillCooldown
define(bytes,F3 0F 58 05 DB E9 1F 02)

define(address2,"GameAssembly.dll"+18C9DAE) //Skill.Update
define(bytes2,F3 44 0F 11 46 18)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,GameAssembly.dll+18CB1DD)
label(code return)
assert(address2,bytes2)
alloc(newmem2,$1000,"GameAssembly.dll"+18C9DAE)
label(code2 return2)
newmem:

code:
  addss xmm0,[GameAssembly.dll+3AC9BC0] //Primary
  xorps xmm0,xmm0
  jmp return

address:
  jmp newmem
  nop 3
return:

newmem2:

code2:
  xorps xmm8,xmm8
  movss [rsi+18],xmm8 //Secondary
  jmp return2

address2:
  jmp newmem2
  nop
return2:

[DISABLE]

address:
  db bytes

address2:
  db bytes2

dealloc(*)

Hey man do you know how to disable the game's anticheat? Im stuck on the game's leveling system and it kept kicking me from the game after a sucessful run.

Re: Need help with finding values that usually don't change

Posted: Wed Dec 11, 2024 1:36 am
by xz_u55
Ok, I have found what part of my game is booting me for anti cheat. Every time I complete a run, it adds to the Adventure expImage
which is this thng is gameImage
Image
Anyone want to show me how to modify the level of this thing so that it is 30 please? Or better yet, show me how to disable the anti cheat. Help is greatly appreciated.

Re: Need help with finding values that usually don't change

Posted: Sat Jan 18, 2025 6:58 pm
by IDLSIDGO
MBRKiNG wrote:
Fri Dec 06, 2024 10:58 am
Disable Encryption + set everything which was encrypted to 9999 if value was changed when collecting rewards using them or whatever (including paid shit)
Encryption Bye Bye / set everything to 9999

Code: Select all

[ENABLE]
aobscanmodule(encryptionbyebye,GameAssembly.dll,BA ?? ?? ?? ?? 89 ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 31)
aobscanmodule(addstuff,GameAssembly.dll,89 ?? ?? B0 ?? 48 8B ?? ?? ?? 48 83 ?? ?? 5F C3 48 8B ?? ?? ?? ?? ?? E8)
alloc(newmem,$1000,addstuff)
label(code)
label(return)
newmem:
code:
  mov [rbx+18],eax
  mov [rbx+10],#9999
  mov [rbx+14],#9999
  mov al,01
  jmp return
addstuff:
  jmp newmem
return:
encryptionbyebye+1:
  db 00 00
encryptionbyebye+9:
  db 00
registersymbol(addstuff)
registersymbol(encryptionbyebye)
[DISABLE]
addstuff:
  db 89 43 18 B0 01
encryptionbyebye+1:
  db F4 01
encryptionbyebye+9:
  db C8
unregistersymbol(*)
dealloc(*)
Ignore Perk Enhance / Rerolls

Code: Select all

[ENABLE]
aobscanmodule(IgnoreEnhance01,GameAssembly.dll,7E ?? 45 33 ?? B2 ?? 48 8B ?? E8 ?? ?? ?? ?? 4C)
aobscanmodule(IgnoreEnhance02,GameAssembly.dll,FF ?? 80 ?? ?? ?? ?? ?? ?? 75 ?? 48 8D ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 ?? ?? ?? ?? ?? ?? 89 ?? ?? 48 8B ?? ?? ?? ?? ?? 83)
aobscanmodule(IgnoreEnhance03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 75 ?? 48 8B ?? E8 ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? 48 8B ?? 75 ?? E8 ?? ?? ?? ?? 45 33)
aobscanmodule(reroll01,GameAssembly.dll,FF ?? E8 ?? ?? ?? ?? 48 8B ?? ?? 48 85 ?? 74 ?? 44 8B)
aobscanmodule(reroll02,GameAssembly.dll,7E ?? 48 85 ?? 0F 84 ?? ?? ?? ?? B2 ?? EB ?? 48 85 ?? 0F 84 ?? ?? ?? ?? 32 ?? 45 33 ?? E8 ?? ?? ?? ?? 83)
aobscanmodule(reroll03,GameAssembly.dll,0F 8E ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 89 ?? ?? ?? 48 89 ?? ?? ?? 48 8B ?? ?? 83)
IgnoreEnhance01:
  db 90 90
IgnoreEnhance02:
  db 90 90
IgnoreEnhance03:
  db 90 90 90 90 90 90
reroll01:
  db 90 90
reroll02:
  db 90 90
reroll03:
  db 90 90 90 90 90 90
registersymbol(reroll01)
registersymbol(reroll02)
registersymbol(reroll03)
registersymbol(IgnoreEnhance01)
registersymbol(IgnoreEnhance02)
registersymbol(IgnoreEnhance03)
[DISABLE]
IgnoreEnhance01:
  db 7E 0D
IgnoreEnhance02:
  db FF CF
IgnoreEnhance03:
  db 0F 8E 4A 01 00 00
reroll01:
  db FF CA
reroll02:
  db 7E 0D
reroll03:
  db 0F 8E 4D 04 00 00
unregistersymbol(*)
Could you please help me with the address of an in-game item?