Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Should people be allowed to "rip" scripts?

Zuzi Martinez
goth dachshund
Join date: 4 Sep 2004
Posts: 1,860
02-21-2005 15:01
From: someone
EDIT: llGetCreator() is not a valid solution, because then all you have to do is get ahold of a moddable object by the same creator, and you can do everything I just listed.

is that easy to get?
Reitsuki Kojima
Witchhunter
Join date: 27 Jan 2004
Posts: 5,328
02-21-2005 15:13
From: Zuzi Martinez
is that easy to get?


Surprisingly so, actually.

Any number of permissions bugs have opened up random junk that people have created, for example. Plus random bits of crap you make and pass out that get passed to others and so on...

I've had two or three incidents of my prims being used as roots to junk I've never seen before, including some things that were TOS violations.
_____________________
I am myself indifferent honest; but yet I could accuse me of such things that it were better my mother had not borne me: I am very proud, revengeful, ambitious, with more offenses at my beck than I have thoughts to put them in, imagination to give them shape, or time to act them in. What should such fellows as I do crawling between earth and heaven? We are arrant knaves, all; believe none of us.
Cross Lament
Loose-brained Vixen
Join date: 20 Mar 2004
Posts: 1,115
02-21-2005 15:33
I wanted to vote 'No... except for Mol's scripts', but he never gave me that option. ;)

Seriously though... no-mod kinda implies uh... no mod. Taking a script out of it is... uh... modifying it.

Besides... <microsoft>You don't own the software... you're licensing it!</microsoft> :D

To continue with these schizophrenic thoughts... I'm not sure Fair Use even applies here, since it is in fact a private system. Then again, if LL is applying real-world copyrights to content created in SL, then you do end up having to honour Fair Use doctrine, if you want to be consistent.

Then again, again... there's no 'property' involved here, just information. Am I allowed to tear the guts out of my legally-licensed copy of Microsoft Windows(r) and do whatever the heck I want with it, as long as it stays on that licensed computer? Would their license, were it to forbid me to do so, be legally enforcable?

Wow... I don't think we've even got an answer for this yet, in First Life. :eek:
_____________________
- Making everyone's day just a little more surreal -

Teeple Linden: "OK, where did the tentacled thing go while I was playing with my face?"
Prong Thetan
SimCast CEO
Join date: 22 May 2004
Posts: 168
02-21-2005 15:38
From: Moleculor Satyr
Because a script can usually be coded to interact with other scripts that you do not own.

If SL is to ever have decent games of any type, this security flaw has to be fixed.

The point here is not to stop resale (though that's an added side benefit), it's to prevent people from hacking.

Next time you're in Darklife or SimCast, or whatever, how would YOU like it if someone came up to you and said "Bang, you're dead!" and voila, you were! Or "Bang, you're a newbie" and voila, you have 0xp?

Or someone manages to get their hands on an ATM for one of the money exchange sites or something, they rip the scripts, and start funneling money out of your account? Granted, -that- probably won't happen, but we already know that GOM has been scammed, what, two or three times now?

The point is that no-mod prevents me from removing and reusing a texture, it prevents me from removing and reusing the shape data, why doesn't it prevent me from reusing a script?


Good luck with trying to remove our scripts and relocating them :)

What you will end up with is a broken object and a few useless scripts... We are aware of the security issues with allowing players to move scripts between objects, and we simply don't allow it. Safe guards are in place for this already :)
_____________________
SimCast Entertainment:

Cutting edge game development in Second Life.
Beatfox Xevious
is THOUSANDS OF PEOPLE
Join date: 1 Jun 2004
Posts: 879
02-21-2005 17:36
I endorse the product and/or service being proposed by Moleculor, et al. In the meantime...

From: Annah Zamboni
Why not have a keycode assigned to objects (that the creator sets) and their script checks this keycode when it runs to make sure its in a valid object with the correct keycode? Make this keycode not viewable by anyone that doesnt have mod permissions on the object. When people buy a copy of the no-mod object from a vendor or whatever, they all keep the same keycode. The down side is that it becomes one more thing to track for every object. And yes Im probably sure someeone else thought of this before.


The talk of texture protection vs. script protection got me thinking about a similar workaround: Have your item use a texture that only you own, i.e. no one else has the key for. Make your script use llGetTexture to check the side this texture is on, and see whether it matches the hard-coded key in the script; function normally if so, and stop working or llDie if not. Of course, to make sure that no hacker could use one of your mod objects to sniff for link messages, you would need to be certain that none of your moddable items use this same texture on the same face.
_____________________
My Beatworks: Zephyr Chimes wind chimes, the KanaMaster Japanese kana tutor, and the FREE Invisibility Prim Public. Look for them at the Luskwood General Store in Lusk (144, 165).

"You have been frozen. You cannot move or chat. A pony will contact you via instant message (IM)."
- mysterious system message I received after making off with Pony Linden
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
02-21-2005 19:24
From: Prong Thetan
Good luck with trying to remove our scripts and relocating them :)

What you will end up with is a broken object and a few useless scripts... We are aware of the security issues with allowing players to move scripts between objects, and we simply don't allow it. Safe guards are in place for this already :)


I specifically used your objects to test to make sure that I wasn't lying about the fact that I can rip scripts. Now, I didn't go as far as taking entire sets of scripts and trying to hack them, but I know for sure that the objects I DID remove scripts from did not self-destruct or respond in any visible way to my moving them around.
_____________________
</sarcasm>
Prong Thetan
SimCast CEO
Join date: 22 May 2004
Posts: 168
02-21-2005 19:41
From: Moleculor Satyr
I specifically used your objects to test to make sure that I wasn't lying about the fact that I can rip scripts. Now, I didn't go as far as taking entire sets of scripts and trying to hack them, but I know for sure that the objects I DID remove scripts from did not self-destruct or respond in any visible way to my moving them around.


Ah, but after all was said and done, did those very same items function properly in-game? Did new objects that you created with those ripped scripts function properly in-game? Have you even played our game so you would know what to look for concerning the functionality of each item?

I do not doubt that you were able to rip things apart.... What I DO doubt is your ability to put it all back together and make it work like it was intended to in the first place. Unless you were able to make something actually work after reassembling it, you have done nothing more than break a bunch of objects....

Hardly a feat of technical know how in my book.... No disrespect intended :)
_____________________
SimCast Entertainment:

Cutting edge game development in Second Life.
Torrid Midnight
Work in progress
Join date: 13 May 2003
Posts: 814
02-22-2005 05:29
I have a question on this. If you sell something no mod, the script can't be changed in any way. Yes you can move the script to another object or delete it but it's not like you can open it up and change it, copy it, etc. I mean if the person paid for the object and the scripts inside it and they move the script to something, it's still just that one script they can't do anything to. I have bought shoes as well with walk overrides that I hate lol. I just delete the scripts and it would suck if I couldn't because that's money wasted. Now I would agree if moving the script meant that you could suddenly open it and modify it but if you set permissions on the script a person can't do that. Is there something I'm misunderstanding or don't know about?
_____________________
Francis Chung
This sentence no verb.
Join date: 22 Sep 2003
Posts: 918
02-22-2005 06:23
From: Torrid Midnight
I have a question on this. If you sell something no mod, the script can't be changed in any way. Yes you can move the script to another object or delete it but it's not like you can open it up and change it, copy it, etc. I mean if the person paid for the object and the scripts inside it and they move the script to something, it's still just that one script they can't do anything to. I have bought shoes as well with walk overrides that I hate lol. I just delete the scripts and it would suck if I couldn't because that's money wasted. Now I would agree if moving the script meant that you could suddenly open it and modify it but if you set permissions on the script a person can't do that. Is there something I'm misunderstanding or don't know about?


I don't think anyone minds if you delete their scripts. What scripters don't want is for someone to be able to hack their scripts into doing something that wasn't originally intended.

In LSL, for various reasons, it may be necessary to split functionality of a single object across multiple scripts.

Let's take a game, like Darklife or U:SL or whatever. You have this backpack, which controls the game logic. You could divide the game logic of the backpack into two parts: the part that is responsible for keeping track of your status, and a part that is responsible for keeping track of your environment.

So, every now and then, if you get a health potion, or whatever, the one script tells the other "heal avatar 10 points"

A malicious person could take those scripts, insert them into another prim, and then add a new scripts that inserts new commands, "heal avatar 100 points every second", making them basically invincible.

You can apply this concept to many different scripting systems in SL - basically, subverting scripts against the creator's intention.
_____________________
--
~If you lived here, you would be home by now~
Unhygienix Gullwing
I banged Pandastrong
Join date: 26 Jun 2004
Posts: 728
02-22-2005 09:25
Are there no methods available to coders to protect their assets?

I would submit that people who are developing very complicated projects, like in-game-games with multiple scripts communicating, are probably advanced rather than beginner coders.

For these advanced projects, wouldn't it be worthwhile to simply exchange methods of protection in the scripting forums? Ways to obfuscate communication, ways to "breaK" the script if it should be removed, etc etc?

Leave people with the ability to dissassemble their toasters, but let them accept the possibily that their toasters may not work properly afterwards.

I'm curious how many of the people complaining about script-ripping have an iPod, and restrict themselves to only installing functionalities onto it that Apple approves of; Or who purchase an inkjet printer and only buy their ink cartridges from the store, rather than refilling them at that booth in the shopping center.

Prong, I'm curious whether your security methods are ones that could be shared with the other scripters in SL without compromising your own project's security. If so, you might suddenly find yourself with either a new source of revenue as a paid consultant. Or, you might find a very worthy donation of your talents to the community.
:)
Grim Hathor
Registered User
Join date: 26 Jun 2004
Posts: 36
02-22-2005 14:33
Unhygienix, I am one of the 2 scripters on the simcast project led by Prong Thetan. I coded the combat all the way up to beta at which point I handed it over.


That little snippet of code that I posted back on the first page.... thats what we use. After hacking Darklife using the exact method moleculor suggested I also recommended that code to mark, so I imagine that is what darklife uses as well, or something similar.

Really, what it comes down to is that we CAN secure our scripts from this method of attack, its just a bit annoying, the methods arent widely known, and it has its downfalls... if someone tries to remove stuff it break.... would be nice if they just couldent take it out in the first place. Also with teleports as fubared as they are if the script gets reset in one then blam, farewell script.

Now maybe there is some flaw in that code that I dont see, but nobody has pointed it out yet and its such a short, basic bit of code its not like there is a ton of room for error.
Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
02-22-2005 15:51
[ I haven't wanted to let this one out of the bag, except to the Lindens, but as it has been months with no fix... Time to shake things up. ]

1) Create an prim and set it For Sale - Original, call it the Product
2) Take it
3) Create another object, call it the Vendor
4) Put the Product inside the contents of the Vendor

5) ( Pretend you scripted the Vendor to rez the Product under cetain circumstances, so that people can see and buy it, or other Products loaded inside )

6) Have someone else select and edit the Vendor (who has no ownership or mod rights)
7) Have them right-click the Product in the contents window
8) Have them choose Buy...

The Product is now gone from the vendor, and the script that rezes Products for display will now break.

So THIS is a case of the same permissions BUG as it effects ITEMS OWNED BY OTHER PEOPLE!

That's right... It's possible to strip the contents from people's vending machines. And you don't even have to own them.


If that's not a case for making the contents of No-Mod object NON MODIFIABLE... I don't know what is. :(

There is no kludgy work-around for this one!
_____________________
~ Tiger Crossing
~ (Nonsanity)
Tcoz Bach
Tyrell Victim
Join date: 10 Dec 2002
Posts: 973
02-22-2005 16:19
I think the simple solution is to fix it so that no mod objects are, ya know...

...no mod. Like you can't put things in, or take things out to mess with them elsewhere. Locked, safe ya know...

...no mod.
_____________________
** ...you want to do WHAT with that cube? **
Unhygienix Gullwing
I banged Pandastrong
Join date: 26 Jun 2004
Posts: 728
02-22-2005 17:36
From: Tiger Crossing
[ I haven't wanted to let this one out of the bag, except to the Lindens, but as it has been months with no fix... Time to shake things up. ]

1) Create an prim and set it For Sale - Original, call it the Product
2) Take it
3) Create another object, call it the Vendor
4) Put the Product inside the contents of the Vendor

5) ( Pretend you scripted the Vendor to rez the Product under cetain circumstances, so that people can see and buy it, or other Products loaded inside )

6) Have someone else select and edit the Vendor (who has no ownership or mod rights)
7) Have them right-click the Product in the contents window
8) Have them choose Buy...

The Product is now gone from the vendor, and the script that rezes Products for display will now break.

So THIS is a case of the same permissions BUG as it effects ITEMS OWNED BY OTHER PEOPLE!

That's right... It's possible to strip the contents from people's vending machines. And you don't even have to own them.


If that's not a case for making the contents of No-Mod object NON MODIFIABLE... I don't know what is. :(

There is no kludgy work-around for this one!


Well, there is a workaround. This might not fix simple vendors, but all vendors which work from a central server-object are immune to this. The object-for-sale is actually stored inside of a central object, which sends a copy to anyone grid-wide who buys that object from a vendor. I don't know how many different vendors use this, but Trent Hedge's TrentVend uses it and so does the Gigas vendor.

Part of the problem with this discussion, too, are the semantics being used.

What is a no-mod object? Is the object simply the physical form (har har, physical in a virtual world, right? I realize the irony; bear with me), or the totality of what it contains?

When I refer to my Al-Bravo parachute as an object, am I describing the prim-structure of it or the total functining object, including Textures, prims, scripts, and notecard describing how to use it?


Currently, I think it's safe to assume that a "no-mod object" refers only to the actual prim-based-object and any textures applied to it. The contents, while related to it, are not also "part" of the object. "No-mod" means that you can't change the shape or textures of the object; it doesn't refer to the contents of the object, and what you could do separately with them.


Yes, I know it's semantics. However, I ask again whether people would apply these concepts to real-world equivalents. Should car manufacturers be permitted to put copyrighted software seals on their engines, thus making it a DMCA violation for anyone other than a manufacturer-approved service agent take apart your engine or repair it? Should computer manufacturers be able to sell computers with similiar seals making it illegal for you to open them up, or uninstall the software that they kindly provided you with at time of sale (ahem....FREE 6 MONTH TRIAL FROM AOL. CLICK HERE!)?

I believe that there are often unintended uses for items that people find when they take them apart. I prefer being able to take apart my toaster, and accept responsibility if I break it in the process.
Oz Spade
ReadsNoPostLongerThanHand
Join date: 23 Sep 2003
Posts: 2,708
02-22-2005 18:59
Hmm. You can't turn off the Running checkbox in a No-Mod script (in a no-mod object), but you can take it out of the prim... huh?

I think a solution, would be to allow people to uncheck the Running checkbox but not allow them to take it out of the prim (deleting I'm not too sure about).

This would allow people to turn off the script if they want, but not open up the possibility of abuse from transfering the script.
_____________________
"Don't anticipate outcome," the man said. "Await the unfolding of events. Remain in the moment." - Konrad
Kyrah Abattoir
cruelty delight
Join date: 4 Jun 2004
Posts: 2,786
02-23-2005 00:00
in fact i think a "script locked" objects shouldnt even show its scripts, maybe indicate there si some scripts in it or maybe a tab with the script names but as a perfectionist i consider when i release a script that its as optimised as it can be

so removeing is a bad thing i believe
_____________________

tired of XStreetSL? try those!
apez http://tinyurl.com/yfm9d5b
metalife http://tinyurl.com/yzm3yvw
metaverse exchange http://tinyurl.com/yzh7j4a
slapt http://tinyurl.com/yfqah9u
Yashu Vindaloo
Velvet Dominant
Join date: 24 Aug 2004
Posts: 121
02-23-2005 02:32
ok... there are ALOT of great scripts in LAME objects...

This place is about creativity... why do people want to LOCK DOWN and LOCK OUT creativity?

Don't be so greedy...

Prims are easy to copy but scripts are not...

I move scripts to and from different objects ALL THE TIME... I take animations out of objects and stick them in others... it has become an intergral part of secondlife.

When you buy a scripted object what you pay for is the script... as I said, prims can be easily copied. The object you get when you purchase is alot of times only the implied "suggested" package for the script.

and yes YOU SHOULD BE ABLE TO MOVE A TEXTURE OUT OF AN OBJECT TOO.
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
02-23-2005 04:14
From: Yashu Vindaloo
This place is about creativity... why do people want to LOCK DOWN and LOCK OUT creativity?


What's creative about moving a script over - never MIND a texture?
_____________________
Reitsuki Kojima
Witchhunter
Join date: 27 Jan 2004
Posts: 5,328
02-23-2005 04:36
From: Yashu Vindaloo
This place is about creativity... why do people want to LOCK DOWN and LOCK OUT creativity?


The ability to take my hard work that I designed for a specific application and use it to power your own stuff to save yourself the bother of writing your own script is not creative. It's lazy, if you have the ability to write scripts yourself, or cheap, if you don't but aren't willing to pay for someone to write a script for you, or sleezy if your intention is to deliberatly get around designed functionality (Such as hacking game equipment).

From: Yashu Vindaloo
Don't be so greedy...


Greedy? I make a sale either way.

From: Yashu Vindaloo
Prims are easy to copy but scripts are not...


Doing either is not /creative/, as you were suggesting. It's not innovative, or unique, or special, or needed. Why not do your own work instead of riding on the backs of others?

From: Yashu Vindaloo
When you buy a scripted object what you pay for is the script... as I said, prims can be easily copied. The object you get when you purchase is alot of times only the implied "suggested" package for the script.


Um, no.

When I sell a scripted object, I'm selling the scripted object. Not the script in a fancy container. I'm not selling you a "suggested" package for my script to reside in. If thats what I was doing, I would sell the script directly from a vendor.

From: Yashu Vindaloo
and yes YOU SHOULD BE ABLE TO MOVE A TEXTURE OUT OF AN OBJECT TOO.


No, no you shouldn't. Again, do your own work, don't take my work or Bob's work or Jim's work. Its already easy enough to steal pretty much any texture anywhere in game. Lets not make it easier, shall we? When I create a dashboard for a vehicle, or a wood floor texture for a house, I make it for /that thing/. Not for your thing 2 months later, or Ted's thing.
_____________________
I am myself indifferent honest; but yet I could accuse me of such things that it were better my mother had not borne me: I am very proud, revengeful, ambitious, with more offenses at my beck than I have thoughts to put them in, imagination to give them shape, or time to act them in. What should such fellows as I do crawling between earth and heaven? We are arrant knaves, all; believe none of us.
Devlin Gallant
Thought Police
Join date: 18 Jun 2003
Posts: 5,948
02-23-2005 05:33
As far as I am concerned it is outright theft, even if the Lindens say it is okay.
_____________________
I LIKE children, I've just never been able to finish a whole one.
Eddie Escher
Builder of things...
Join date: 11 Jul 2003
Posts: 461
02-23-2005 06:21
I agree with Rei and Dev. Should you be able to take the rendering engine and half the texures out of Half-Life2 and put them in your own game? No.
Maybe not the best example to use, but it's the only one that came to mind ;)

I'm working on a gadget at the moment which could take me a long time to make, the prims the scripts reside in will be an integral part of the product, not a hastily made 'container' for the scripts, and I intend to make the scripts involved non-functional if they are transfered into another set of prims. Furthermore there will be a warning in the instructions notecard that says in no uncertain terms that this kind of action voids any warranty (read: it's your own fault if you deliberately break your toys).

We definately need more protection for peoples hard work. Textures included.

Actually, a note about textures: At least three times in the past, I've really wanted to use a texture that I've seen in/on a product or build. I've IM'd the creator of the product/build and offered to pay for the texture. In each case they gave me the texture free of charge to use as I will. It's worth asking people nicely before hacking the shit out of their hard work.
_____________________
Eddie Escher
...apparently 3 out of 4 people make up 75% of the population here...

Eddie Escher Gadgets & Skins: Hotei and Seacliff
Reitsuki Kojima
Witchhunter
Join date: 27 Jan 2004
Posts: 5,328
02-23-2005 06:30
From: Eddie Escher
I agree with Rei and Dev. Should you be able to take the rendering engine and half the texures out of Half-Life2 and put them in your own game? No.
Maybe not the best example to use, but it's the only one that came to mind ;)


Yeah, that particular example is just a tad risky... While some game companies don't approve and imploy teams of rabid lawyers to ensure it doesn't happen, many companies have for the past several years approved of this as long as you were only distributing the modifications, and weren't asking money... The quake/unreal mod scene is a good example of this. In fact many games now provide you with the tools you need to do this up front.

Not all game companies support this, however, as I mentioned.

As always, trying to use real-world examples to support SL concepts is a difficult trick... Because SL is in so many ways fundamentaly different from reality, and not just because it takes place in a computer. The permission system alone completely breaks any notion of reality... In real life, no matter how much I might try, I couldn't keep someone from taking my work of art and spray-painting it flat black, for example.

In line with that school of thought, no-mod should mean exactly that... "no mod". I don't care if you can rip the guts out of your toaster and stick them in your alarm clock, or whatever, in real life. Because SL is not "real life" in that sense.
_____________________
I am myself indifferent honest; but yet I could accuse me of such things that it were better my mother had not borne me: I am very proud, revengeful, ambitious, with more offenses at my beck than I have thoughts to put them in, imagination to give them shape, or time to act them in. What should such fellows as I do crawling between earth and heaven? We are arrant knaves, all; believe none of us.
Jauani Wu
pancake rabbit
Join date: 7 Apr 2003
Posts: 3,835
02-23-2005 06:35
if someone writes a script and it is uncopyable and and the code is inaccessible but they build like a monkey, then i should be allowed to rehouse the script in a nice looking build for my own personal use at my own discretion, and yes, voiding any tech support warranty.

i can not script. but i bought the item with a script. it is one script. i can't make gazillion copies and profit from it (if i wanted to use it in my own items for sale, i would have to buy that original item for every one of my items i intended to sell, so clearly the original maker would be getting a sale on it). for my personal use, what the heck bothers people if i take their flight script or animation script or whatever and put it in an accesory that matches my av?

i am willing to void my warranty to not clash my av with my house! please don't make me hate you :(
_____________________
http://wu-had.blogspot.com/
read my blog

Mecha
Jauani Wu
hero of justice
__________________________________________________
"Oh Jauani, you're terrible." - khamon fate


Jauani Wu
pancake rabbit
Join date: 7 Apr 2003
Posts: 3,835
02-23-2005 06:38
From: Eddie Escher
I agree with Rei and Dev. Should you be able to take the rendering engine and half the texures out of Half-Life2 and put them in your own game? No.
Maybe not the best example to use, but it's the only one that came to mind ;)


eddie, what if i play with this game myself and don't share it commercially? what if sierra themselves released the necessary tools to decomile the files with the textures for the player community to fool around with and make their own stuff?
_____________________
http://wu-had.blogspot.com/
read my blog

Mecha
Jauani Wu
hero of justice
__________________________________________________
"Oh Jauani, you're terrible." - khamon fate


Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
02-23-2005 08:53
From: Unhygienix Gullwing
Well, there is a workaround. This might not fix simple vendors, but all vendors which work from a central server-object are immune to this.
I'm not saying all vendors are susceptible to this bug, just the type of vendor I described. One that needs to rez an example of the object, which people can then buy. This is the ONLY clean way to sell serialized objects. (Objects that are given unique information, like a serial number, when sold.) Many game ideas require this functionality, and right now it is impossible to prevent tampering.


Jauani, what you request is the ability to open up a purchased object, and use its parts for your own projects, but not to sell such derivitives, correct?

This matches the long-standing permissions proposal from the Lindens to have a "wrapper" on all protected objects. You can break the wrapper to remove all protection EXCEPT transferability, which is then removed from all parts of the object so that you can no longer give or sell the pieces to anyone else.

So if you buy a pair of shoes you like but that have a lousy walk animation override in them, you can break the wrapper and get rid of the script. But you can't then sell them.

But even then, some objects need to have iron-clad wrappers that CAN'T be broken. Otherwise, game obejcts can be taken apart, the scripts read, the systems hacked.


But for now, we HAVE to be able to lock the contents of an object. (I'd end that sentence with a ! but I don't want to appear as fanatical about this as I actualy am...)
_____________________
~ Tiger Crossing
~ (Nonsanity)
1 2 3 4 5