Introduction: Ultimate Rick-roll: Flash Drive April Fools Day Prank (XP and Vista, No Internet Required)

April fools day is right around the corner and some of us might want to use the old fashioned hidden-link Rick-roll or a computer start up Rick-roll. But what about one that changes your background? I've seen many posts on Instructables, YouTube, and a couple other sites on how to make a background change. Many of these involve complicated HKEY Registry edits and some of us don't want to mess up our computers so I've found a way to do it by simple file copying. The end result of this prank will be a background change and an invisible (background) Rick-roll. Also this doesn't require an internet connection!!!!

I've included most of the files needed for this instructable so all you really have to do is copy and paste, changing the needed areas. This instructable has been posted once by me but i removed it, in case anyone thinks this is a copy. This prank works on XP and Vista.

- J-Manoo7

Step 1: What Is a Rick Roll Without the Song??

Of course the first thing to cover will be the song or whatever you want to call that is necessary for a rick roll! we want the song to play as soon as the user logs in so this takes some heavy code (at least for me) to do can copy and paste this :)

@echo off
set t1=%TIME:~0,2%
set t2=%TIME:~3,2%
set /a t2=%t2% +1
set tmain=%t1%:%t2%
echo %TMAIN%
at %TMAIN% cmd /c mplay32 /play /close "%windir%\system32\alert.mp3"

...but it is pretty small. it might look a bit scary but once i figured it out it seemed simple. What it does is it creates the variable t1 and sets it to TIME (which is the current time what the code ran) and "extracts" the fist two characters. Usually TIME is equal to something like 17:30:56.07 but we just have the first two digits or the 17 from my example.

The next line does the same thing but takes it info from the 4th and 5th characters of TIME or the 30 from my example. it then adds one to t2 making it 31

Note: the colon (:) counts as a character (just in case you want to use this method for any of your own files.

Now we merge the two "t"'s with a colon in between them. so if t1 was 17 and t2 was 31 we now have the variable TMAIN which equals 17:31, which is one minute after this code is ran! This new time variable TMAIN is now put into an AT (scheduler command) tells the song thing to play in one minute. The Purpose of this is that we want to sound to run in the background, not in a visible window were the sound can be stopped. This file calls upon an alert.mp3 which is copied and explained later. Song (if you want to call it that lol) available to download, it is in stereo.

copy and save this as music.BAT

save this sound file as rickroll.mp3

Step 2: Background Picture

For the background we will use a batch file that changes it the next time a user logs in. Here is the code:

@echo off
rem This background changing method using COPY commands only
rem and not HKEY edits is copyrighted(©) 2009-2059
set /a rn=%RANDOM%
if %rn% LSS 5461 GOTO pic1
if %rn% LSS 10922 GOTO pic2
if %rn% LSS 16383 GOTO pic3
if %rn% LSS 21844 GOTO pic4
if %rn% LSS 27305 GOTO pic5
GOTO pic6
COPY "%windir%\system32\core1.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed
COPY "%windir%\system32\core2.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed
COPY "%windir%\system32\core3.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed
COPY "%windir%\system32\core4.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed
COPY "%windir%\system32\core5.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed
COPY "%windir%\system32\core6.bmp" "%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp" || msg * copy failed

this is sorta hard to explain unless you have a decent knowledge of batch commands. The start creates a random number and the "if" commands splits the random to where it has an even chance of "landing" on all 6. (In Batch programming the variable %RANDOM% put in a big random number so we want an even chance for each section of the number.) pic# is the name of the pic section that the GOTO...well goes to.

the sections (ex. :pic1) copies a picture file under the windows system32 root (this is safe to do, just don't delete anything that is there lol) and moves it to a spot where it will become the background if the user logs of and then back in leaving you time to escape : ) . the || msg * copy flailed will tell you whether or not the copy worked, this is only necessary for testing after you know it works you can remove this.

I used 6 different pictures because the random limit divided almost evenly that way. You can use any pictures you want BUT the must be .bmp otherwise this will not work! i will supply you with the 6 pictures that i used for my prank. Also, when you copy this code make sure all the lines that say COPY extend all the way to the end in notepad( or whatever you are using to save this stuff as) to the character "d" at the end of the word failed. you also need make sure you have word wrap off.

save this as pics.BAT

these pics are clipped from his music video and i didn't photoshop them at all...really.
you can get all of them, they are zipped.

EDIT: yes this method is now copyrighted so if you used this include the rem command which is a comment command (it won't affect the script) and the stuff after it, Thanks


Step 3: Where Did Those Files Come From??

in the last step you will notice that the file referenced some picture files called core(#).bmp. And the one before referenced some unknown music file. These files come to be by this file that copies them from a flash drive and into that spot. They are named weirdly so the user will not delete them. the copier code is this(it also starts the process):

@echo off
COPY "pics.BAT" "%USERPROFILE%\Start Menu\Programs\Startup\pics.BAT" || msg * pics failed
COPY "music.BAT" "%USERPROFILE%\Start Menu\Programs\Startup\music.BAT" || msg * music failed
cd ..
COPY "rick1.bmp" "%windir%\system32\core1.bmp" || msg * rick1 failed
COPY "rick2.bmp" "%windir%\system32\core2.bmp" || msg * rick2 failed
COPY "rick3.bmp" "%windir%\system32\core3.bmp" || msg * rick3 failed
COPY "rick4.bmp" "%windir%\system32\core4.bmp" || msg * rick4 failed
COPY "rick5.bmp" "%windir%\system32\core5.bmp" || msg * rick5 failed
COPY "rick6.bmp" "%windir%\system32\core6.bmp" || msg * rick6 failed
cd ..
COPY "rickroll.mp3" "%windir%\system32\alert.mp3" || msg * alert failed
"%USERPROFILE%\Start Menu\Programs\Startup\pics.BAT" || msg * pics start failed

again the || etc. is the alert i failed stuff but you can leave these because this file is what only you will run. the pics.BAT and music.BAT are copied from their location (which needs to be in the same spot that this file is) to the startup menu which is what runs when a user logs in get them and it copies the music to the spot where music.BAT can get it. it then runs pics.BAT because it only works visibly the next time the user logs in. also if the user changes the wallpaper in between the time this file ran and the log off then the wallpaper will not work...sorry...the music will still work no matter what lol. again make sure the lines with COPY extend without a line break until the word failed.

This is the only file that you can name whatever you want .BAT, but i suggest naming it copyr.BAT (for copy rickroll, not copier)

this is what you flash drive should look like if you copied all of my files. mine are under the folder something but yours need to be under the root menu if you copied everything:

Step 4: All Done!

thats about it! if you have any questions or comments feel free to ask :D

also, my batch file autoruns but i didn't find that feature so i didn't feel right to list it again under my name. I found the Autorun instructable here. Autorunning this file is very good for quickly installing the prank. For that instructable you need to use the copyr.BAT as the file that runs when the option is selected. Many thanks to Crazy L. for his instructable. And as usual i am not liable for anything that you do with this, so if you do this to your boss and he fires you, tough.

This Instructable has been submitted into the April Fool's Day contest, please vote and rate. Thanks.

- J-Manoo7

Step 5: Cure

Sorry it took me so long to create the cure section, I've been pretty busy and I have had the cure made at the same time i had the rest of this prank made but was unable to post it at the time, so here it is:

@echo off
del "%USERPROFILE%\Start Menu\Programs\Startup\music.BAT" || msg * deletion failed
del "%USERPROFILE%\Start Menu\Programs\Startup\pics.BAT" || msg * deletion failed
del "%windir%\system32\core1.bmp" || msg * deletion failed
del "%windir%\system32\core2.bmp" || msg * deletion failed
del "%windir%\system32\core3.bmp" || msg * deletion failed
del "%windir%\system32\core4.bmp" || msg * deletion failed
del "%windir%\system32\core5.bmp" || msg * deletion failed
del "%windir%\system32\core6.bmp" || msg * deletion failed
del "%windir%\system32\alert.mp3" || msg * deletion failed

pretty straight-forward: del deletes files..specifically all the files used and if they are all gone the computer is cured because it can no longer run. Again it has the || msg * deletion failed section that lets us know if something went wrong. To sure a computer just run this file on the infected computer on the infected user AFTER the sound has finished playing, if you don't it might mess up your computer so i wouldn't take any chances.
April Fools Contest

Participated in the
April Fools Contest