Checking for CopyBot
|
Harleen Gretzky
Registered User
Join date: 27 Oct 2005
Posts: 51
|
11-14-2006 10:35
Here is a simple script to check if someone has used CopyBot on one of your objects, don't know if it actually works since I don't have CopyBot, but from my understanding of it the creator is changed to the Bot. key Original_Creator = "<insert your key here>"; //Put your avatar key here key CopyBot; key Query_ID;
check_if_copybotted() { //Get object's current creator CopyBot = llGetCreator(); //Check if it is the original creator if (CopyBot != Original_Creator) { llOwnerSay(llGetObjectName() + " has been copied and stolen and will be deleted."); llInstantMessage(Original_Creator, "Key: " + (string)CopyBot + " copied your " + llGetObjectName()); //Get the CopyBot's name Query_ID = llRequestAgentData(CopyBot, DATA_NAME); } }
default { state_entry() { check_if_copybotted(); }
on_rez(integer start_param) { check_if_copybotted(); } dataserver(key queryid, string data) { if (queryid == Query_ID) { llOwnerSay("Please Abuse Report " + data + " for stealing this from the original creator."); llInstantMessage(Original_Creator, llGetObjectName() + " was stolen by " + data); //Delete this object llDie(); } } }
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
11-14-2006 10:41
That code seems quite logical, but my understanding is that CopyBot cannot copy scripts, so it will not work. If I understand all of this correctly, CopyBot is not much different than some of the scripts that were floating around a while back: It can copy the prims and textures, which is bad enough, but does not in fact do a deep copy with contents and scripts which would be a great deal worse. If I do not understand correctly, and CopyBot can indeed copy scripts and object contents, then something like what you propose will suddenly become quite pervasive, I would think.
|
Sexy Partridge
Registered User
Join date: 5 Feb 2005
Posts: 208
|
what is this suppose to do?
11-14-2006 10:45
Ok is this another con job? I went and put down a prim and put the script in an object and this is what I got.
[10:42] Object: Object has been copied and stolen and will be deleted. [10:42] Object: Please Abuse Report Sexy Partridge for stealing this from the original creator.
|
Xtreme Overdrive
New Breed Of Hero
Join date: 31 Mar 2006
Posts: 19
|
11-14-2006 11:00
No. You need to stick your UUID where it says <insert your key here>.
|
Sexy Partridge
Registered User
Join date: 5 Feb 2005
Posts: 208
|
ok now feeling like a newbie 
11-14-2006 11:03
How do I get my key?
|
Ayrn Wake
Registered User
Join date: 7 Jan 2006
Posts: 39
|
11-14-2006 11:04
CopyBots (at this point in time) have a kill command, if you IM it the message "!quit" it will log off. However, detecting a copybot is difficult, as to SL its just another user. Everything that happens on the copybot is client end, including the cloning of objects.
And as for the cloning, it doesn't actually copy or take the objects. It rebuilds them completely, by rezzing new prims and setting the parameters (which the client would usually recieve to draw the objects on screen). These then get linked, attached, etc. The theft of textures however is quite real, as it uses their UUIDs to retexture the object, so you might be able to watermark though.
Theft of body stuff (shape, skin, clothes) is not permanent - its merely morphing its existing framework and will be reset from server on a relog, though I could forsee in the future it being built upon to save the stuff.
Therefore, attachments that are copied are only copied if they were visable to the bot (ie, HUD attachments don't get copied, nor to the attachments' inventories, such as scripts). These copies are complete rebuilds, and as such show the bot as their creator, and are full perm.
If you wish to hinder the efforts of a copy bot, a few things I suggest:
1. IM it the message "!quit", in the current versions this will log off the copy bot.
2. IM the message "!avatar <target>", where <target> is the first and last name of another person near by (might even work on the bot itself). This will cause the bot to switch its copying to another person, breaking its current copy if in progress (but also producing 'untouchable' prims, that crash people when they right click them).
3. Wear a title with unicode characters in it. In the original opensource one, if the bot logged into an area around someone with unicode in their title, the bot would fail to function. The actual extent of this bug is unknown, but might prevent it from copying your appearance.
4. Avoid wearing attachments that you don't want copied until the issue is dealt with. Scripted attachments are fine (they'll just get the container object, not its contents), but this is best done at user's discression.
5. Attack or orbit the bot. These bots have very little control - cannot sit, cannot move at will, etc. If you see one, get it away from you and its harmless.
6. Create dummy attachments that take up large numbers of prims, then hang around in parcels where the prim count is low. The bot will be unable to rez the prims to copy, or if it can, it'll be slowed down due to the number it has to create.
Aaanyways, just a few ideas. Something really needs to be done about this though, else a LOT of developers are just going to drop out of SL.
|
Nyoko Salome
kittytailmeowmeow
Join date: 18 Jul 2005
Posts: 1,378
|
11-14-2006 11:05
From: Sexy Partridge Ok is this another con job? I went and put down a prim and put the script in an object and this is what I got.
[10:42] Object: Object has been copied and stolen and will be deleted. [10:42] Object: Please Abuse Report Sexy Partridge for stealing this from the original creator.
did you put your avi's key into the first line of the script, where it asks for it??
this looks like a genious little protection measure i may start using, even if copybot doesn't do script/deep copies - just looks like good protection from casual script-thieving. 
_____________________
 Nyoko's Bodyoils @ Nyoko's Wears http://slurl.com/secondlife/Centaur/126/251/734/ http://home.comcast.net/~nyoko.salome2/nyokosWears/index.html "i don't spend nearly enough time on the holodeck. i should go there more often and relax." - deanna troi
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
11-14-2006 11:08
Yes except that all anyone has to do is change thier copybot to only except IM's from them
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
Jeremy Bender
anachronistic iconoclast
Join date: 12 Aug 2006
Posts: 99
|
11-14-2006 11:09
From: Nyoko Salome ...this looks like a genious little protection measure i may start using, even if copybot doesn't do script/deep copies - just looks like good protection from casual script-thieving.  If all this script does is check that the creator hasn't been changed to the Bot's name, how is it any different from just using the objects tab on your land to see if all the objects are actually created by you? Shouldn't "CopyBot" just show up on that list if some of the objects have been changed?
|
Harleen Gretzky
Registered User
Join date: 27 Oct 2005
Posts: 51
|
11-14-2006 11:17
From: Jeremy Bender If all this script does is check that the creator hasn't been changed to the Bot's name, how is it any different from just using the objects tab on your land to see if all the objects are actually created by you? Shouldn't "CopyBot" just show up on that list if some of the objects have been changed? Yes, but this was more intended for objects bought that have been copied
|
Harleen Gretzky
Registered User
Join date: 27 Oct 2005
Posts: 51
|
11-14-2006 11:21
From: RobbyRacoon Olmstead That code seems quite logical, but my understanding is that CopyBot cannot copy scripts, so it will not work. If I understand all of this correctly, CopyBot is not much different than some of the scripts that were floating around a while back: It can copy the prims and textures, which is bad enough, but does not in fact do a deep copy with contents and scripts which would be a great deal worse. If I do not understand correctly, and CopyBot can indeed copy scripts and object contents, then something like what you propose will suddenly become quite pervasive, I would think. My understanding is that scripts are copied but without full perms. This is from the CopyBot FAQ, but it is a little contradictory: ~Will this copy scripts and contents? No, this product does not copy the scripts inside prims. It DOES create exact copies of the originals though
|
Harleen Gretzky
Registered User
Join date: 27 Oct 2005
Posts: 51
|
11-14-2006 11:30
From: Sexy Partridge How do I get my key? Something like this will give you your key: default { state_entry() { llOwnerSay("Your key is: " + (string)llGetOwner()); } //Or in a touch touch_start(integer num_touches) { llOwnerSay(llDetectedName(0) + " key is: " + (string)llDetectedKey(0)); }
}
|
Sexy Partridge
Registered User
Join date: 5 Feb 2005
Posts: 208
|
thanks
11-14-2006 11:42
Thanks
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
11-14-2006 12:02
Can it apply textures that it doesn't own to an object? I'm under the impression that permissions on textures should still apply (they do to scripts at list), so if it fetches the textures from your object, it can't apply them to the copy. Though I doubt it'll be long till that functionality is added since it isn't too hard to rip a texture and upload it yourself 
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
11-14-2006 12:10
From: Harleen Gretzky My understanding is that scripts are copied but without full perms. This is from the CopyBot FAQ, but it is a little contradictory: ~Will this copy scripts and contents? No, this product does not copy the scripts inside prims. It DOES create exact copies of the originals though Can you point me to the CopyBot FAQ? I am guessing how it works based on my experience as a professional software developer, not on actually having seen it work or seen the code. It is my guess that the FAQ meant that CopyBot produces exact *physical* copies (meaning just copies the prim size, rot, cut, etc), not exact copies including all contents. Somebody somewhere actually knows this and has probably posted it, but it's hidden among all of the FUD posts rather than being available in one easy to find place 
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
11-14-2006 12:15
There are a couple of posts in the Linden blog thread that touch on this. It seems the copybot intercepts packets sent to the client. So that includes object geometry and textures (I think). Scripts apparently aren't sent, neither the bytecode nor the source, so they should be safe (I think). I don't see why inventory items would be sent either, unless someone opens up an object's inventory to look at it, and even then, they should only get the references/handles, not the data for the actual objects.
But, yes, I'd like to see the FAQ as well.
|
Kalel Venkman
Citizen
Join date: 10 Mar 2006
Posts: 587
|
11-14-2006 12:47
From what I've read, the CopyBot intercepts the draw instructions from the server as to what textures, body shapes and prims to draw. Since you can't draw a script, CopyBot can't copy them. It also can't peek into your inventory and copy its contents, or copy the contents of the prims it sees. It can only mimic the shell, not its insides.
From what I've seen in practical demonstrations, it's also incapable (currently) of copying flex prims, which probably means it's not getting other special attributes of prims either, like light emission, sound emission, or particle emission. It can't create a version of your clothes themselves that can be saved and re-used on the next login, either, so it can't steal your clothes, only your attachments, and only the prims and textures of your attachments, not the scripts.
Granted, this still leaves a lot, but it's an imperfect, incomplete process.
|
Harleen Gretzky
Registered User
Join date: 27 Oct 2005
Posts: 51
|
11-14-2006 13:02
From: RobbyRacoon Olmstead Can you point me to the CopyBot FAQ? I am guessing how it works based on my experience as a professional software developer, not on actually having seen it work or seen the code. It is my guess that the FAQ meant that CopyBot produces exact *physical* copies (meaning just copies the prim size, rot, cut, etc), not exact copies including all contents. Somebody somewhere actually knows this and has probably posted it, but it's hidden among all of the FUD posts rather than being available in one easy to find place  I got it at the store in Manitoba (39, 216, 65). But here it is: ~You're a horrible person, how could you ruin SL like this!? This program has it's downside, like all items. If you believe your content you created has been stolen using this, please file a DMCA report at http://secondlife.com/corporate/dmca.php ~Wow! Can I use this to copy other's prims? Yes, as long as you ask them for their permission. DO NOT use this for illegal texture and prim theft. LL DOES and WILL act on all DMCA reports against people. ~Do I have to import textures? No, this item autogenerates the objects in seconds and links them for you. It is already textured as it generates them. It also makes your alt (the bot) as the creator of the full permissioned prims. ~Will this copy scripts and contents? No, this product does not copy the scripts inside prims. It DOES create exact copies of the originals though ~Does it work on AVs? Yes, this product copies a whole Avatar that has consent from you. If you believe your content you created has been stolen using this, please file a DMCA report at http://secondlife.com/corporate/dmca.php After you relog, all clothing, shapes, and skins are reverted to the default, only the attachments are left. Quick Links: http://blog.secondlife.com/2006/11/13/copyrights-and-content-creation-in-second-life/http://secondlife.com/corporate/dmca.php
|
Nyoko Salome
kittytailmeowmeow
Join date: 18 Jul 2005
Posts: 1,378
|
11-14-2006 14:55
From: Jeremy Bender If all this script does is check that the creator hasn't been changed to the Bot's name, how is it any different from just using the objects tab on your land to see if all the objects are actually created by you? Shouldn't "CopyBot" just show up on that list if some of the objects have been changed? i don't quite follow your question, jeremy - but specifically regarding copybot, the script wouldn't provide any alert or protection, as copybot wouldn't get the script anyways... and the newly generated prims it makes will register the copier as the creator. i was considering the usefulness of the creator-check as prevention for other hacks/bugs/thieving of scripts...
the 'im spammer' script mentioned in another thread seems maybe so far the only way to keep a copybot-ter away... but this is all new to me today...
_____________________
 Nyoko's Bodyoils @ Nyoko's Wears http://slurl.com/secondlife/Centaur/126/251/734/ http://home.comcast.net/~nyoko.salome2/nyokosWears/index.html "i don't spend nearly enough time on the holodeck. i should go there more often and relax." - deanna troi
|
Usagi Musashi
UM ™®
Join date: 24 Oct 2004
Posts: 6,083
|
Its Been Banned
11-14-2006 16:00
CopyBot is now past ! Thank you LLabs for banned this pain in the tail creation! 
|
Malakh Giles
Avilion Co-Owner
Join date: 27 Nov 2005
Posts: 60
|
Note to self - read forums first:
11-14-2006 23:37
lol, just got done scripting almost the exact same thing the original poster showed, except slightly different. I'll post my code here for people to look over and perhaps use. I am not that great of a scripter, but my main wares I sell are attached objects. Since you cannot delete an attached object directly, you have to first detach it. So my code is a little different in that respect. I commented it out the best I could. You will need to use a tool to find your UUID key, and then place it in the designated field. I don't guarantee this will work or do anything besides making more script lag, but at least we are trying to find a resolution to the matter since it seems the Lindens won't have a good fix for a few months. Feel free to disect this and make it better. // COPYBOT PROTECTION // Written by Malakh Giles - 11/14/06 // Open Source, distribute and beat this thing! // Please leave this header intact! // I don't guarantee this will work in anyway, but perhaps // it will give a more knowledgable programmer a head // start on stopping the Copybot. I will not be held // responsible for use of this code, nor can I provide // support. This is all I can do and I hope it helps. // INSTRUCTIONS: Use the "GetKey" device to find out your UUID. // In the "CREATOR UUID KEY" area of this script, copy // and paste your UUID key. Place this script into the // prim items you own to prevent them from being stolen! //================= // CREATOR UUID KEY //================= key creator = "ENTER KEY HERE"; //================= key owner; // Stores Owners UUID integer perms; // Stores Permission data default { state_entry() { owner = llGetOwner(); // Get the Owners UUID llRequestPermissions(llGetOwner(), PERMISSION_ATTACH); // Request Attach Permissions llRequestAgentData(llGetCreator(), DATA_NAME); // Request the Name of the object's creator } // The following is used to determine if the creator of the item is legit. dataserver(key queryid, string data) { string owner_name = llKey2Name(llGetOwner()); // Get the Owners name if(owner_name == data) // Determine if the Owner and Creator's names are the same. { if(owner != creator) // If they are the same and the UUID keys don't match... { perms = llGetPermissions(); // Make sure we have permissions... if(llGetAttached() != 0) // Check if we are attached. { llDetachFromAvatar(); // Detach from the avatar. llDie(); // Delete Object } else // We aren't attached. { llDie(); // Delete Object } } } } } // Hope this works... You can use this following code to get your UUID key. Just stick it in a prim and touch it. default { state_entry() { llSetText("GetKey",<1.0,1.0,1.0>,1.0); } touch_start(integer total_number) { llOwnerSay("Your ID number is: " + (string)llGetOwner()); } } Best regards - Malakh
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
11-14-2006 23:56
From: Usagi Musashi CopyBot is now past ! Thank you LLabs for banned this pain in the tail creation!  ROFL, you really think LL banning it is going to make the slightest difference?
|
Seigmancer Nino
Builder, Engineer
Join date: 24 May 2005
Posts: 150
|
11-15-2006 00:27
From: Usagi Musashi CopyBot is now past ! Thank you LLabs for banned this pain in the tail creation!  Don't know where you heard that. It has not been banned. It is simply a TOS violation to copy now. They did not remove it from the database, hundreds if not thousands of people still have the item or are able to get it. LL is too passive on these things.
|
Usagi Musashi
UM ™®
Join date: 24 Oct 2004
Posts: 6,083
|
11-15-2006 00:36
From: Newgate Ludd ROFL, you really think LL banning it is going to make the slightest difference? I suppose not.........Its pure crazyness out there at the moment with no end insight
|
Usagi Musashi
UM ™®
Join date: 24 Oct 2004
Posts: 6,083
|
11-15-2006 00:37
From: Seigmancer Nino Don't know where you heard that. It has not been banned. It is simply a TOS violation to copy now.
They did not remove it from the database, hundreds if not thousands of people still have the item or are able to get it.
LL is too passive on these things. Thats is sad .........I went to a shop after shop all are closed........Isthere a end to this maddness
|