Archive for September, 2008

Worms

I never really had a lot of trouble with viruses or other malware, mainly because I know how to avoid them and/or know how to manually remove them but this little fellow really frustrated me, because it was designed to be impossible to remove manually apparently.

The worm didn't spread through the internet, but it took a slower approach: it infected all my USB devices that had some kind of storage space, so that's also the way it got into my computer: I lend a portable harddrive from a friend a couple of weeks ago.

The worm/trojan's executable was "AdobeR.exe", and is designed by some genius or very bored person. It has a very simple approach:

  1. Copy myself to register (startup keys, you know)
  2. Create autorun.inf file on all hard disks
  3. Copy myself to all hard disks
  4. Repeat

It's that simple. The problem now became that every time you tried to insert an infected USB stick, it would completely reinfect pretty much everything: thing's a bitch. I had to write a quick Perl script to remove all AdobeR files from the portable things because they were hidden in both Explorer and Command Prompt (yes, trying to "del adober.exe" got me saying "File not found"). The major design flaw in the worm was that it had only one process running, so users could manually shut it down and start deinfecting things.

With the design flaw in my head, I started writing my own (yes, for educational purposes, source code will most likely not be published) based on the same structure of AdobeR. It was easier than I thought actually, and I also made sure no one can shut down the process without help from an antivirus or a script by having two processes running (at least) that constantly check if their little brother is running too.

The pain in the ass of removing AdobeR only makes me scared of what would happen if there was some kind of *really, really evil* payload bound to it. Now it was "just" a trojan apparently that hadn't made a single connection to any server in the two days I monitored it, maybe Symantec should put a new label on it and just accept the fact some things aren't made for damaging.

(or my firewall is just too damn good, if I had one)

One year of Randomness

RandomBase.com can blow out its first candle! Happy birthday to you and all that stuff.

I have not much to say, no bullshit like "I can't believe we made it this far!", because it was the plan all along to keep working on it regardless of its success. Now, RandomBase and its projects are running fine and keep attracting a nice amount of visitors. My main function on RandomBase is still programming, I'm not very good at thinking of site ideas and if I do it ends in disaster most of the time.

There are some people I'd like to thank though: Tom for his slacking off all the time and r0bin for giving us the most awesome designs every time. And, how original, thanks to all you people who supported us and visited any of our websites. Thanks to all the people who subscribed to our (soon to be launched) mailing list and also a big thanks to the moderators and members at BFHforum.net for being fun.

So, that's it. We'll be celebrating the second birthday before you know it!

Things in PHP that will save you time and frustration

These are functions I knew about for some time but never really used, it's very useful though.

Function: htmlspecialchars_decode()

What you might have been using: Something along the lines of str_replace('>','>',$string);

Why you should use this: less lines of code

-------------------------------

Constant: PHP_EOL

What you might have been using: "\r\n" or "\n", depending on your platform

Why you should use this: portability! Your file reading code suddenly becomes compatible with both Windows and Linux based servers.

-------------------------------

Function: nl2br()

What you might have been using: str_replace("\n","<br />",$string) or str_replace(PHP_EOL,"<br />",$string) at best

Why you should use this: nl2br does all the work for you, it means "newline to <br />", what more do you need?

-------------------------------

Function: wordwrap()

What you might have been using: too long to write down

Why you should use this: does all the work for you again, it is perfect for wrapping long texts to a readable format instead of forcing your users to scroll.

And now for something completely different…

I'm finally in the right direction at school, I'm now having about ten hours of informatics weekly, including five hours of programming and database management and three hours aimed at operating systems (including Linux) and the technical parts of a computer. It's fun that I'm finally learning some useful things instead of the economics crap I used to follow.

Google Chrome?

I'm a Google junkie and so are you, the masses always go crazy for new big releases of the big search engine and this time I think I'll join them.

This time, Google announced a new project named Google Chrome and it is a new open-source browser, with a lot of innovations and some typical search engine related functions. You can read more about it here.

edit: Chrome is released, get it here. It is so damn fast but I miss the huge database of Firefox plugins...