Little Big Workshop

Ask about cheats/tables for single player games here
Post Reply
wildwinds
Noobzor
Noobzor
Posts: 7
Joined: Wed Feb 14, 2018 1:37 pm
Reputation: 0

Little Big Workshop

Post by wildwinds »

Can anyone make a cheat table for this game, preferably one able to change the players money. I've tried myself but I can't find the money variable. It must be encrypted or jumping around in memory or some other such nonsense.

If someone is able to do it, I'd love to find out how.

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

Re: Little Big Workshop

Post by VampTY »

It's quite easy to find it..

Image

How?

- launch your game, then CE and attach it to it
- new game/skip tutorial
- now pause the game and in CE just new scan/unknown/float
- now leave the game running and when you see those money decreasing just pause the game and in CE just decrease
- so repeat few times
- when you have a few values left just unknown and bigger than 0 and select those with let's say 1111223756-39 ..was just an example , those with a - and then 2 digits after
- then select all you have, 5-6 values etc, then through the process of elimination , select each value and freeze and see if it goes well in game (meaning no more decreasing values for your money)..then when you'll find the right one just right click the address and change it to 4 bytes and add how much you want in there.


If you want the exact code, the aob code...well you'd have to make the changes in it :


The code can be found in mov [rax],rcx

Code: Select all

{ Game   : LittleBigWorkshop.exe
  Version: 
  Date   : 2019-10-30
  Author : Administrator

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,48 89 08 48 8B 4F 28) // should be unique
alloc(newmem,$1000,3918C785)

label(code)
label(return)

newmem:

code:
  mov [rax],rcx
  mov rcx,[rdi+28]
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 48 89 08 48 8B 4F 28

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 3918C785

3918C759: 40 0F 9C C0                    -  setl al
3918C75D: 48 0F B6 C0                    -  movzx rax,al
3918C761: 85 C0                          -  test eax,eax
3918C763: 40 0F 94 C0                    -  sete al
3918C767: 48 0F B6 C0                    -  movzx rax,al
3918C76B: 40 88 87 E0 00 00 00           -  mov [rdi+000000E0],al
3918C772: 48 8D 87 C0 00 00 00           -  lea rax,[rdi+000000C0]
3918C779: 48 8B 4D 30                    -  mov rcx,[rbp+30]
3918C77D: 48 89 4D D0                    -  mov [rbp-30],rcx
3918C781: 48 8B 4D D0                    -  mov rcx,[rbp-30]
// ---------- INJECTING HERE ----------
3918C785: 48 89 08                       -  mov [rax],rcx
3918C788: 48 8B 4F 28                    -  mov rcx,[rdi+28]
// ---------- DONE INJECTING  ----------
3918C78C: 33 D2                          -  xor edx,edx
3918C78E: 48 83 EC 20                    -  sub rsp,20
3918C792: 49 BB 40 76 4F 04 00 00 00 00  -  mov r11,00000000044F7640
3918C79C: 41 FF D3                       -  call r11
3918C79F: 48 83 C4 20                    -  add rsp,20
3918C7A3: 85 C0                          -  test eax,eax
3918C7A5: 0F 84 3F 00 00 00              -  je 3918C7EA
3918C7AB: 48 8B 47 28                    -  mov rax,[rdi+28]
3918C7AF: 48 89 45 C0                    -  mov [rbp-40],rax
3918C7B3: 48 8D 4D 38                    -  lea rcx,[rbp+38]
}


Here's the done version of the code, the easiest way done by me:

Code: Select all

[ENABLE]
aobscan(money,48 89 08 48 8B 4F 28)
alloc(newmem,$100,3918C785)
label(return)
newmem:
  mov [rax],5f5E0FF
  mov rcx,[rdi+28]
  jmp return
money:
  jmp newmem
  nop 2
return:
registersymbol(money)
[DISABLE]
money:
  db 48 89 08 48 8B 4F 28
unregistersymbol(money)
dealloc(newmem)


I've explained and pasted you the stuff..some DIY thing, since i don't know what version you have, i have tested on 1.0.11442

Your girl,
V.

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 886
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1593

Re: Little Big Workshop

Post by cfemen »

VampTY wrote:
Wed Oct 30, 2019 5:11 pm
~snip
Hey V. :)

you know you can use Mono Features to make your life easier?^^

as example your money script with mono features:

Code: Select all

// USE THIS LUA CODE AS A MAIN SCRIPT TO LOAD MONO FEATURES
////////////////////////////
{$lua}
LaunchMonoDataCollector() 
{$asm}
///////////////////////////

[ENABLE]

aobscanregion(aobMoney,Mirage:MoneyUI:OnMoneyChanged,Mirage:MoneyUI:OnMoneyChanged+100,48 89) // should be unique
alloc(newmem,$1000,aobMoney)
registersymbol(aobMoney)

label(code)
label(return)

newmem:

code:
  mov [rax],rcx 
  mov rcx,[rdi+28]
  jmp return

aobMoney:
  jmp newmem
  nop 2
return:
registersymbol(aobMoney)

[DISABLE]

aobMoney:
  db 48 89 08 48 8B 4F 28

unregistersymbol(aobMoney)
dealloc(newmem)
with mono you have even more options, like [Link] to get variable names

using mono also gives you the advantage that you can write on code thats not compiled yet.
your AOB 48 89 08 48 8B 4F 28 leads to the delegate on Mirage:MoneyUI:OnMoneyChanged
with mono feature you can access it even if the player never changed his money, so the scripts can always be activated :D
and the script activation is super fast, coz CE knows the exact address, and you prevent the "JIT Code Difference" Problem that causes on other machines that the script cant find the aobs, with mono you can find code with max ~5 aobs.

edit : or a simple way to "ignore" money:

before the delegate gets called -> game uses (bool)EconomyManager:CanAfford(Moneystruct)

return always true, and return the function:
mov eax,1
ret


and you can buy everything even without money^^

User avatar
fantomas
Table Makers
Table Makers
Posts: 1162
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Little Big Workshop

Post by fantomas »


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

Re: Little Big Workshop

Post by VampTY »

cfemen wrote:
Wed Oct 30, 2019 6:38 pm

I know by the way unity very well..i've explained it in a simple way to him/her, i don't know the level of where he/she is (some just limit to just changing the values) and thank you for taking the time thinking i don't know. I always, for private stuff i do them as dll. files, i change them directly into the Assembly-CSharp.dll, i find them quite easy you know to just replace the .dll and having integrated cheats (after finishing some game to have a blast or revenge)..there's ways and ways to do this.Even backtracking is a thing i love to do.

And yes you can have a script with all to run or activate mono features or a lua script to load them up etc.

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 886
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1593

Re: Little Big Workshop

Post by cfemen »

VampTY wrote:
Wed Oct 30, 2019 7:13 pm
cfemen wrote:
Wed Oct 30, 2019 6:38 pm

I know by the way unity very well..i've explained it in a simple way to him/her, i don't know the level of where he/she is (some just limit to just changing the values) and thank you for taking the time thinking i don't know. I always, for private stuff i do them as dll. files, i change them directly into the Assembly-CSharp.dll, i find them quite easy you know to just replace the .dll and having integrated cheats (after finishing some game to have a blast or revenge)..there's ways and ways to do this.Even backtracking is a thing i love to do.

And yes you can have a script with all to run or activate mono features or a lua script to load them up etc.
ah i see, oki alright :)
and yeah changing in dll is sometimes really nice to do integrate cheats and do more complex stuff :mrgreen:

wildwinds
Noobzor
Noobzor
Posts: 7
Joined: Wed Feb 14, 2018 1:37 pm
Reputation: 0

Re: Little Big Workshop

Post by wildwinds »

Thank you so much for your assistance here, I'll give your guide a go right away. As to the code injection bit, well I know nothing about assembly language, AOBs or code injection. I'll give it a good read though and see if I can get my head around it.

Again thank you very much for the help.

wildwinds
Noobzor
Noobzor
Posts: 7
Joined: Wed Feb 14, 2018 1:37 pm
Reputation: 0

Re: Little Big Workshop

Post by wildwinds »

OK so following your instructions I was able to narrow the money variable down to three memory locations that seemed to be connected. However changing any or all of these locations didn't do anything, the game reverted them back to the original value almost immediately and freezing them caused the money display in game to go berzerk.

At one point I did manage to change the value and it updated in the game screen but I still couldn't purchase an object due to insufficient funds even though the game said I had 8000 credits. The value then jumped back to the original value.

If you can tell me how to get around this problem I'd appreciate it greatly.
Thanks.

P.S My game version is whatever the latest Steam version is, which is currently 1.0.11510 (I think).

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

Re: Little Big Workshop

Post by VampTY »

So to your level, try this below: <(i've tried it, that's why i'm explaining it as simple as i can)>
- when the game starts at 20000, in CE in 4 bytes search/unknown
- then fast forward the game, then in CE use decrease
- do this few times, untill you'll get around 700-1000 results
- then set he game as right speed when you stop.. then in CE look for values, lets say in your game the value is 18555, well you'll look in CE for 4-5 values with the exact 18555 and 2 more added, like 1855550
- then add them to your list, then test each other, with the first you start and replace 1855550 with 300050, meaning 3000 dollars, then you go and buy something, if you'll see the money decrease is ok, then add to it the same ammount , meaning 300050 and buy something again..if all goes well, that's that, you can add the money value you want and that's that

This DIY explaining is since i don't have the steam version, i've tested on some cracked 1.0.11510 version, just now.

Have a blast,
V.

Post Reply

Who is online

Users browsing this forum: MaxFizz