Seranok
|
  |
| Joined: 12 Dec 2009 |
| Total Posts: 11083 |
|
|
| 09 Jul 2014 10:43 AM |
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. |
|
|
| Report Abuse |
|
|
flump
|
  |
| Joined: 30 Jul 2008 |
| Total Posts: 1039 |
|
|
| 09 Jul 2014 11:04 AM |
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. |
|
|
| Report Abuse |
|
|
Seranok
|
  |
| Joined: 12 Dec 2009 |
| Total Posts: 11083 |
|
|
| 09 Jul 2014 11:05 AM |
| Precisely why I am trying to make sure the source of a copylocked ModuleScript can't be stolen. |
|
|
| Report Abuse |
|
|
Xeptix
|
  |
| Joined: 14 Mar 2013 |
| Total Posts: 1115 |
|
|
| 09 Jul 2014 11:08 AM |
| if you offered a reward for completing this challenge, I'm sure someone will come along and figure out how. |
|
|
| Report Abuse |
|
|
Xeptix
|
  |
| Joined: 14 Mar 2013 |
| Total Posts: 1115 |
|
|
| 09 Jul 2014 11:09 AM |
*desides to read the last 5 or so words*
oh ok, let me get started |
|
|
| Report Abuse |
|
|
|
| 09 Jul 2014 11:09 AM |
| *cough* Juanito Fernandez de Gonzale *cough* |
|
|
| Report Abuse |
|
|
bohdan77
|
  |
| Joined: 10 Aug 2008 |
| Total Posts: 7944 |
|
|
| 09 Jul 2014 11:09 AM |
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. |
|
|
| Report Abuse |
|
|
flump
|
  |
| Joined: 30 Jul 2008 |
| Total Posts: 1039 |
|
|
| 09 Jul 2014 11:14 AM |
| 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. |
|
|
| Report Abuse |
|
|
bohdan77
|
  |
| Joined: 10 Aug 2008 |
| Total Posts: 7944 |
|
|
| 09 Jul 2014 11:21 AM |
@flump
yes but this is server-side in a ROBLOX game server
you would need to get access to that |
|
|
| Report Abuse |
|
|
digpoe
|
  |
| Joined: 02 Nov 2008 |
| Total Posts: 9092 |
|
|
| 09 Jul 2014 12:29 PM |
| BRB poking chc4 and other various people who I remember to have gotten server-side access before |
|
|
| Report Abuse |
|
|
Devoi
|
  |
| Joined: 09 Jun 2013 |
| Total Posts: 5387 |
|
|
| 09 Jul 2014 12:35 PM |
| don't do the 100k that was not agreed upon |
|
|
| Report Abuse |
|
|
gskw
|
  |
| Joined: 05 Jan 2013 |
| Total Posts: 1364 |
|
|
| 09 Jul 2014 01:34 PM |
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... |
|
|
| Report Abuse |
|
|
|
| 09 Jul 2014 10:04 PM |
| Afaik a ModuleScript would be requested with the typical /asset/?id= |
|
|
| Report Abuse |
|
|
|
| 10 Jul 2014 03:35 AM |
| But what makes the server choose if it sends the asset or not... Possibly the security cookie, possibly not... |
|
|
| Report Abuse |
|
|
|
| 10 Jul 2014 06:21 AM |
Already know how :)
Just need to confirm and test. |
|
|
| Report Abuse |
|
|
| |
|
RA2lover
|
  |
| Joined: 09 Nov 2008 |
| Total Posts: 1254 |
|
|
| 10 Jul 2014 09:47 AM |
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. |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2014 11:08 AM |
| @RA2Lover: Keep in mind that you can only call it on the game server. |
|
|
| Report Abuse |
|
|
|
| 12 Jul 2014 08:32 PM |
| @RA2 How would you find it in memory when you can't join a game that doesn't include it? |
|
|
| Report Abuse |
|
|
|
| 12 Jul 2014 09:04 PM |
| 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. |
|
|
| Report Abuse |
|
|
|
| 12 Jul 2014 09:48 PM |
| Please speak in english, I don't understand your language. |
|
|
| Report Abuse |
|
|
Xieni
|
  |
| Joined: 21 Jan 2013 |
| Total Posts: 379 |
|
|
| 12 Jul 2014 09:58 PM |
| Hmm. Maybe I will dude... :P |
|
|
| Report Abuse |
|
|
Luc599345
|
  |
| Joined: 25 Jul 2008 |
| Total Posts: 1169 |
|
|
| 12 Jul 2014 10:24 PM |
| CloneTrooper, I doubt you could do that with Fiddler. ROBLOX servers have a special key that allows them to validate requests such as badges,KOs/WOs, etc. Those key are only used on ROBLOX servers, so you won't be able to capture anything on your own machine with fiddler by starting a server. |
|
|
| Report Abuse |
|
|
|
| 12 Jul 2014 10:25 PM |
Fiddler should do it. Maybe CE.
-Dominus Assticus |
|
|
| Report Abuse |
|
|
badcc
|
  |
| Joined: 18 Jan 2009 |
| Total Posts: 3170 |
|
|
| 12 Jul 2014 10:56 PM |
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. |
|
|
| Report Abuse |
|
|