Shoutbox

Using UIBs in a skin - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Skinning (/forumdisplay.php?fid=41)
+----- Thread: Using UIBs in a skin (/showthread.php?tid=90654)

Using UIBs in a skin by ryxdp on 05-16-2009 at 02:29 AM

I checked the documentation and there's no mention of being able to replace actual re-encoded UIB files in skins. Do I just have to reference the same file for both Style and Definition, or is it just impossible?


RE: Using UIBs in a skin by blessedguy on 05-16-2009 at 05:17 PM

quote:
Originally posted by ryxdp
I checked the documentation and there's no mention of being able to replace actual re-encoded UIB files in skins. Do I just have to reference the same file for both Style and Definition, or is it just impossible?
Just refer to both style and definition, you won't use uib in skinning =)
RE: RE: Using UIBs in a skin by ryxdp on 05-16-2009 at 10:53 PM

quote:
Originally posted by blessedguy
quote:
Originally posted by ryxdp
I checked the documentation and there's no mention of being able to replace actual re-encoded UIB files in skins. Do I just have to reference the same file for both Style and Definition, or is it just impossible?
Just refer to both style and definition, you won't use uib in skinning =)

Well, that makes the MPTools convertor kinda useless ^o) plus if you use UIBs in a skin it'll save space. I wanted to use UIBs to make my skins a bit more tidy, but oh well :/
RE: Using UIBs in a skin by blessedguy on 05-16-2009 at 10:56 PM

MPTools is, among others, to encode and decode UIBs so that you can make your own add on =P, plus you don't need to use all styles and all definitions, only the ones you'll use =)


RE: RE: Using UIBs in a skin by ryxdp on 05-16-2009 at 11:13 PM

quote:
Originally posted by blessedguy
plus you don't need to use all styles and all definitions, only the ones you'll use =)

Yes, but it's a well known fact here that just replacing a window's style or definition will slow down the skin's performance :P
RE: RE: RE: Using UIBs in a skin by Patchou on 05-19-2009 at 04:20 AM

quote:
Originally posted by ryxdp
Yes, but it's a well known fact here that just replacing a window's style or definition will slow down the skin's performance :P
Really? unless you know of a test scenario that reproduces the problem, I have to say I doubt it. I did a lot of efforts in optimizing the decoding/encoding of UIB files. On a decent computer, it takes a tenth of a second to encode a file and it's done only once, then the result is cached into memory :)
RE: RE: RE: RE: Using UIBs in a skin by ryxdp on 05-19-2009 at 10:13 AM

quote:
Originally posted by Patchou

Really? unless you know of a test scenario that reproduces the problem, I have to say I doubt it. I did a lot of efforts in optimizing the decoding/encoding of UIB files. On a decent computer, it takes a tenth of a second to encode a file and it's done only once, then the result is cached into memory :)

quote:
Originally posted by Skinning Documentation
...when a skin is loaded, if either a definition file or a style file is missing for one window, Messenger Plus! decodes the internal UIB data to generate the missing piece before re-encoding the whole thing. It slows things down a little but this way, nothing needs to be changed in the way you're used to write your skins.

I understand that this is a very small amount of time, but still, it would be nice to only need to include just one file, even if you have both files present. For example if you modified all 59 windows, it would take about six seconds longer for Messenger to load according to what you've said. Of course, I also see that hardly anyone would need to do this (take Willz's current skins, which modify only about 35-40 windows) but it would still be a considerable amount of time wasted just by encoding these files.
RE: Using UIBs in a skin by blessedguy on 05-19-2009 at 10:48 PM

Hey, it's a supposed 6 seconds (or shorter) time, once in a skin's use. Normally, people won't even notice it, as they'd only click the icon and do anyother thing while Messenger doesn't load.
Take it easy =)

It's a fraction of a second, according to patchou's next post, so don't worry.


RE: Using UIBs in a skin by Patchou on 05-20-2009 at 10:48 PM

I toyed with the idea of allowing pre-compiled files to be bundled but decided the encoder was fast enough to avoid the need for it (and keep things more simple to everybody).

Note that as far as loading 59 windows is concerned, it doesn't work this way. Messenger Plus! creates the UIB data only when the window is displayed by Messenger. That means that only one window is loaded/encoded at a time, making the whole thing completely transparent.


RE: RE: Using UIBs in a skin by ryxdp on 05-21-2009 at 06:06 AM

quote:
Originally posted by Patchou
I toyed with the idea of allowing pre-compiled files to be bundled but decided the encoder was fast enough to avoid the need for it (and keep things more simple to everybody).

Note that as far as loading 59 windows is concerned, it doesn't work this way. Messenger Plus! creates the UIB data only when the window is displayed by Messenger. That means that only one window is loaded/encoded at a time, making the whole thing completely transparent.

Alright then, thanks :P I just thought it may have made skin ripping that little bit harder to do, due to all the decoding and re-encoding just to change a single picture or something.
RE: Using UIBs in a skin by Patchou on 05-21-2009 at 09:06 PM

Well, you have a point here. I could make that an option to try and make it more difficult to decode the skins for beginners.


RE: Using UIBs in a skin by robert_dll on 05-21-2009 at 09:13 PM

quote:
Originally posted by Patchou
and make it more difficult to decode the skins for beginners.
Specially for those who change the author name or something else and go everywhere telling they made it. I think they won't like to read the documentation just for that.
RE: RE: Using UIBs in a skin by Willz on 05-22-2009 at 01:50 AM

quote:
Originally posted by Patchou
Well, you have a point here. I could make that an option to try and make it more difficult to decode the skins for beginners.

Well I did suggest you make it so Plus doesn't extract the contents of a plsk a while ago :P That would also help a tiny bit. Though there's only so much you can do anyway, I'm sure someone persistent enough could decode the UIB anyway.
RE: RE: RE: Using UIBs in a skin by TheSteve on 05-22-2009 at 08:25 AM

quote:
Originally posted by Willz
I'm sure someone persistent enough could decode the UIB anyway.
Yeah, since there is a documented tool to encode and decode the UIBs, it would just be a matter of extracting the UIBs from the plsk and manually decoding them from the command line.  Every annoying step helps prevent theft though. :)
RE: Using UIBs in a skin by blessedguy on 05-22-2009 at 06:05 PM

quote:
Originally posted by TheSteve
Every annoying step helps prevent theft though. :)
Sure =)
Still it would be nice if there was a tool wich could make all skin's files  request a password to be modified....
RE: Using UIBs in a skin by Patchou on 05-23-2009 at 04:22 PM

My main issue with this is that we're talking about obfuscation. Once I start taking this path, there will never be an end to it and I don't want some develoeprs to think what they did is secure, encrypted and unhackable.

The real question would be: so far, has it been a real problem for skin (or script) developers. I understand some people will edit your skin, change your background picture and post it in their blog sometimes. But as far as I see it, 99% of people download their scripts and skins from the Plus! site and we have MenthiX there who makes sure everything stays clean.

This is an open discussion, I'd like to understand what you would expect to change if I was starting to add this kind of protection feature.


RE: Using UIBs in a skin by blessedguy on 05-23-2009 at 04:41 PM

quote:
Originally posted by Patchou
This is an open discussion, I'd like to understand what you would expect to change if I was starting to add this kind of protection feature.
The "if" is already a gorgeous beggining =P
Anyways, something to protect our work while still letting others seeing it. Like as if there could be a way to only see/edit those files through a Plus! window or tool.
RE: RE: Using UIBs in a skin by Willz on 05-25-2009 at 01:57 AM

quote:
Originally posted by Patchou
My main issue with this is that we're talking about obfuscation. Once I start taking this path, there will never be an end to it and I don't want some develoeprs to think what they did is secure, encrypted and unhackable.

The thing is the people that are most likely to take a skin and just edit 1 or two images and re-release it as their own are the people that look for the easy way out. The first thing they look for is the images directory and at the moment its in plain sight. I'm sure Menthix will be able to back me up here, because the majority of rips that happen don't even touch the UIFiles at all.

By not extracting the contents of the plsk, at least it helps because those kind of people who will just look and go "oh no images, meh oh well" and just move on. The people who actually take the time to extract everything and go through the files are most likely the ones that just want to apply a personal modification for private use or learn from the code.

I know its virtually impossible to make something that's unhackable, but at least by slowing down those lazy people it will help stop.
RE: Using UIBs in a skin by Menthix on 05-26-2009 at 06:19 PM

quote:
Originally posted by Willz
I'm sure Menthix will be able to back me up here, because the majority of rips that happen don't even touch the UIFiles at all.
For example: Menthix's reply to x-men origin wolverine skin plus 2009. After that post I got several more rips based on that one, just replacing images.

But I'm not sure if not extracting the skins will really make a difference. If people need to compress their skins to make a package, people will also know how to decompress existing packages. The flood of rips I linked to seems to originate from a "tutorial", which is in fact directly a rip of an early version of Ryddyck's Windows 7 Skin. It only takes 1 tutorial/post on a popular site describing how to bypass whatever obfuscation is put in place, and people are back to ripping as usual.

If using encoded UIBs or no unpacking are easy changes, sure, it may help a bit. But I rather see energy put in to making the skinning engine better and making it easier for people to learn skinning. That includes proper tutorials which will actually teach people what they're doing instead of showing them how to replace images. I can add new tutorials on the site and promote them.