Super Lucky's Tale [Steam]

Ask about cheats/tables for single player games here
Post Reply
User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Super Lucky's Tale [Steam]

Post by roioros »

Game Name: Super Lucky's Tale [Steam]
Game Engine: Unity
Game Version: ElAmigos release or latest version.
Options Required: Cheat Table with:
  • Infinite Lives
  • Infinite Health / God Mode
Game/Steam Website:



Thanks a lot in advance!

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1050

Re: Super Lucky's Tale [Steam]

Post by VampTY »

Table [CODEX] Version 1.5
- Gold/Lives
- Health


INFO: launch the game from Start, then attach CE to the game .exe through processes.It works for that version, i haven't tested it much, just messing around in that first level, well perhaps it will work for your version, i don't have another one.

PS: in case, it won't match your version, here's how you'll find them:
Gold/lives are on float/VEH DEbugger(search for the exact value) and health is on 4 byte/VEH DEbugger (value is 3 when you start, 1 heart = 1)

All the best,
V.
Attachments
SuperLucky.CT
CODEX [Table] +2
(1.52 KiB) Downloaded 189 times

User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Re: Super Lucky's Tale [Steam]

Post by roioros »

Incredible!, thank you, thank you very much, I really appreciate it, I now will check the table and I tell you if it worked.

Thanks!!


EDIT: Bad news, the table does not work, the Codex version is for the Windows Store and is not compatible with the Steam version.

I followed your steps to find the cheats and I could only find the lives (float), but I have no way of finding the health, I searched with the parameters "exact value", "decreased value", "increased value", "changed value" and "unchanged value", but I can't find the memory address.

Some help?

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1050

Re: Super Lucky's Tale [Steam]

Post by VampTY »

roioros wrote:
Sun Jan 05, 2020 6:43 pm
Incredible!, thank you, thank you very much, I really appreciate it, I now will check the table and I tell you if it worked.

Thanks!!


EDIT: Bad news, the table does not work, the Codex version is for the Windows Store and is not compatible with the Steam version.

I followed your steps to find the cheats and I could only find the lives (float), but I have no way of finding the health, I searched with the parameters "exact value", "decreased value", "increased value", "changed value" and "unchanged value", but I can't find the memory address.

Some help?

Np, well though luck, on CODEX though, you need to get hit, then enable the health, get one coin and enable that, or get one life and enable that..unity, for that version works well !

HEALTH, on 4 bytes, search 3 first (if you have 3 hearts, you search depending on how many hearts you have), then get hit once,search 2 on 4 byte, then bigger than 0, then unchanged, then get hit, search 1 on 4 byte , then bigger than 0, then unchanged more times...you'll get fewer results now, so add the value 3 and see what you got!Also don't hit changed ;)

Best of luck!

User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Re: Super Lucky's Tale [Steam]

Post by roioros »

Great!, Now I could find the memory address for the health, but, every time I lose a life or change the level, the address is no longer valid and I have to look for it again.

I don't want to keep bothering you, thank you very much for all your help, I really appreciate it ;)

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1050

Re: Super Lucky's Tale [Steam]

Post by VampTY »

roioros wrote:
Sun Jan 05, 2020 7:45 pm
Great!, Now I could find the memory address for the health, but, every time I lose a life or change the level, the address is no longer valid and I have to look for it again.

I don't want to keep bothering you, thank you very much for all your help, I really appreciate it ;)

Also, after finding some address for a coin gold,health... in it's script, add after [ENABLE]
Spoiler
{$Lua}
LaunchMonoDataCollector()
{$Asm}
For coins/lives, look in my script, if you'll find someting like movss [rcx+rax*8],xmm6 just add below it mov [rcx+rax*8],(float)99999, the example might be different or the same, on you.


The script for health, meaning inside the script you'll do, look after mine, if is somehow similar, then, add these below, put them in their places, i say it again, if somehow the script is similar with mine, aob, change to make it work for you:


Spoiler
alloc(god,4)


god:
db 0


newmem:
add [god],ebx
test ebx,ebx
jmp return


User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Re: Super Lucky's Tale [Steam]

Post by roioros »

Good news!

Thanks to you I was able to make a table with the cheats, this is how I made the table:

Infinite Lives/Coins
Spoiler
[ENABLE]

{$Lua}
LaunchMonoDataCollector()
{$Asm}

aobscan(Infinite.Lives.Coins,F3 0F 11 28 48 63 47 50) // should be unique
alloc(newmem,$1000,3CC506FC)

aobscan(Infinite.Lives.Coins,F3 0F 11 28 48 63 47 50 FF C0 89 47 50 48 8D 65 D0) // should be unique
alloc(newmem,$1000,42A605CC)

label(code)
label(return)

newmem:

code:
movss [rax],xmm5
mov [rax],(float)9999
movsxd rax,dword ptr [rdi+50]
jmp return

Infinite.Lives.Coins:
jmp newmem
nop 3
return:
registersymbol(Infinite.Lives.Coins)

[DISABLE]

Infinite.Lives.Coins:
db F3 0F 11 28 48 63 47 50

unregistersymbol(Infinite.Lives.Coins)
dealloc(newmem)
Infinite Health
Spoiler
[ENABLE]

aobscan(Infinite.Health,41 89 47 20 85 FF) // should be unique
alloc(newmem,$1000,190E3076)

label(code)
label(return)

newmem:

code:
//mov [r15+20],eax
test edi,edi
jmp return

Infinite.Health:
jmp newmem
nop
return:
registersymbol(Infinite.Health)

[DISABLE]

Infinite.Health:
db 41 89 47 20 85 FF

unregistersymbol(Infinite.Health)
dealloc(newmem)
I don't know if it's the right way, but so far it works without problem.

Thanks again, you are very good at teaching ;)

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1050

Re: Super Lucky's Tale [Steam]

Post by VampTY »

If it works, then it's ok, np.

You can also remove:
label(code)
code:


If you want to keep them (label (code) and code:), you can add your modified code in newmem: and this is for coins:

newmem:
mov [rax],(float)9999
movsxd rax,dword ptr [rdi+50]
jmp return

code:
movss [rax],xmm5
movsxd rax,dword ptr [rdi+50]
jmp return



Well you get the idea, now with health, adding // in front of the code will nop it, you can also add ret in newmem: to return , now // in this case works since the code is only for the main character, it's not shared, if that would have been the case, it just wouldn't work, crash and whatnot might have happened.

In your case,you health can be like this below:
Spoiler
[ENABLE]
{$Lua}
LaunchMonoDataCollector()
{$Asm}
aobscan(Infinite.Health,41 89 47 20 85 FF)
alloc(newmem,$1000,190E3076)
label(code)
label(life)
label(return)
life:
db 0
newmem:
mov [life],eax
test edi,edi
jmp return
code:
mov [r15+20],eax
test edi,edi
jmp return
Infinite.Health:
jmp newmem
nop
return:
registersymbol(Infinite.Health)
[DISABLE]
Infinite.Health:
db 41 89 47 20 85 FF
unregistersymbol(Infinite.Health)
dealloc(newmem)
or
Spoiler
[ENABLE]
{$Lua}
LaunchMonoDataCollector()
{$Asm}
aobscan(Infinite.Health,41 89 47 20 85 FF)
alloc(newmem,$1000,190E3076)
label(return)
newmem:
//mov [life],eax
test edi,edi
jmp return
Infinite.Health:
jmp newmem
nop
return:
registersymbol(Infinite.Health)
[DISABLE]
Infinite.Health:
db 41 89 47 20 85 FF
unregistersymbol(Infinite.Health)
dealloc(newmem)
That mov [r15+20],eax can also be, only if the address is used by the character only, if it's shared you'll make also enemies invincible:

mov [r15+20],(float)10 = if the value is 10 on float
mov [r15+20],(int)10 = if it's an integer (4 bytes for example), you can add (int)10 if the value is 10 or the value you want to be
mov [r15+20],A = A is 10 in HEX, use win calculator


If you'll encounter this situation , using your code for heath, this is some example for compare, this is as simple as it gets:
Spoiler
[ENABLE]
{$Lua}
LaunchMonoDataCollector()
{$Asm}
aobscan(Infinite.Health,41 89 47 20 85 FF)
alloc(newmem,$1000,190E3076)
label(code)
label(return)
newmem:
cmp [r15+...]...
jne code
jmp return
code:
mov [r15+20],eax
test edi,edi
jmp return
Infinite.Health:
jmp newmem
nop
return:
registersymbol(Infinite.Health)
[DISABLE]
Infinite.Health:
db 41 89 47 20 85 FF
unregistersymbol(Infinite.Health)
dealloc(newmem)
So how to?This one added in newmem:?

cmp [r15+...]...
jne code
jmp return


I advice to read/watch some tuts regarding compares, doing it the first time and making it working makes you fell really cool.SO let's say you have found the right offset and value, some example might be:

cmp [r15+44]1
jne code
jmp return


Where 44 is the offset and 1 is the value ...only if this was on 4 byte, you can add (float)value in hex for 1, or (int)1, or (double)1 but you need to allocate some newmem: first or split the double , you get the idea


Doing cmp works also if the same code is shared for more, like health, gold, ammo, armor etc you can make multiple cmp ..now let's say you had a code like this, for all i said up:

code:
mov [rax],rcx
jmp return


If you'll modify with # or (float) or (int) will work for the moment or for few seconds, but will freeze other things used by the same code, i'll give you an example, let's say the same code is for ammo, but how to get the ammo ...well remember CMP, in the code you'll add:

label(ammo)
newmem:
cmp [rax+...]...
jne ammo
jmp code
code:
mov [rax],rcx
jmp return
ammo:
mov [rax],3E7
jmp return


3E7 = 999 in HEX, or it can be with (float)999, with #999 or (int)999 , again you need to make a cmp and find the real value of your ammo and cmp with other, this way will always work without problem..now there's multiple ways, but as a start might give some idea to whoever might read this.

You get the idea, in any case this is on unity, so if you know how to export the values, you can find them really fast with dnspy and then find the exact address with CE, since all have their exact offset and value, so you can easily to cmp.

All the best!

Your girl,
V

User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Re: Super Lucky's Tale [Steam]

Post by roioros »

Incredible explanation, thank you very much for taking your time and helping me.
I would have to analyze everything you wrote to me, because I see it a bit complicated (but it may be easier than it seems).

The only side effect for my infinite health code is that the bosses have infinite health too (because I use NOP instruction), is necessary to disable it when we fight with bosses.
I know it's not the right way to do it, but it was the easiest way for me to be able to make a permanent infinite health code.

user87897
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Apr 14, 2020 12:12 pm
Reputation: 0

Re: Super Lucky's Tale [Steam]

Post by user87897 »

hi if u had steam version table could u upload it ?

User avatar
roioros
Expert Cheater
Expert Cheater
Posts: 74
Joined: Sun Jun 25, 2017 1:29 am
Reputation: 13

Re: Super Lucky's Tale [Steam]

Post by roioros »

Yes, no problem, notice that it is not a professional table and that it may not work well.

If your version is newer (or older) than the one I have, chances are it won't work for you.
Attachments
Super Lucky's Tale.CT
(6.52 KiB) Downloaded 169 times

Post Reply

Who is online

Users browsing this forum: AhrefsBot, Anglican, czarnozeby, HKay