Maximize
Bookmark

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 ...............


Comments
Download

 FilenameSizeDescriptionDate 
yspe.zip5482YSPEJan 2002MD5 sum 2824d194c255d5a864bafb6a9fb90018


By accessing, viewing, downloading or otherwise using this content you agree to be bound by the Terms of Use! vxheaven.org aka vx.netlux.org
deenesitfrplruua