Hello. I have been checking the Developer Console in a game I develop. It has repeatedly logged a message from script “Model.MainModule”. However, the console does not tell me where this is located. Additionally, I tried running game:FindFirstChild("Model")
in the console and it returned nil. See images attached.
Please let me know how I can find this instance. It’s possible that it’s a backdoor so I need to figure out what it is as soon as possible.
Look up “Main Module” in explorer.
Delete any scripts you don’t remember making.
I’ve tried that already and I couldn’t find anything. I’ve also searched for scripts that used code to insert a MainModule like require()
, getfenv
and string.reverse
, but there was nothing. I’m definitely not going through every single script in the game, either.
Try searching for .PlayerGui
with the help of:
CTRL + SHIFT + F (in studio).
Couldn’t find anything other than my own scripts. Nothing’s using that line maliciously.
Alternatively, is there any way I can search for this in-game? I’m using an admin client named Adonis so I am able to access the dex/explorer, and I can always use the developer console as well.
Then try searching for:
- getfenv
- require
- reverse
I’ve already stated that I searched for those three and couldn’t find anything.
You could use the console and try the following (studio / plugin).
for i, v in ipairs(game:GetDescendants()) do
if v:IsA('LuaSourceContainer') and v.Source:find(CODE) then
-- ...
end
end
What is this supposed to do? And what do I need to edit in the script to search for it?
It’ll go over every LuaSourceContainer in the game, and attempt to find CODE inside of them.
You can then print() its name, then you might find something based on that.
Edited my post by the way, Forgot the .Source
part.
(It could also be a plugin though… You’ll have to double-check that.)
Well, here’s the problem. You can’t use :GetDescendants()
on the game.
That’s false, you can.
Have you tried it?
I just did to confirm, and I’ve tried it many times before. That’s why I’m telling you that.
And I’ll still tell you: You’re wrong.
Do the following and tell me the output in the console (studio / plugin):
for i, v in ipairs(game:GetDescendants()) do
if v:IsA('LuaSourceContainer') and v.Source:find('print') then
print(v.Name)
end
end
Go to studio settings, show hidden objects = true and if a hidden service has something then that’s probably a virus
I see, it works in studio but not on the in-game developer console. I tried it on there because there’s a high chance that it’s only in-game and not in studio as they are usually inserted via require
. Anyways, I searched for PlayerGui and the possible backdoor code and don’t see anything being printed. Is there anything else I should do?
It won’t work in-game.
You’ll have to find another solution to this.
Thanks for letting me know about this feature. However, I find it hard to search for it with this. Any tips?
Here’s a quick too that should speed you up
If you see an arrow on a hidden service like
• hidden service
Just pretend • is >
It means it contains something
If it’s just
Hidden service
There’s nothing in it