VX Heaven

Library Collection Sources Engines Constructors Simulators Utilities Links Forum
[Previous] [Index] [Next]

YuP'z Shitty Packing Engine

Author: YuP

1.Intro - a way to heaven

YSPE is a shitty compresor engine. As you should know already. It can pack every file ;) but the ratio can be low 0% ... blah, but who cares. I desinged it for my own purposes, i'm proud of it, so try to understand my idea - respect for respect.

2.Algo - realy easy

In this part i will try to describe the "engine". Everybody know that we shouldn't repeat words when we are writing to someone (for example). So as you can see some filez have a lot of repeatz - reloc section when it's clear have a lot of byte repeatz. My idea is to change this huge byte shit to a specific string - that is the compression engine!

        For example:
        [original file body]: 2222222222222 999999999999 A
                              |           | |          | |
                              +-----------+ +----------+ +-[C]
                              |             |
                   13 repeatz-+             +12 repeatz 

As you can see we have 13 repeatz in point [A] and 12 repeatz in point [B], the [C] point will be unchanged. We can pack point [A] and [B] by replacing the string to "" where "" are markers of START and END.

From the other hand we have a small problem with string - we must remember that we couldn't make it giant. I found solution for this: You know that highest ascii value is 255, and highest byte is 255 (wow! ;p). So if our counter will be 255 we can use the 255 ascii value (one character not 3 - if we put 255 as number (itoa - or sth like this)). Sample, if we have sample byte repeated 256 timez we can write it as: "^A". Where:

''(ascii value=255) + '^A'(ascii value=1) = 256 - do you catch it!? 2 [(^A) bytez, not 3 (256)]. This difference will be more visible when we will have more byte repeatz (we must take care of size).

Example: one block from "MessageBoxA Program" reloc section:

       0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
       00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................

This zer0z can be packed of course! We have a lot of them not only in reloc section.

When we strip reloc section file deincrease from 4,00kb application to about 2,00kb file. (LOOK THE TEST_APENDIX!)

I don't know that someone find this useful, it's very lame, but what i can say it w0rx! realy w0rx! It can be remaked, you can add inside of packer some crypting engine with a random key or remake it as a virus compresion engine (pack infected filez) and so on. Ohh and one thing left, i want to said that i hadn't ever seen same compression engine. The "algo" and the "thought" is mine, maybe you know that already - if so keep it yourself (i know it too). If not i guess that i help you a bit ...............


yspe.zip5482YSPEJan 2002MD5 sum 2824d194c255d5a864bafb6a9fb90018

By accessing, viewing, downloading or otherwise using this content you agree to be bound by the Terms of Use! aka