Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sandboxed 'debug' library missing some functions [v1.0.0.12078] #3010

Open
iNont opened this issue Dec 16, 2024 · 15 comments
Open

Sandboxed 'debug' library missing some functions [v1.0.0.12078] #3010

iNont opened this issue Dec 16, 2024 · 15 comments
Labels
bug crash ScRT: Lua Issues/PRs related to the Lua scripting runtime triage Needs a preliminary assessment to determine the urgency and required action

Comments

@iNont
Copy link

iNont commented Dec 16, 2024

What happened?

On v1.0.0.12078, make my resources cannot working since I was using some the debug functions.

These functions are missing from 'debug'

  • debug.setupvalue
  • debug.getlocal
  • debug.setlocal
  • debug.gethook
  • debug.sethook

Expected result

All missing 'debug' functions work normally

Reproduction steps

  1. Try to use the missing functions for ex. debug.getlocal

Importancy

Crash

Area(s)

FiveM, Natives, ScRT: Lua

Specific version(s)

v1.0.0.12078

Additional information

No response

@iNont iNont added bug triage Needs a preliminary assessment to determine the urgency and required action labels Dec 16, 2024
@github-actions github-actions bot added crash ScRT: Lua Issues/PRs related to the Lua scripting runtime labels Dec 16, 2024
@iNont
Copy link
Author

iNont commented Dec 16, 2024

Just reported because it is already launched on Latest version, and some players got error when joined in server.
Now, it works normally on Release version (at this time), please fix it before update to Release version.

@iridium-cfx
Copy link
Contributor

What are your use-cases for these library functions?

@iNont
Copy link
Author

iNont commented Dec 16, 2024

What are your use-cases for these library functions?

  1. Anticheat : cheaters modified some value on scheduler.lua, so my server using these library functions to detect the changes (it seems like many developers in my region got the same issue here)
  2. Avoid dumper : I'm using these functions to make my resources to be more complex (like using debug.setlocal, debug.setupvalue)

@eryxiz
Copy link

eryxiz commented Dec 16, 2024

What are your use-cases for these library functions?

  1. Anticheat : cheaters modified some value on scheduler.lua, so my server using these library functions to detect the changes (it seems like many developers in my region got the same issue here)
  2. Avoid dumper : I'm using these functions to make my resources to be more complex (like using debug.setlocal, debug.setupvalue)

Me too, I'm using the debug library for cheat detection and have encrypted my code to make it harder for cheaters to understand after dumping resources.

@Mycroft-Studios
Copy link

Mycroft-Studios commented Dec 16, 2024

Anticheat : cheaters modified some value on scheduler.lua, so my server using these library functions to detect the changes (it seems like many developers in my region got the same issue here)

the entire point of sandboxing, is to stop you from doing that.
"Ah yes, peoples modify a file in skechy ways, so let my resource also read and write to those files in totally none skechy ways!"
the entire intent is for resources to be confined to themselves only, so you cant do sketchy stuff exactly like what you just described.
also debug.setlocal to make your code "complex", be real brother xD

@nacknattavat
Copy link

Anticheat : cheaters modified some value on scheduler.lua, so my server using these library functions to detect the changes (it seems like many developers in my region got the same issue here)

the entire point of sandboxing, is to stop you from doing that. "Ah yes, peoples modify a file in skechy ways, so let my resource also read and write to those files in totally none skechy ways!" the entire intent is for resources to be confined to themselves only, so you cant do sketchy stuff exactly like what you just described. also debug.setlocal to make your code "complex", be real brother xD

The point is that cheaters can inject code or files to interfere with the operation of our resource, but we have no way to monitor or handle any of that. Is this really the best approach?

@Mycroft-Studios
Copy link

The point is that cheaters can inject code or files to interfere with the operation of our resource, but we have no way to monitor or handle any of that. Is this really the best approach?

that is completely out of scope for a resource to handle.
resources should NOT be trying to detect injections with little bits of lua code lol.

That role is on Cfx, and adhesive, which is far supperior to quite literally anything u could achieve with the lua environment

@nacknattavat
Copy link

The point is that cheaters can inject code or files to interfere with the operation of our resource, but we have no way to monitor or handle any of that. Is this really the best approach?

that is completely out of scope for a resource to handle. resources should NOT be trying to detect injections with little bits of lua code lol.

That role is on Cfx, and adhesive, which is far supperior to quite literally anything u could achieve with the lua environment

The responsibility to handle this lies with CFX, that's correct. But even now, there are still a lot of cheaters getting through without being banned. If it worked perfectly, why would people bother creating their own AntiCheat systems?

@Mycroft-Studios
Copy link

Mycroft-Studios commented Dec 16, 2024

why would people bother creating their own AntiCheat systems?

Money.
99% of these little "anticheats" are nothing more than Marketing BS, with a £200 price tag attached.
theres certainly things u can detect and prevent sure, but Injections is not one of them, and if you are, you are exploiting vulnerabilities far worse than any cheat is.

to note on this:
going directly at fiveguard, which is literally 1 line change away from being cipher lol

@nacknattavat
Copy link

why would people bother creating their own AntiCheat systems?

Money. 99% of these little "anticheats" are nothing more than Marketing BS, with a £200 price tag attached. theres certainly things u can detect and prevent sure, but Injections is not one of them, and if you are, you are exploiting vulnerabilities far worse than any cheat is.

to note on this: going directly at fiveguard, which is literally 1 line change away from being cipher lol

I’m not getting anywhere arguing with you.
We run a FiveM server for players to enjoy, and we simply don’t want cheaters in our server—that’s all there is to it.
These days, cheaters are getting more frequent and coming in various forms, and CFX can’t detect them.
That’s really all there is to it.

@iNont
Copy link
Author

iNont commented Dec 16, 2024

I think CFX is working on it too to detect cheaters. But anyway, whether we can create our own AntiCheat or not is not a big deal. Just provide the library functions so developers can implement their own as they desire.

@Mycroft-Studios
Copy link

and CFX can’t detect them.

if they cant, with an external proccess, what makes you think you can with a little bit of lua code lol,
literally same exploits as cheats 🤷🏼‍♂️

@Mycroft-Studios
Copy link

Just provide the library functions so developers can implement their own as they desire.

"Just provide the functions being exploited, so we can exploit them too!"

@MoskalykA
Copy link

nice change! this forces developers to write a minimum of good code and stops people selling pseudo """anticheats"""

@iNont
Copy link
Author

iNont commented Dec 16, 2024

and CFX can’t detect them.

if they cant, with an external proccess, what makes you think you can with a little bit of lua code lol, literally same exploits as cheats 🤷🏼‍♂️

Not sure, but so far, I have been able to detect the use of certain cheat programs that CFX hasn't been able to detect at all "with a little bit of lua code😁"

@citizenfx citizenfx locked as too heated and limited conversation to collaborators Dec 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug crash ScRT: Lua Issues/PRs related to the Lua scripting runtime triage Needs a preliminary assessment to determine the urgency and required action
Projects
None yet
Development

No branches or pull requests

6 participants