NXT Virus

Last week, I created the first ever (at least, to the best of my knowledge) NXT “Virus” for the NBC/NXC Enhanced Firmware. It exploits the property that any file named “! Startup.rxe” will start up the moment the NXT is turned on. And guess what? There’s a function that can turn the NXT off when it’s called.

Here’s the code:

/*  Program Name: "! Startup.nxc"
**  This program was created by "muntoo" on November 7, 2010
**  Created using BricxCC (by John Hansen) and written in NXC (by John Hansen)
**  ( http://bricxcc.sourceforge.net/ )

Description:
MUHUHAHAHAHAHAHAHAHAHAHAHAHAHAHA!!!
*/


task main()
{
	PowerDown();
//	RebootInFirmwareMode();
}

As you can see, it looks pretty harmless (one API call), but I had to ask around to figure out how to make my NXT work again.
The solution is quite simple: Hold down the center (orange) NXT button for about 30 seconds. At the same time, you need to hold down the reset button (on the back of your NXT, in the top-left hole). I pressed the reset button using someone’s pinky finger (I had to crush it to the right size first), but a small screwdriver or even a LEGO Technic axle will do. Doing that makes the NXT go into SAMBA (firmware) mode. Then, you simply upload the firmware.

You can find more info here.

Advertisements

~ by muntoo on November 14, 2010.

3 Responses to “NXT Virus”

  1. That’s not a virus. A virus, by definition, attempts to spread itself.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: