of     4   
chevron_rightchevron_rightchevron_right

Seranok
#139763313Wednesday, July 09, 2014 3:43 PM GMT

It is possible to require copylocked ModuleScripts. Don't believe me? Run the following code server-side on any game server: print(require(165456864)) However that's the only place where you can do it. You can't require(assetId) from studio or the client, only real game servers. So the challenge is to get the source of this ModuleScript: http://www.roblox.com/Private-ModuleScript-item?id=165456864 Why did I make this ModuleScript on an alternate account? Because if the ModuleScript creator has any public places, you can just join one of them and run this code locally: print(game:GetService("InsertService"):LoadAsset(165456864).MainModule.Source) Anyway, I don't know if it's possible to get the source, so I am posting it here as a challenge. If you succeed in getting the source send me a PM and tell me how you did it and you may get rewarded.
flump
#139764895Wednesday, July 09, 2014 4:04 PM GMT

I'm guessing your going to start allowing people to upload Module scripts like libraries that others can use but cant get ahold of the source? This could be a cool feature if you can guarantee that people cant steal the source.
Seranok
#139764977Wednesday, July 09, 2014 4:05 PM GMT

Precisely why I am trying to make sure the source of a copylocked ModuleScript can't be stolen.
ManuelReload
#139765267Wednesday, July 09, 2014 4:08 PM GMT

if you offered a reward for completing this challenge, I'm sure someone will come along and figure out how.
ManuelReload
#139765348Wednesday, July 09, 2014 4:09 PM GMT

*desides to read the last 5 or so words* oh ok, let me get started
TigreBlood
#139765358Wednesday, July 09, 2014 4:09 PM GMT

*cough* Juanito Fernandez de Gonzale *cough*
bohdan77
#139765367Wednesday, July 09, 2014 4:09 PM GMT

From what I see, this is basically impossible, since require() runs the script, and returns what is returned in the modulescript. Which in this case, you return the string.
flump
#139765727Wednesday, July 09, 2014 4:14 PM GMT

Even though require() runs the script doesn't mean the source cant be found. Require at least needs to know what script its running so I'd assume the source is read somewhere and stored otherwise you need to load the asset every time its called.
bohdan77
#139766530Wednesday, July 09, 2014 4:21 PM GMT

@flump yes but this is server-side in a ROBLOX game server you would need to get access to that
digpoe
#139773098Wednesday, July 09, 2014 5:29 PM GMT

BRB poking chc4 and other various people who I remember to have gotten server-side access before
Devoi
#139773795Wednesday, July 09, 2014 5:35 PM GMT

don't do the 100k that was not agreed upon
gskw
#139779676Wednesday, July 09, 2014 6:34 PM GMT

I don't believe it is possible as Roblox's server-sided ASP choose whether to send the asset or not. I wonder how the asset is requested though... Hmm...
Everesty
#139832500Thursday, July 10, 2014 3:04 AM GMT

Afaik a ModuleScript would be requested with the typical /asset/?id=
RudolfMetternich
#139858343Thursday, July 10, 2014 8:35 AM GMT

But what makes the server choose if it sends the asset or not... Possibly the security cookie, possibly not...
appropriations
#139864449Thursday, July 10, 2014 11:21 AM GMT

Already know how :) Just need to confirm and test.
appropriations
#139870622Thursday, July 10, 2014 1:45 PM GMT

Nevermind...
RA2lover
#139874072Thursday, July 10, 2014 2:47 PM GMT

the only thing i can think of involves checking the memory region where the modulescript's functions are stored - but that would only get you bytecode AFAIK. backup _G, call the modulescript, compare the _G versions, look for added stuff and their corresponding addresses, then mine the memory regions they belong to.
appropriations
#139991840Friday, July 11, 2014 4:08 PM GMT

@RA2Lover: Keep in mind that you can only call it on the game server.
Everesty
#140150602Sunday, July 13, 2014 1:32 AM GMT

@RA2 How would you find it in memory when you can't join a game that doesn't include it?
CloneTrooper1019
#140153839Sunday, July 13, 2014 2:04 AM GMT

In theory, if it would be possible to externally simulate a roblox server without studio, I could use fiddler and read signal requests from it.
HyperVoxel
#140158459Sunday, July 13, 2014 2:48 AM GMT

Please speak in english, I don't understand your language.
Xieni
#140159322Sunday, July 13, 2014 2:58 AM GMT

Hmm. Maybe I will dude... :P
[rfa#hidefromsearch]
#140161748Sunday, July 13, 2014 3:24 AM GMT

[rfa#hidefromsearch]
jimmyston1
#140161857Sunday, July 13, 2014 3:25 AM GMT

Fiddler should do it. Maybe CE. -Dominus Assticus
badcc
#140164671Sunday, July 13, 2014 3:56 AM GMT

I tried for a while. Tried multiple methods of loading, setting creator id, etc. I did think of something, though. You may be able to execute custom server scripts by creating a place, uncopylocking it, and :Load'ing it into the game. I'm not sure if they will run or not. I couldn't get my place to load in. Crossroads loaded just fine, though! Just a thought. May try again later.

    of     4   
chevron_rightchevron_rightchevron_right