*.XP is a archive format just like *.zip or *.rar.
The big difference is, we don't know the method used to pack them. I've got no clue whether it's RE or something else, but I know programs like DeMsWz or HaRepacker where made to adapt to one such a file format (like *.XP).
What I know is: there are a few 'common' methods to keep ppls with very basic knowledge (i.e. knowing how to use a hex-editor) away, like
XOR'ing the bytes.
Example:
Line u start with >1000 1110
Key that is used >0110 1101
_________ If XOR'ed it becomes
"Packed" byte> 1110 0011
And to apply this to some hex-bytes, you take in example the value "13 37 9D" and
[Only registered and activated users can see links. Click Here To Register...]into Binary --
Our line would be become in binary:
| 0001 0011 | 0011 0111 | 1001 1101 |. Now I think one needs to read the bytes (i.e. each group of 2) from right to left so it would become:
9D 37 13 >
1001 1101 |0111 0011 |0001 0011 |
Now if it's XORed u take a random 'key-line' and XOR it with that to get it "packed".
And to unpack, u need to find what the file is XOR'ed with- the key (IF it is xor'ed - which is a fairly simple/outdated protection these days)
To find that specific "key" you can use the fact, that a program mostly starts with standard sentences, like "NineDragons Mobs"
Now notice: that would be XORed too! But u probably can see that, and find out what "key" is used it's XOR'ed
And from here I invite someone who's familiar with this to finish it of/correct me where I'm wrong XD
Xorrrrr