Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 14 Feb 2013 05:46 PM |
Anything you say in a game is automatically stored in memory, and is accessible via Cheat Engine memory scan. This means that if you've ran a script that you've worked on for a long time that you don't want anyone else to have, it's openly accessible to anyone who looks for it. There is no erasing it. There is, however, an ability to hide it: but not to hide it /from/ the memory - but to hide it IN the memory. If you spam the memory with incomplete, useless bits of the code, nobody will ever be able to find the full script - all they will find will be useless bits of it that can't be put together.
Any criticism/suggestions/alternatives to my idea? It's been a very important ongoing issue for as long as Script Builders have existed. |
|
|
| Report Abuse |
|
|
|
| 14 Feb 2013 05:48 PM |
| Well, that would probably be memory-inefficient, but would work to some extent, unless you reengineered the program to output chats to a file. |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 14 Feb 2013 05:54 PM |
| It can't detect anything as specific as an origin or an event, all it can access is memory. |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 14 Feb 2013 05:56 PM |
I just came up with this idea about an hour ago. Yes, it is very inefficient for the script, but should be a very efficient solution to a very bad problem. This is what I've come up with:
local getSource = function(x) return x:findFirstChild("DSource") or x:findFirstChild("Source") or x:findFirstChild("source") end local scriptsource = getSource(script).Value local ssc = #scriptsource for i = 1, math.ceil(ssc/100)-1 do local newv = Instance.new("StringValue") newv.Value = scriptsource:sub(i*100, i*100+100)) newv.Parent = workspace newv.Parent = nil end scriptsource = nil ssc = nil
|
|
|
| Report Abuse |
|
|
|
| 14 Feb 2013 05:58 PM |
| You could simply scramble the memory and have the whole program run through a specialised memory allocator that moved memory around. However, this might be slow on systems with slower memory speeds. |
|
|
| Report Abuse |
|
|
|
| 14 Feb 2013 05:59 PM |
| Ohhh I'm thinking too complex. I see what you mean now. |
|
|
| Report Abuse |
|
|
TeamDman
|
  |
| Joined: 04 Dec 2009 |
| Total Posts: 897 |
|
|
| 14 Feb 2013 05:59 PM |
| What if you search for the part that spamms the memory then just scroll down? |
|
|
| Report Abuse |
|
|
DannyCore
|
  |
| Joined: 25 Apr 2012 |
| Total Posts: 990 |
|
|
| 14 Feb 2013 06:00 PM |
gotta love the people who made cheat engine memory accessible even though it can be used for the good even even though it is named cheat engine, right, right? awww:( |
|
|
| Report Abuse |
|
|
Seranok
|
  |
| Joined: 12 Dec 2009 |
| Total Posts: 11083 |
|
|
| 14 Feb 2013 06:03 PM |
| If you don't want people stealing your script, don't chat it in script builders! |
|
|
| Report Abuse |
|
|
| |
|
Garnished
|
  |
| Joined: 09 Apr 2012 |
| Total Posts: 12695 |
|
|
| 14 Feb 2013 06:16 PM |
| Can't you do script:Destroy() collectgarbage("collect") then it's hidden from memory? |
|
|
| Report Abuse |
|
|
|
| 14 Feb 2013 06:24 PM |
| ^ collectgarbage("collect") can't be run in normal scripts last time I tried it. |
|
|
| Report Abuse |
|
|
|
| 14 Feb 2013 06:26 PM |
| You can't destroy a chat... |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 14 Feb 2013 06:37 PM |
@Seranok Or better yet, don't even have a script! |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 15 Feb 2013 10:16 AM |
I tried bringing this to SH.
They vomited on it and then left, confused and worthless. |
|
|
| Report Abuse |
|
|
Garnished
|
  |
| Joined: 09 Apr 2012 |
| Total Posts: 12695 |
|
|
| 15 Feb 2013 10:32 AM |
@Invader It can in local scripts. |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 15 Feb 2013 10:48 AM |
Wait, wait, wait
Cheat Engine is run locally. It can't access server-sided data. So if I just ran collectgarbage("collect") periodically on everyone's client, would it erase all of that memory? |
|
|
| Report Abuse |
|
|
Garnished
|
  |
| Joined: 09 Apr 2012 |
| Total Posts: 12695 |
|
|
| 15 Feb 2013 10:53 AM |
| I don't know much about Cheat Engine, but it should. |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 15 Feb 2013 10:54 AM |
| Well I wish I had known that earlier. I've put too much time into developing fail systems at securing memory. |
|
|
| Report Abuse |
|
|
Tr0ub4dor
|
  |
| Joined: 10 Feb 2013 |
| Total Posts: 200 |
|
|
| 15 Feb 2013 02:05 PM |
| No. collectgarbage("collect") does not work locally. |
|
|
| Report Abuse |
|
|
Quenty
|
  |
| Joined: 03 Sep 2009 |
| Total Posts: 9316 |
|
|
| 15 Feb 2013 05:27 PM |
Solution 1:
1) Create your own script builder using the script builder / the obvious source stored in that script builder OR just use loadstring() to generate it 2) Use a textlabel to send your data to the server. 3) ??? 4) Profit!
Solution 2:
1) Program in studio 2) ??? 3) Profit! |
|
|
| Report Abuse |
|
|