obfuscation by compression and binding
author: xyr0x
date: august, 5th, 2006
copyright: xyr0x security

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

table of context

1: disclaimer
2: introduction
3: what you need
4: how to
5: end notes

note: this tutorial may seem a little "childesh" but when i wrote this, like right now, august 5th, 2006, at 7:34 pm, i had a hangover, and didn't feel to compelled to do it in a scientific, or professional/serious matter. this is just for the heads up. xyr0x

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

1: disclaimer:

i hold zero responsibility for any illegal, blah, i can't even right a ******* disclaimer anymore. you know that this tutorial is bad news, and if you get caught breaking any copyright violations, or unfair treaties, that you'll go meet mr. bubba in big pen down town and have a new lifestyle, being gay, having a boyfriend, being a mans *****, and all, so don't get caught, and i'm not responsible; this tutorial was made for education purposes only; ok? great!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

2: introduction:

i bet you get a prompt every so often about some runtime component being missing, or what not, for example, you go and download a "booter" from some lame anti-yahoo website and it says, for example... "kewlbuttons.ocx" is not registered, or cannot be found, and so therefor it makes the "booter" not work, am i right? good. well, here this tutorial isn't about booting kids off of yahoo, but about how to conserve yourself the risk of being "suspected" of compromising another machine using tricky tactics and well, the creative minded methods that we hackers tend to run upon. we're going to be using for example an "detectable" virus. or, one that you made. what that relies on certain components, such as winsck32.ocx for example. alot of people run into issues with this runtime, becuase it often doesn't register with 3rd party applications for "security issues" besides this, since it has issues we're going to do something about it for our virus/trojan or whatever you want to do. also, on the flip side of this rant, it may make your .exe/.pif/.scr/.com file a little bigger, there's nothing bad about that. i get kids saying to me, why's your file only 32kb's? lol i'm not gonna download that from you, xyr0x. well, why should they? they have every right to be "suspicious" so enforce it with methods that are kind of fruity, and if you're on dialup? don't complain about a file transfer taking to long. get wireless, and leech off of a wifi. that's what i've been doing for that last 2 months, and i've gotta say, that the speed is pretty decent. better than your run around, buy dsl for $26,99 a month rip-off.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

3: what you need:

so in order to "include" our runtimes into our project we're going to need a few things, and you're going to need to be aware of what os you're using. this doesn't work so well with linux, so use windows. i love windows, cause i'm to lazy to relax and learn the schematics and commands that linux offers for the moments that lay between me.

you'll need

1: a binder, use => iexpress. (it used to be some "secret" utility in the winnt platform, but how was it secret again? if you got windows, just goto system32/ and look, there's nothing secret in there. it's already there, isn't it?)

for non nt users download: (i uploaded as i authored this tutorial at the prior link)

2: a packer. a good packer is, upx, but it's often detected as a "bloodhound" if there's something phishy with the payload. but there are others. but we'll focus on upx in this article.


3: you're components/runtimes. now, it's easy to know what components are needed "if incase" you don't want to have any goofs upon execution with your victim. now if you don't you can review the procedures within a disassembler. it'll tell you what runtimes are being used, for example, msvb60.dll --- ok, that's all for what you need, and what to be aware of.

if you're missing runtimes yourself, you can goto and get them.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

4: how to do it:

first open iexpress, by doing the following:

start | run | iexpress

click, ok, or enter.

now, you know what runtimes are needed, so we're going to do the following steps with the iexpress utility...

1: create new self extraction directive file, click next
2: extract files and run an installation command, click next
3: name your package, click next
4: no prompt, click next
5: do not display a license, click next
6: now, here is where you'll add all the runtimes, and that special application(s) once done, click next.
7: install program > method -> your .exe or binary file. (the runtimes, just bind within don't worry) if you want to make sure it doesn't fuckup, or you have a secondary applications, you can configure the "post install command" with your other file. never with the same, it'll fuck up the process... and if it's a trojan, you don't want this.

8: show windows: default's ok, but hidden is a better idea, it's more stealthy, y'know?
9: finished message: no, messages.
10: package name and options: select hide file extracting progress animation from user, and keep the store files, unchecked. click next, (also if you want to name the path, do c:\ ) click next.
11: config restart: no restart, is best. but if it requires registry modifications, restart is needed.
12: don't save... click, next
13: create package, click next
14: a black dos screen will popup, showing you the progress, once it's done binding, it'll go away, click finish on iexpress and it'll close.

daaamn that was exhuasting. you're lucky, i wouldn't never thought that i could've done that. what a mind fuck that was.

ok, on with "compression" yeah, making the file size a bit smaller, but not to small.

once you've installed upx, it'll be in dir, c:\upx\ and the upx.exe is, c:\upx\upx.exe
remember this, or if it's not there right now do it. (in c:\upx\upx.exe) it'll make things a whole lot easier.

so we're going to compress for example. a virus in our c:\ directory, and it's called... xyr0x.pif yeah, pretty cool huh? a virus as my handle. my virus is located at c:\xyr0x.pif - now read the following:

start | run | cmd

once the command prompts open, we're going to type in the below format:

call c:\xyr0x pif c:\upx\upx.exe -9

now, -9 is "better compression" with upx's latest release. but you can do other compression formats if you feel the need. now what we did was we called our archived iexpress crap, and told upx to compress it, in "better compression format" thus makes it "un-extractable" which i'll elaborate for you below.

so, you maybe questioning yourself, what the fuck? i don't understand. well, duh. let me re-elaborate what i did, and what i did, to make you think. cause it's not easy being a hacker. we collaborated our runtimes which would run with our virus/malware/worm/trojan or whatever it was that you are wanting to abuse. we then took the runtimes which are needed incase of malfunctioning issues on the victims behalf, becuase one wasn't declared as being registered. we made our binded file, xyr0x.pif (we can't make it .pif, in iexpress) so use your head. we then took it to our upx to compress the archive, and thus doing this means that it cannot be "extracted" it runs as a whole, and therefor by doing this, it obfuscates the virus and confuses and therefor bypasses the a/v hueristics. you get the idea.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

5: end notes:

i wrote this becuase well, some folks on inspired me to define how something that seem's so hard, can be done so easy, if thought of properly.
security, insecurity, it's never what it seem's so take care of yourself, and i'll see you behind the bluescreen. anyways, i'm going to finish with a few hello's and what's up for some of my friends and then give you some methods on how you can reach me, if you don't know any of them already.

greets to sintakz, fab, ouwop, 3d, josh tha ninja, infektid, 7sean, murder mouse, halla, infoleak, ignitus, aelphaeis_mangarae, alchemist, danielg, flowby, mega-byte, zod,, trikk, dv0id, mbeers.geo, and to the rest of you, hi, and hello. i forgot you

contacting me:
aim: ixi xyr0x ixi
msn: [email protected]
email: [email protected]

goodbye, and i hope that this tutorial served you well.