>> Is there any way
Any way?? Sure. Someone willing to put the time in? Depends - are you writing another flappy clone or a front end to Bank America? And to what degree “reverse engineer”? Fully reconstruct source code? No. Scrape a few ‘secrets’? Likely.
tho keep in mind that, at best, a *source code* obfuscator will be minimally effective. why? cuz your source code isn’t distributed in the first place, so whitespace and comment removal don’t matter, and compiled code (w/ release key) is lacking debug information (so local variable/function names aren’t present anyway, so why bother mangling their names?). and on the flip side, obfuscators can’t “safely” rename globals given the nature of Lua, so those aren’t going to get obfuscated (much) either way, and will be present (by name) in compiled code. (of course, you can manually assign nonsense names to your globals - but that’ll just slow down a determined hacker rather than prevent)
btw, i’m using “global” somewhat generically here, to mean anything beyond current local scope (in which case the environment is accessed by index not name) - just run “luac -l” on something if you’re not sure what survives. Strings definitely survive, including where used as table keys, so your facebook app ID, or admob id, or other such “secret” stuff is probably plainly visible in the compiled code. (particularly if it were stored like this: mySecretStuff[“FacebookAppID”]=“fb1234567890” - hacker would have all the clues they need)