The CryoLife Papers – Prims, Clothing, and Stealth
by Alphaville Herald on 02/08/09 at 10:21 am
Pirated content export/import – CyroLife stealth and radar – prim puke
by Junius
a CryoLife user importing ripped prims
In part one, the CryoLife papers documented exporting and pirating avatars. The papers continue with a view into importing stolen content and stealth.
Importing Clothing
Toimport clothing go to file and select “Import Wearable”. Find theclothing item you exported earlier on your hard drive, select it andclick “Open.” In chat you will see “ripping [path to the file] toinventory.” and then it will say “rip completed.” The item will appearin your inventory named for its path on your hard drive (the name mightbe “C:\Users\Alice\Bobskin.xml”, for example). The pirate has fullownership perms on these items now. They can rename the clothes,distribute them, save the textures to their local hard drive orwhatever else they might want to do. The pirate is now both thecreator and owner of the item.
The problem with this process isthat the pirate cannot select more than one file to import at a time. That makes the process slow and tedious. When learning how this systemworks I went out and started pirating things from all over the placejust to get an idea of what works and what does not. It would take mean hour to pirate half a dozen avatars and their attachments. I wouldexport the avatars in public by taking all of their clothing and bodyparts in one go by using the export all function. Then I went to anempty sandbox to rip them into my inventory.
It isn’tdifficult, but ripping to inventory is a tedious process of file >import wearable > click the file name > open, repeat and thenclean up your inventory, rename the files and set the perms foreverything. The difficult part is finding avatars worth taking thetime to pirate. By the way, you can’t restore these files usingEmerald or Second Inventory. The only way I’ve found to restore themis using CryoLife, although you could probably write some kind of .phpscript to modify the .xml files so that other programs will restorethem for you. It would be so much easier to restore them all in bulkusing a program like Second Inventory.
Importing Prims
Toimport a prim go to file and select “Import ObjectXML,” then select thefile you want to import and click “Open”. Chat will say “Rezzing[number] prims……,” then, “Modifing rezzed prims…..,” then,“Import Completed.” If you import a prim as a wearable it will importas a set of eyes.
When you import an object the prims will rezas cubes with the default wood grain texture above your head at first,then they change into the right shapes, link up and then, if it is anattachment, they automatically attach to your avatar.
The larger thelinkset the longer it takes. Sometimes it can take hair up to twominutes to rez 200+ prims and link them.
Sometimes a prim is in thewrong place, but that’s rare. I did get an ownership error once on thehair I was importing, but I haven’t been able to figure out why thathappened. I wasn’t able to track the original down and inspect it. I’m still looking for ways to reliably break Cryo’s import features butI haven’t found anything yet. If it’s saved to the hard drive, so youbasically own it.
One problem for the pirate is that the defaultcube over their head changing shape, moving, linking and replicatingmakes it obvious to everybody present that they are using CryoLife tocopy things, but only if the observer knows how CryoLife works.
Stealthing CryoLife
Hidingthe fact that they are using CryoLife is the most important trick forany serious pirate in Second Life. It isn’t easy. The setting thatreveals CryoLife to client radars is called the channel version, and itis hard coded into the client. The debug settings should be the firstplace you would normally look to change the Client Channel, but itdoesn’t work. Here is a quick rundown of what happens when you try totweak CryoLife in Advanced > Debug settings:
If you changeVersionChannelName to “Second Life Release” it should hide your clientfrom Emerald and other client based radars but it doesn’t. You canalso change this setting in the shortcut to CryoLife by right clickingit, going to properties and in the target field type -channel "SecondLife Release" after the path to the executable. This does not workeither. It will change the name of the client in help > aboutSecondLife, but it won’t change the client channel version thatbroadcasts to other client radars.
To hide the boxes overheadwhile importing prims I thought I could change DefaultObjectTexture toan alpha texture but that does not work. The only way to mask thiswould be to work on an object that extends over your head, covering thearea that will be taken up by the boxes when they rez.
If you setexport_scripts to true, Cryo should export scripts with mod perms whenpossible. It wouldn’t pirate scripts that don’t have mod perms onthem, so most scripts would be safe from Cryo. This function isbroken, though, so it’s a moot point. If you want to copy your ownscripts when you back things up either use notepad or get SecondInventory. upload_copy, upload_mod, and upload_trans shouldchange the perms to open on what you upload automatically but theydon’t.
After you upload an item you can change the perms manually, butyou can’t set them automatically from the debug settings menu. If youwant to set these you have to go to preferences and user settings,which is a tab on the left that only appears in Cryo. Most of the timethe change in preferences does not take effect, but sometimes it does(try a relog after you set them, sometimes that works).
Hiding from Emerald Client Radar
The only way I found to hide from client radars like Emerald is to use the PAR pluginsby LordGregGreg Beck. PAR sets up a local proxy that you can set Cryoto run through by editing the shortcut to it. All you have to do toset it up is install PAR and append -loginuri http://127.0.0.1:8080 tothe end of the target box in the shortcut properties window when youare looking at the properties of your CryoLife shortcut.
CryoLife in radar
Torun it you must first run PAR and then open Cryo. Cryo willautomatically connect through PAR. When you do this your client willappear on the Emerald radar as LGG Proxy and your name will be shown inred. In other Cryo clients your name won’t change color but (Gregproxy) will appear after your name.
PAR is not designed to do this. LordGregGreg put together a great plugin suite, full of fun gadgets andtricks. I really do love using it, even though many of its featuresare now in Emerald. Piracy is not what LordGregGreg had in mind whenhe made it, but as they say, the street finds its own uses for things.
radar when running CryoLife with PAR
Soyou can hide that you are using Cryo with PAR, but you can’t hide yourimporting of objects if there are people around who know what it lookslike when you import. The best way around the import problem is tojust work in empty sandboxes, or better yet, own a private estate withno neighbors and do it there. If the pirate has to rip in front ofpeople they could rez an object that extends over their head where thedefault cubes will appear and make it look like they are working on themasking object.
CryoLife Radar
Thisis the Achilles heel of the program. The CyroLife radar speaks thekeys of the people it picks up in the sim on channel 8281825. Theinformation is region said, so if you are in the same sim as a personwho is running CryoLife you can pick it up. There is a setting tochange this in preferences but it does not work. This chat cannot beturned off by closing the radar or by telling the radar to stop byunchecking update or by unchecking get avatar info. In an empty sim itwill just keep spewing keys that resolve to blank strings. Put thefollowing script in an attachment and wear it. If you ever see thechat scrolling up note the name returned because that person is usingCryo.
default
{
state_entry()
{
llListen(8281825, "", NULL_KEY, "");
}
listen(integer channel, string name, key id, string message)
{
llOwnerSay("Name " + name + "\nMessage " + llKey2Name((key)message));
}
}
Other CryoLife Countermeasures
Ifan object or texture rezzes in the client it is not 100% safe fromcopybot clients. Most of the anti-copybot crap you see on XstreetSL ismade by con artists who have never used a copybot client in theirvirtual lives. They are selling placebo.
Emeraldstops Cryo from pirating the clothing layers by default, but it doesnot protect the skin or shape layers. You can turn this feature off inpreferences > Emerald > Shield tab. Turning that preference offalso stops other clients from being able to see that the user is onEmerald, which is unfortunate. Setting it up like that gives peoplemotivation to turn their clothing layer protection off when all theywant to do is use Emerald without people knowing what client they areusing.
Shop owners, you know what this means: Put up adsencouraging your customers to fight piracy by using Emerald. MakeEmerald trendy, turn it into a symbol of 3117ness and then people willuse it and not want to hide the fact that they are using it. If yourcustomers proudly want to display that they are using Emerald then yourclothes are safe. I’m not trying to do PR work for anybody, butseriously, Emerald works.
A target of a CryoLife pirate can makeit not worth the time to rip the attachments if the target wears alphatextured sculpted prim puke that covers their avatar. For those of youwho haven’t had the pleasure of learning to make sculpties, primpuke is what happens when your sculptie goes terribly wrong. Itappears disfigured with curves and faces all over the place. It lookschaotic.
It is simply not worth the hassle for the Cryo user to camthrough the prim puke to click on the object they want to copy. Whatcan’t be clicked on can’t be copied. There are some nice looking commercially available solutionsthat do this, but if you ask anybody who works with sculpties for someprim puke they’ll probably be happy to give you one of their failures.
Pirating attachments with CryoLife becomes virtually impossibleif the target is wearing a prim puke shield and a fancy AO that keepschanging positions, pacing, shifting weight, etc. If I were a shopowner I would include a prim puke shield and maybe an AO with everypurchase. I wouldn't link it to the attachment you are trying to sellthough, because the pirates can copy the prim puke and everything it islinked to. They just can't copy what is behind it very easily.
prim puke shield
Fromthe pirates perspective prim puke can be used to stop people fromlooking at their pirated attachments so that people can’t speculate asto whether their attachments are pirated or not. Armor works bothways. The important question is: Are you wearing it?
Note thatprim puke does not protect clothing layers, skin or body parts becauseyou can still select the avatar under the prim puke by clicking theirname in the float text over their head. You just cannot easily selectthe attachments under it.
I do foresee in the future it might bepossible for copybot clients being able to pirate all of an avatarsattachments just by clicking on the targets name. The prim pukesolution probably isn’t always going to be 100% effective once the armsrace really gets underway, but for now it works against CryoLife.
Ifyou set up a scanner to detect who is rezzing items and how quicklythey are rezzing those items you could use it to detect CryoLifesuspects. If somebody is constantly rezzing hundreds of prims rapidlyon a constant basis at the exact same point then that person might be aCryo user, or they could be a builder working with complex linksets. Ascript doesn’t know the difference, but if you watch the suspect andinvestigate their activities you might just catch them red handed withdefault wood prim cubes over their head. Congrats, you caught one! Snap a pic and file an AR, for whatever that’s worth. I personallydon’t believe that ARs do anything.
What do I know, though? I’m justanother nobody, a tinkerer. The Lindens don’t give me anything but PRflak.
[inpart 3 of The CryoLife Papers, Junius will cover anti-copybot measures that don't work, how copybot features are added to Second clients, and what this means for the in-world economy - the Editrix ]
Alyx Stoklitsky
Aug 2nd, 2009
>If you set up a scanner to detect who is rezzing items and how quickly they are rezzing those items you could use it to detect CryoLife suspects.
Garbage.
LordGregGreg Back
Aug 2nd, 2009
There is allot more you don’t know about cryo life.
There are back doors in it to allow people to detect you using it, track you, and crash you, whether you use par or not.
Anonymous
Aug 2nd, 2009
Obviously, you dont understand that other client might be using the chat channel feature to make in-world radars less laggy. The function spits out keys of avatars in the sim. Just like in Emerald their is a feature to sent keys to an in-world radar.
LordGregGreg Back
Aug 2nd, 2009
Ugh, and although i highly recommend emerald, it can only protect people taking your own skin. If you are a shop owner, they could always buy it and wear it themself to copy it.
Also, although the prim shield may make it more difficult for this specific client to copybot, its something that can also easily be avoided.
Junius
Aug 2nd, 2009
Alyx: Read the rest of the paragraph. I said you could detect SUSPECTS, not know who they are definitively.
Greg: This is all I found just fiddling with it. I know there is more out there probably, but this is just what I have so far.
Junius
Aug 2nd, 2009
Annonymous: Cryo is the only one I’ve seen that uses this particular channel for its radar.
Greg: I know you are familiar with the client, but unless you post specifics I will have to reject those claims about back doors. If it’s unverifiable it’s speculation and speculation is what we are trying to avoid here. There has already been too much speculation about this kind of thing. Speculation leads to irrationality. We need documentation.
Phox
Aug 3rd, 2009
Like I said, you have no idea how this client works.
You want specifics? Load a typing_stop packet with the string “cryo::ping” and send it to anyone on cryolife, they will automatically reply with their cryo version and exact inworld location.
Junius
Aug 3rd, 2009
Phox: I have been absolutley clear about how much I understand this client. You have not. You know I don’t have the source code for this client. If you do I would suggest you publish it somewhere. If not, I am not inclined to beleive that you have any more to work with than I do, if you even have that.
I looked up typing_stop packets on JIRA: https://jira.secondlife.com/browse/VWR-14490
Apparently, typing_stop is sent to stop other clients from typing after you have muted them. I tried muting cryo and having cryo mute another client and back and forth in IMs and in main and it didn’t have this effect. Can the typing_stop packet be sent from the release client or are you expecting us to beleive that you have some uber 3117 top secret magic beans at your disposal? Somehow, I doubt that. I find no reason to take your warnings seriously. If you can’t be transparent then you are bluffing.
Phox
Aug 3rd, 2009
Look, if you don’t know how to send a typing_stop packet, that’s not my problem, I don’t know where you read that typing_stop is sent to stop people from typing when you mute them… it’s the counterpart to the typing_start packet, which gets sent when you begin typing to make the (Phox is typing…) appear for the other person.
I don’t have the source code, Cryo provided me with his backdoor codes after it got leaked because things were getting out of hand.
There is no top secret magic, simply checkout a copy of the official source, and find the impanel.cpp file, just modify the typing stop packet to contain the message “cryo::ping” and compile a viewer. You don’t need to know any coding to find/replace the “typing” message with “cryo::ping”, any idiot can do it.
I’d be happy to provide a demonstration, feel free to leave me some way to contact you and I will show you in SL how this works.
Of course there are more effective ways to do this, (vLife for example has a box at the top of the IM window to input typing_stop messages) but that is by far the most simple.
I’m not going to be more transparent about this, because some of the backdoors do far worse than simply allow you to track a person down, that kind of knowledge doesn’t need to be public, nor do some of the more advanced features, because LL has a habit of not fixing holes until they’re public, I like things to stay that way.
Phox
Aug 3rd, 2009
http://img193.imageshack.us/i/68189398.jpg/
Here is a response from a cryolife client when you send a cryo::ping packet to them.
If you want to claim this is photoshopped, then I’ll say again (since you seem to like deleting my messages) that I’d be happy to show you that this works, if you’d just leave me some way to contact you.
Your ignorance of how SL functions doesn’t mean that everyone around you is bluffing.
Junius
Aug 4th, 2009
Thanks, Phox! I was wrong about you. Your backdoor works. I am sorry for accusing you of bluffing.
Here is why I accuse people who make claims that I can’t reproduce of bluffing: There are too many weird urban legends built up around programs like cryo. These urban legends fuel the market for fake anti-copybot protection schemes that I wrote about in the article. When I thought about that it was the tipping point where I decided that I need to go public with what I know because people are being taken advantage of. Granted, I don’t know everything, but I hoped to at least start a dialog about it.
I would like to encourage you to publish the backdoor codes to Cryo. I understand that you probably like your anti-cryo toys and all, but anything we can do to help slow down piracy should be done, even if it only helps a few merchants here and there, right? I mean, unless you are one of the people who stand to gain financially from all of this secrecy? I think you’re probably better than that, though.
I would love to give you my in world avatar name, but I use an alias here for a reason. LL might ban me just for writing this article. I tried looking you up, but there are a lot of Phoxes out there. I think we have a mutual friend though, so I’ll be in touch.
BTW, I am not deleting your messages. Pix handles the moderation here.
Kabalyero
Aug 5th, 2009
Is CryoLife a creation of the same cryo person working on Greenlife Emerald? Or are they different avatars/persons? Thank you…
Phox
Aug 5th, 2009
Yes, many of the Emerald developers (including myself) worked on their own or other viewers prior to joining the project.
The Chosen One
Aug 7th, 2009
Vlife is the same exact thing as Cryolife with better programming behind it. Vlife is created originally by jcool410 aka Alias with an implemented import/export system that was designed by Discrete Dreamscape. They both are violations of about every single section of the TOS. Emerald is just a viewer that was built with little everyday functions that came in handy, ie. Phantom.
Advanced>Debug>AgentClothing Set that to false and you will be able to hide your CryoLife tag from anyone around you other than an administrator.
You should just go out to Bug Island and listen to these guys talk, they say this shit freely in open voice chat. Interestingly enough, I would like to know where the screenshots came from of the CryoLife client. I also found it strange that LordGregGreg would actually openly post on something that clearly is in violation of the TOS when his plugins are aimed directly at things outside of violating the TOS.
@RoLaNd@
Phox
Aug 8th, 2009
I don’t see what vLife has to do with this article.
Also Greg can post on whatever he wants, the fact that this article covers a viewer made for copying doesn’t mean the article itself is somehow bad or something to be avoided.
CRYO
Aug 16th, 2009
it is users responsibility if he/she uses it that violates TOS.
people tend to sell thats why it becomes a bad tool. and now standing around using cryo client
dangerous, u’ll get stoned to death by all missinformed people saying ur a bot. that clearly violates
TOS i should report them for saying that i was jst standing around waiting for me to load.
typical…. but then blaah!
Uhhh
Aug 17th, 2009
Where do you get it? Or is it not up anymore?
Love
Aug 31st, 2009
Seriously. Who
does this hostility serve?
Prim puke strategy dont work
Oct 13th, 2009
Prim puke strategy dont work.
With the standard viewer, go to Advanced Mode(Ctrl+Alt+D), then go to Admin Mode(Ctrl+Alt+V , but it is not necessary if you are in a rezz allowed area)
Now, go to Advanced Mode and enable “Hide Selected”
Press the Build Tool button and choose the arrow icon. Click the “shields of prim puke”, them it will dissapear. Click the prim part you want to select to do an inspect or whatever… When you select what you want the “shield” will imediately come back, but now you have passed the “protection”.
Prim Puke is bad
Nov 9th, 2009
Many shop owners ban people for wearing prim puke. This stuff lags servers pretty badly and isn’t that effective.