Help! Unity assets files inside APK are (maybe) obfuscated/encrypted

RedMundo

Platinian
Original poster
Apr 8, 2022
9
8
3
32
Portugal
Hello, I been trying to mod game Isekai Sl0w Lif3

My objective isto find the game logic/code to -> experience earning, characters power related math and battle in general stuff
So i want to read the files inside game.apk\assets\Android
but those are obfuscated/encrypted i believe, because:
  1. files extensions are all changed to .mmc
  2. and most files (if not all) header start with characters "MOMC"

1701100219196.png

Things i have done:
  1. found libil2cpp.so (from there got the .dlls)
  2. from Assembly-CSharp found asset extension related code (the .mmc thing)
  3. tried other software to check assembly.dll code because function content was empty, but still dont know how to decrypt those files
So what I am doing now is looking for Unity 5.x asset files to compare and see how can I read this ones.

1701100243973.png


1701100257161.png
 

CodeJutsu

Platinian
Oct 1, 2023
47
24
8
30
You're totally in the wrong place... The game uses libslua.so you can probably check loadbuffer to dump the lua files, hope that it's not luajit as well, if what I said is hard to comprehend then you shouldn't start modding here start with basic games / learn some coding
 
  • Like
Reactions: RedMundo

RedMundo

Platinian
Original poster
Apr 8, 2022
9
8
3
32
Portugal
You're totally in the wrong place... The game uses libslua.so you can probably check loadbuffer to dump the lua files, hope that it's not luajit as well, if what I said is hard to comprehend then you shouldn't start modding here start with basic games / learn some coding
Will take that INTO consideration Next time I get to PC, thanks for the guidance
 

RedMundo

Platinian
Original poster
Apr 8, 2022
9
8
3
32
Portugal
You're totally in the wrong place... The game uses libslua.so you can probably check loadbuffer to dump the lua files, hope that it's not luajit as well, if what I said is hard to comprehend then you shouldn't start modding here start with basic games / learn some coding
Sorry for @ you kinda out of nowhere. I wish is to make mini-events give no Score during runtime, for now, because i found way to cheese those mini events, BUT Score is big red flag, all events have leaderboards...

Would you take This my request for a mod with that single feature? If you think your are capable of that, send me PM with your price

I still could not Touch PC
 

CodeJutsu

Platinian
Oct 1, 2023
47
24
8
30
Sorry for @ you kinda out of nowhere. I wish is to make mini-events give no Score during runtime, for now, because i found way to cheese those mini events, BUT Score is big red flag, all events have leaderboards...

Would you take This my request for a mod with that single feature? If you think your are capable of that, send me PM with your price

I still could not Touch PC
I am capable i just don't do public mods anymore... Maybe @Backshift he's way more capable than me
 
  • Like
Reactions: RedMundo

Backshift

Solid & Active Platinian
Oct 10, 2023
53
35
18
32
@RedMundo

Can you let me know how to start this "mini event" and any other info that is helpful to test this?

Is this a limited event thats likely to end soon?
How do I get to this event in the game?
Do I need to be a certain level to start it?

I also noticed in your first screenshot your directory is named with the game version as 1.545 is there any reason for this? The latest version I got from apkcombo is 1.598
 
  • Like
Reactions: RedMundo

Backshift

Solid & Active Platinian
Oct 10, 2023
53
35
18
32
OK, I have dumped the lua files, they are compiled lua with luajit, the game is using standard luajit version 2.1.0-beta3 so they can be decompiled which I did using ljd.

I did get to level 11 a couple days ago when I had time to check after your last reply however the 3 events are not showing, perhaps due to the server my account is on?

The lua code has ALOT (543 results from 124 files) of function calls to a function called zzMessageMgr:DoRequest(), and another function (143 results in 60 files) called zzMessageMgr:RegisterServerRequest(). While I didnt get much time to actually test some much out, the amount of references to these 2 functions in a MessageManager makes it look like the game is heavily server sided, thats not to say you may not be able to find something at all, just that it doesnt look promising.

Im uploading the files for what I have, for speed I dumped the lua files and tested a modded lua file with frida.


Download contains

"frida_dumper/file_dump_decompiled"
Has all the decompiled lua files in it

"frida_mod"
Has the code to patch lua files (in script.js) in the game with a working test I did quickly that makes ItemsManager:GetItemCount() return 9999999999, this is ofcourse server sided and only visual, was only a quick test check the file patching works without issues.

"ljd"
LuaJit Decompiler

"LuaJIT-2.1.0-beta3/src", luajit compiler to recompile any modded files to patch back into the game, also check LuaJIT-2.1.0-beta3/src/Isekai_files for the edited ItemsManager.lua file, also has the test "MOD_ItemManager.lua" luajit file (the large byte array in "frida_mod/script.js" is just the bytes from this "MOD_ItemManager.lua" that is replacing the original one).
 

RedMundo

Platinian
Original poster
Apr 8, 2022
9
8
3
32
Portugal
You can send me your paypal or something through pm, gotta send you the coffe.

Altho I am not code master, i wanted to know AT LEAST this much so i could entertain myself a bit more.

I am looking at what u sent now, thanks! <3
 

Backshift

Solid & Active Platinian
Oct 10, 2023
53
35
18
32
Nah you good, no need to send anything, its totally fine :)

Most lua games from what I have seen over the years always have the lua files encrypted in apk/obb or whatever, but they use the standard lua source code without making any custom changes to it, for pretty much all these games you can just hook luaL_loadbuffer (or luaL_loadbufferx) and dump the decrypted lua files easily so its definately something to remember.
 
  • Like
Reactions: mIsmanXP

veronoicc

Platinian
Mar 9, 2024
5
14
3
24
Hey! Sorry for reviving this old thread but i tried dumping the lua files on my own but did not succeed.
Could you maybe explain how you did it / dump the newest lua files? I tried the link you sent but mediafire expired it
 

Backshift

Solid & Active Platinian
Oct 10, 2023
53
35
18
32
Hey! Sorry for reviving this old thread but i tried dumping the lua files on my own but did not succeed.
Could you maybe explain how you did it / dump the newest lua files? I tried the link you sent but mediafire expired it
Ah, here is new link: frida_server_dumper

If you want/need anything more specific to the game you are working on specifically, let me know the game so I can check here.
 

veronoicc

Platinian
Mar 9, 2024
5
14
3
24
Thanks!
The game is still the same one as the original thread post, and i'm specifically trying to get the two files "c2s.pb" and s2c.pb" so i can reconstruct the protocol it uses (the protocol uses the sproto library).
I found where they are loaded which is in the MessageManager::init() function, specifically

Code:
local listSproto = AssetManager.Ins:LoadSproto()

assert(listSproto.Count == 2)

local c2s_str_bin = Slua.ToString(listSproto:getItem(0))
local s2c_str_bin = Slua.ToString(listSproto:getItem(1))
so i now have to find out how to get the returns of the two Slua.ToString calls
 

veronoicc

Platinian
Mar 9, 2024
5
14
3
24
Alright just used frida again and got 3 decryption passwords, all the assets that are encrypted are basically just zips with one of these three passwords (on my version 1.821)

"ut4D>}*OdBvF>Uft"
"3utG{##JU:*fH(ft"
"*j3*DDD:*J{#f3ut"
 
  • Like
Reactions: Backshift

VanHoevenTR

Platinian
Jul 8, 2019
19
695
78
Unknown
OK, I have dumped the lua files, they are compiled lua with luajit, the game is using standard luajit version 2.1.0-beta3 so they can be decompiled which I did using ljd.

I did get to level 11 a couple days ago when I had time to check after your last reply however the 3 events are not showing, perhaps due to the server my account is on?

The lua code has ALOT (543 results from 124 files) of function calls to a function called zzMessageMgr:DoRequest(), and another function (143 results in 60 files) called zzMessageMgr:RegisterServerRequest(). While I didnt get much time to actually test some much out, the amount of references to these 2 functions in a MessageManager makes it look like the game is heavily server sided, thats not to say you may not be able to find something at all, just that it doesnt look promising.

Im uploading the files for what I have, for speed I dumped the lua files and tested a modded lua file with frida.


Download contains

"frida_dumper/file_dump_decompiled"
Has all the decompiled lua files in it

"frida_mod"
Has the code to patch lua files (in script.js) in the game with a working test I did quickly that makes ItemsManager:GetItemCount() return 9999999999, this is ofcourse server sided and only visual, was only a quick test check the file patching works without issues.

"ljd"
LuaJit Decompiler

"LuaJIT-2.1.0-beta3/src", luajit compiler to recompile any modded files to patch back into the game, also check LuaJIT-2.1.0-beta3/src/Isekai_files for the edited ItemsManager.lua file, also has the test "MOD_ItemManager.lua" luajit file (the large byte array in "frida_mod/script.js" is just the bytes from this "MOD_ItemManager.lua" that is replacing the original one).
Hi, I came across this thread while searching for Luajit modding. Do you mind reuploading file again? the link is dead