SL Protocol Reverse Engineering Team
|
Eddy Stryker
libsecondlife Developer
Join date: 6 Jun 2004
Posts: 353
|
05-10-2006 19:19
From: Over Sleeper Not trying to start any fires, but isn't "Reverse Engineering" ILLEGAL? You might want to check with that Jewelry store before you steal their Jewelry. Make sure it's OK with them and all. Under United States law, reverse engineering a patented item can be infringement; however, if the artifact or process is protected by trade secrets instead of by a patent, then reverse engineering the artifact or process is lawful as long as the artifact or process is obtained legitimately. In fact, one common motivation of reverse engineering is to determine whether a competitor's product infringes on your patents. Reference: http://en.wikipedia.org/wiki/Reverse_engineeringOk... this is the last free legal advice I'll respond to in this thread. It's been pointed out multiple times why this is protected by law, and I can provide you some bedtime reading so you understand why the SL protocol is not a trade secret (hint, it's not actively guarded through legal verbage as explicitly being a trade secret). If you get through all the reading and understand it, you can IM me privately about your concerns in game. http://www.ethereal.com/lists/ethereal-dev/200004/msg00276.htmlhttp://cyber.law.harvard.edu/openlaw/DVD/1201.html (section f) http://en.wikibooks.org/wiki/Reverse_Engineering/Legal_Aspects
|
Phoenix Linden
SL's Angel of Death
Join date: 3 Dec 2002
Posts: 168
|
05-10-2006 19:20
I would like to take this discussion away from our Terms of Service and the question of legality of reverse engineering.
In an effort to provide an increasingly open-ended user experience, we generally welcome inspection of the information we exchange through the service. We also philosophically believe that creating more connectivity points engenders the culture we hope develops throughout the community -- a culture of creativity and innovation that provides a better place for everyone to play and work.
We will not pursue people who are reverse engineering the protocol who are looking to integrate their systems and processes with ours as long as those goals are not to the detriment of Linden Lab and the community at large.
Using information gathered to exploit the system, exploit residents, violate resident privacy or property, or generate disproportionate load will be pursued and will be curtailed in a manner we see fit.
|
Gigs Taggart
The Invisible Hand
Join date: 12 Feb 2006
Posts: 406
|
05-10-2006 20:01
Well thanks Phoenix. That's refreshing to at see someone step up to the plate when a question regarding the TOS arises. Maybe you could head over the the "full perms is an implicit license to resell thread" and clarify there. 
|
Over Sleeper
I Dream in LSL
Join date: 12 Jan 2006
Posts: 141
|
Hell No!
05-10-2006 20:39
From: Phoenix Linden I would like to take this discussion away from our Terms of Service and the question of legality of reverse engineering. In an effort to provide an increasingly open-ended user experience, we generally welcome inspection of the information we exchange through the service. We also philosophically believe that creating more connectivity points engenders the culture we hope develops throughout the community -- a culture of creativity and innovation that provides a better place for everyone to play and work. We will not pursue people who are reverse engineering the protocol who are looking to integrate their systems and processes with ours as long as those goals are not to the detriment of Linden Lab and the community at large. Using information gathered to exploit the system, exploit residents, violate resident privacy or property, or generate disproportionate load will be pursued and will be curtailed in a manner we see fit. How does LL know what anyones true intentions are in "Reverse Engineering" the System? Is LL charing a very large fee for this? If not they SHOULD! Only individuals and organizations that have acquired the knowledge neccessary to perform such tasks and can validate their interest and back it up with some BIG CASH should be allowed to dip their fingers into such a system where MY PERSONAL inormation may be comprimised. No way! Get some cash LL and make their intentions known to ALL of us including WHERE inworld they are operating so we can stay the HELL away from their developments so as not to have our personal data available to them through whatever means they are using to reverse engineer the system.
|
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
|
05-10-2006 20:50
FFS...
I'd guess editing permission is handled server side (if not it should be and this would be good incentive to sort that) so what's the worst that can happen? They could steal a script you wrote or copy an object you made? I've got news for you - you can do that without knowing the protocol details and doing so means you get kicked from SL making that info all but useless.
The advantages of enthusiasts doing this far outweigh any dangers.
|
MadamG Zagato
means business
Join date: 17 Sep 2005
Posts: 1,402
|
05-10-2006 20:59
From: AJ DaSilva FFS... I'd guess editing permission is handled server side (if not it should be and this would be good incentive to sort that) so what's the worst that can happen? They could steal a script you wrote or copy an object you made? I've got news for you - you can do that without knowing the protocol details and doing so means you get kicked from SL making that info all but useless. The advantages of enthusiasts doing this far outweigh any dangers. They could: - Expose all your alts if you piss them off
- Imagine if a certain (unnamed) inividual who's name rhymes with ...well you know... got her hands on some reverse engineering gurus. MY GAWD! I can't even think about that.
- Steal scripts, objects, etc
- Delete scripts objects from the system
- Claim your scripts and objects were their original idea and claim they have never seen you in the whole entire 2nd life
- ...I am starting a new thread....this is pretty funny...but not really.
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
05-10-2006 21:15
I have kept quiet so far, but since LL has posted, I suppose it's ok if I add my two cents. Asset security is a real concern; and has largely been neglected. There are a number of protocal holes that would become public if full specs were published. I have writen a tool that will let the user retrieve scripts from the clients cache that were recently edited (this does not circumvent any permissions). The client must be logged out for this tool to work. There are few bugs in the interface but it works none the less. It requires the .net 2.0 framework. Download: LSLTextExtractor.zip Some day i may fix the interface bugs in the app. I may add support for getting the bytecode (pretty easy to do), if it is in the cache. I will not be writing a more complex viewer.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Over Sleeper
I Dream in LSL
Join date: 12 Jan 2006
Posts: 141
|
Yep, I'm gonna run some strange exe program that was created using RE ?
05-10-2006 21:23
From: Strife Onizuka I have kept quiet so far, but since LL has posted, I suppose it's ok if I add my two cents. Asset security is a real concern; and has largely been neglected. There are a number of protocal holes that would become public if full specs were published. I have writen a tool that will let the user retrieve scripts from the clients cache that were recently edited (this does not circumvent any permissions). The client must be logged out for this tool to work. There are few bugs in the interface but it works none the less. It requires the .net 2.0 framework. Download: LSLTextExtractor.zip Some day i may fix the interface bugs in the app. I may add support for getting the bytecode (pretty easy to do), if it is in the cache. I will not be writing a more complex viewer. What? You are kidding me right? How do I know that this lil widget you linked us to doesn't send you some info from my computer like the scripts from my cache that were recently edited. You reverse engineers might be trying to reverse engineer smething on my PC. How convenient that you would offer us all something to download locally. No thanks. I'll pass. Good luck though. 
|
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
|
05-10-2006 21:25
I dunno, the way I see it, if it's public knowledge then LL will be pressed into fixing the security holes sooner, rather than waiting for someone to find them secretly with the express intention of exploiting them.
|
Adam Zaius
Deus
Join date: 9 Jan 2004
Posts: 1,483
|
05-10-2006 21:34
From: AJ DaSilva I dunno, the way I see it, if it's public knowledge then LL will be pressed into fixing the security holes sooner, rather than waiting for someone to find them secretly with the express intention of exploiting them. Exactly. As I said before - security through obscurity isnt security. I know myself & Reuben have already potentially found something LL might need to look at.
|
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
|
05-10-2006 21:46
From: Over Sleeper What? You are kidding me right? How do I know that this lil widget you linked us to doesn't send you some info from my computer like the scripts from my cache that were recently edited. You reverse engineers might be trying to reverse engineer smething on my PC. How convenient that you would offer us all something to download locally. No thanks. I'll pass. Good luck though.  i would understand your concern if joe scripter posted something like this, but some of the most usefull stuff has come from strife, and its all over the forums besides seeing some of the stuff written by strife, he/she doesnt need your code
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
05-10-2006 21:53
From: Over Sleeper What? You are kidding me right? How do I know that this lil widget you linked us to doesn't send you some info from my computer like the scripts from my cache that were recently edited. You reverse engineers might be trying to reverse engineer smething on my PC. How convenient that you would offer us all something to download locally. No thanks. I'll pass. Good luck though.  You can always decompile it; there are some pretty good .Net decompilers out there. Was writen in VC++.Net BTW if I were really interested in doing evil; don't you think I would have done it already? 
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Over Sleeper
I Dream in LSL
Join date: 12 Jan 2006
Posts: 141
|
05-10-2006 21:59
From: Osgeld Barmy i would understand your concern if joe scripter posted something like this, but some of the most usefull stuff has come from strife, and its all over the forums besides seeing some of the stuff written by strife, he/she doesnt need your code Ah, I didn't take notice of his stature there. I apologize. All this talk of reverse engineering makes me lightheaded.
|
Eddy Stryker
libsecondlife Developer
Join date: 6 Jun 2004
Posts: 353
|
05-10-2006 22:04
From: Strife Onizuka You can always decompile it; there are some pretty good .Net decompilers out there. Was writen in VC++.Net BTW if I were really interested in doing evil; don't you think I would have done it already?  Funny I was just (re)compiling your source when I read this. I guess R.E.'s have a one-track mind in the wrong direction lol. The default setup of .NET Reflector actually decompiled it in to C# code which was interesting.
|
Kyrah Abattoir
cruelty delight
Join date: 4 Jun 2004
Posts: 2,786
|
05-10-2006 23:02
wow sometimes seeing all the panick reverse engineering can create in people's mind is rather funny
good job guys, i wish i had the knowledge to put these informations at work.
_____________________
 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
|
Magnum Serpentine
Registered User
Join date: 20 Nov 2003
Posts: 1,811
|
05-10-2006 23:02
From: Reuben Stein There isn't a real proper forum for this, so apologies in advance since this is not directly related to LSL scripting but I'm hoping to capture the right target audience.
Right now there are less than a dozen people in Second Life who have working knowledge of some or most of the Second Life protocol and even fewer who have working implementations in code for portions of it. Linden support is increasing as the homebrew clients can pass their own identifier at the login stage, but getting any good official information comes down to catching the right person at the right time.
I've been putting in my own share of work on a reverse engineering endeavour lately, but there are a lot of different fields in each type of packet and different data storage types to solve, so I think putting more eyes on the problem will speed things up a lot. Also, I've seen people putting prices on protocol information for resale. It would be like someone discovering a secret LSL function and only people who pay the price of find it out themselves can improve their work with it.
A wiki has been started, and any contributions to it are covered under the GNU Free Documentation License. Any work you put in will not be hijacked and resold, it will become public knowledge. Right now it's mainly a sandbox for analysis and discussion, but I hope it will grow into an up-to-date spec sheet for the protocol, similar to what the LSL Wiki is for LSL (but better! hehe). You can be assigned full credit for all of your contributions or remain completely anonymous if you wish.
Right now the "team" consists of myself, a few people getting up to speed with the tools, and a few angel voices that are significantly further along than myself lending advice. If you want to contribute to the project send me an IM in game. One stipulation to working on the project is that any derivative work based on this research must be protected under the SL TOS section 4.1 and DMCA section 1201(f) exemptions that this research falls under. The work is difficult enough without wandering outside the legal safe zone. I believe your actions are highly Illegal and I think you all need to stop at once.
|
Aodhan McDunnough
Gearhead
Join date: 29 Mar 2006
Posts: 1,518
|
05-10-2006 23:09
From: Adam Zaius Security through obscurity is not security at all. If there are problems that can be exposed by publishing the protocol, then those problems can be exploited by anyone. True, but why make it easier for the griefers? If you do find security holes ... transact privately with LL. Don't publish.
|
Adam Zaius
Deus
Join date: 9 Jan 2004
Posts: 1,483
|
05-10-2006 23:19
From: Aodhan McDunnough True, but why make it easier for the griefers? If you do find security holes ... transact privately with LL. Don't publish. I agree, the responsible thing to do is to let LL know of any holes we find, let them patch them privately.
|
Reuben Stein
Registered User
Join date: 21 Apr 2006
Posts: 5
|
05-10-2006 23:21
To the researchers: This thread is done. Abandon it quickly before your head explodes. When it's useful to do so we'll report back progress on these forums, and the post will begin with Phoenix Linden's quote.
My only remaining commentary is how can someone be so sure that the LL protocol is chock full of holes ready to be exploited, but at the same time feel perfectly fine that the only people trying to find these holes are malicious coders working in secret?
|
Magnum Serpentine
Registered User
Join date: 20 Nov 2003
Posts: 1,811
|
05-10-2006 23:22
From: Phoenix Linden I would like to take this discussion away from our Terms of Service and the question of legality of reverse engineering.
In an effort to provide an increasingly open-ended user experience, we generally welcome inspection of the information we exchange through the service. We also philosophically believe that creating more connectivity points engenders the culture we hope develops throughout the community -- a culture of creativity and innovation that provides a better place for everyone to play and work.
We will not pursue people who are reverse engineering the protocol who are looking to integrate their systems and processes with ours as long as those goals are not to the detriment of Linden Lab and the community at large.
Using information gathered to exploit the system, exploit residents, violate resident privacy or property, or generate disproportionate load will be pursued and will be curtailed in a manner we see fit. Post deleated
|
Dyne Talamasca
Noneuclidean Love Polygon
Join date: 9 Oct 2005
Posts: 436
|
05-10-2006 23:26
From: Magnum Serpentine I believe this is the absolute wrong thing to do Linden Labs. You need to ban everyone of this team who has reversed Engineered SL 
|
Reuben Stein
Registered User
Join date: 21 Apr 2006
Posts: 5
|
05-10-2006 23:47
From: Magnum Serpentine I believe this is the absolute wrong thing to do Linden Labs. You need to ban everyone of this team who has reversed Engineered SL Ok... and until then, can you create your own thread for this?
|
Magnum Serpentine
Registered User
Join date: 20 Nov 2003
Posts: 1,811
|
05-10-2006 23:55
I removed my post. Just want you to know that there are many many people who are very unhappy with this project.
|
ed44 Gupte
Explorer (Retired)
Join date: 7 Oct 2005
Posts: 638
|
Let's calm down and look at reality!
05-11-2006 00:05
Strife Onizuka wrote: From: someone I have writen a tool that will let the user retrieve scripts from the clients cache that were recently edited (this does not circumvent any permissions). The client must be logged out for this tool to work.
Strife, I am surprised at you! Of course you can see code in your buffers because you write so much of it (so very well). But it is only your code. All scripts are stored on the asset server and executed on the sim server! It only comes to your pc while you are writing it or if you inspect an object with script perms. I re-iterate what I said before: Anything important is done on the sim server. Scripts come nowhere near your client. This is why LL are quite happy for us to improve the client. There is the argument that once having re-engineered the client, it will be easy to reverse engineer the server sim. Please take my word for it that the client has less than 1% of the complexity of the server. LL has a huge advantage over any prospective competitors by having largely solved the problems of running a huge server centred 3D sim grid and asset server. LL's biggest problem will be to preserve the security of their server software against their own employees, and that is definitely not our problem. Any leakage of the server code is much more likely to damage security than even a complete exposure of the client. Again, I wholeheartedly support this project and admire Phoenix Linden's attitude as progressive. My prediction will be that absolutely no one will be forced to use any alternate client, but that in the far future there may be some real advantages in doing so. Ed
|
Kris Ritter
paradoxical embolism
Join date: 31 Oct 2003
Posts: 6,627
|
05-11-2006 00:09
From: Magnum Serpentine I removed my post. Just want you to know that there are many many people who are very unhappy with this project. Just for clarification.... is there ANYTHING related to Second Life you're actually happy about ever, even for a brief moment in time? Other than when you get to bitch about something like this, obviously.
|