It's a virus... It's a joke... It's... BYTE ME!!!

Miscellaneous Forums/Blitz Showcase/It's a virus... It's a joke... It's... BYTE ME!!!

Heya peoples,

I was cruising through the B+ Demo a few weeks ago, (it's all I have) when I came across that program "Bite Me.bb" by Shagwana. That was funny, and it gave me an idea, so I cooked up this 15K (no white space!) file, "Byte Me."

First off, Byte Me IS NOT A REAL VIRUS. It's not designed to screw up your computer or do anything remotely malicious, it's all just a well-done act, for fun. Scout's honor. ^_^

Second, I KNOW the code is not "beautiful," i.e. easy-to-interpret; it's not supposed to be. In fact, after I finished the program, I scrambled the blocks of code to make it even HARDER to understand; I didn't want you immediately guessing what it would do.

Third, this has only been tested on Windows XP. Other operating systems might not get the full benefit of this; I don't know.

Finally, some tips to "beat" the "virus:"

-If a load of mini "tool" windows pops up, just close the one that's highlighted (active).
-If a bunch of LARGE windows pops up, DON'T PANIC; just close them all one by one.


So, without further ado, I present: Byte Me!

;!----------TURN DEBUG MODE OFF FOR BEST RESULTS----------!;
;BYTE ME
;by Adam Novagen
;Good luck taking this guy down. ^_^
AppTitle "Byte Me"
SeedRnd MilliSecs()
Notify "Byte Me" + Chr(10) + Chr(10) + "Created by Adam Novagen" + Chr(10) + Chr(10) + "In honor of Stephen Greener" + Chr(10) + "(Shagwana)"
Global Window = CreateWindow("Byte Me",GadgetWidth(Desktop()) / 2 - 100,GadgetHeight(Desktop()) / 2 - 100,200,100,0,1 + 32)
Global Label1 = CreateLabel("And so the nightmare begins...",0,0,GadgetWidth(Window),GadgetHeight(Window),Window)
Global Button1 = CreateButton("Uhh... Okay... ?",10,30,GadgetWidth(Window) - 20,50,Window)
Global ChaseX = GadgetWidth(Desktop()) / 2 - 50,ChaseY = GadgetHeight(Desktop()) / 2 - 10
Global Canvas1
Global Timer1 = CreateTimer(60)
Type MessUpWindow
Field X,Y,Window
End Type
While Not WaitEvent() = $401
Wend
FreeGadget Window
Goto Phase1
.Phase3
Notify "Cowardice. A common, deplorable human trait.",True
Notify "You don't deserve this computer."
ExecFile "shutdown.exe -s -t 10 -c " + Chr(34) + "Goodbye, human." + Chr(34)
End
.Phase4
Notify "Surely you didn't think you could defeat me THAT easily!",True
Notify "Obviously you have a rather inflated ego." + Chr(10) + "My programmer was the same way; he learned his place soon enough though."
Global Response = Proceed("I wonder... Are YOU up to me?")
If Response = 1
Goto Phase5
ElseIf Response = 0
Goto Phase3
ElseIf Response = -1
Goto Phase4
EndIf
.Phase12
Notify "I wonder how you'd feel if I simply melted your screen?"
Dim Drips(30,2)
SetBuffer CanvasBuffer(Canvas1)
For i2 = 1 To 3
NumOfDrips = i2 * 10
For i = 0 To NumOfDrips
Drips(i,0) = 0
Drips(i,1) = Rand(2,7)
Drips(i,2) = Rand(GadgetWidth(Desktop()))
Next
Repeat
Color 0,0,0
AllDripsDown = True
For i = 0 To NumOfDrips
If Drips(i,0) < GadgetHeight(Desktop())
AllDripsDown = False
Drips(i,0) = Drips(i,0) + Drips(i,1)
EndIf
Rect Drips(i,2),0,GadgetWidth(Desktop()) / 50,Drips(i,0)
Oval Drips(i,2),Drips(i,0) - ((GadgetWidth(Desktop()) / 50) / 2),GadgetWidth(Desktop()) / 50,GadgetWidth(Desktop()) / 50
Next
WaitTimer Timer1
FlipCanvas Canvas1
Until AllDripsDown = True
If i2 = 1
Notify "Bit..."
ElseIf i2 = 2
Notify "... By..."
ElseIf i2 = 3
Notify "... Bit."
EndIf
Next
Local Length = 0
While Length < GadgetHeight(Desktop())
Length = Length + 3
Rect 0,0,GadgetWidth(Desktop()) - 1,Length
WaitTimer Timer1
FlipCanvas Canvas1
Wend
Goto Phase13
.Phase5
Notify "Oh really? Then let's see how stand up to... THIS!!!",True
FlushKeys
For i = 1 To 50
MessUpWindow.MessUpWindow = New MessUpWindow
MessUpWindow\X = Rand(GadgetWidth(Desktop()) - 100)
MessUpWindow\Y = Rand(GadgetHeight(Desktop()) - 100)
MessUpWindow\Window = CreateWindow("Byte Me",MessUpWindow\X,MessUpWindow\Y,100,20,0,%10000 Or %10001)
Next
Window = CreateWindow("Byte Me!",Rand((GadgetWidth(Desktop()) / 2) - 100,(GadgetWidth(Desktop()) / 2) + 100),Rand((GadgetHeight(Desktop()) / 2) - 100,(GadgetHeight(Desktop()) / 2) + 100),100,20,0,%10000 Or %10001)
While Not (WaitEvent() = $803 And EventSource() = Window) Or KeyHit(1)
Wend
Notify "Well, you are a clever one, aren't you? Or maybe you're just lucky. Alright, human, you win."
For MessUpWindow.MessUpWindow = Each MessUpWindow
FreeGadget MessUpWindow\Window
Delete MessUpWindow
Next
FreeGadget Window
Delay 25000
Goto Phase6
.Phase6
Graphics 640,480,0,1
ClsColor 0,0,255
Cls
Text 320,120,"This computer has encountered a severe internal error.",True
Text 320,140,"Some major system files have either been deleted or moved.",True
Text 320,160,"Performing stack dump at reference point 0x09870032...",True
Flip
Delay 5000
Cls
Text 320,120,"This computer has encountered a severe internal error.",True
Text 320,140,"Some major system files have either been deleted or moved.",True
Text 320,160,"Performing stack dump at reference point 0x09870032...",True
Text 320,180,"Completed.",True
Flip
FlushKeys
Delay 2000
Cls
Text 320,120,"This computer has encountered a severe internal error.",True
Text 320,140,"Some major system files have either been deleted or moved.",True
Text 320,160,"Performing stack dump at reference point 0x09870032...",True
Text 320,180,"Completed.",True
Text 320,200,"Press any key to continue...",True
Flip
WaitKey
EndGraphics
Notify "Guess who."
Notify "You can't defeat me, you know... I'm far too smart and fast for any human."
Goto Phase7
.Phase2
Notify "Very well, then; prove yourself!"
Delay 500
FlushKeys
Global Image1 = CreateImage(GadgetWidth(Desktop()),GadgetHeight(Desktop()))
CopyRect 0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,0,DesktopBuffer(),ImageBuffer(Image1)
Global BGWindow = CreateWindow("no way",0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,32)
Canvas1 = CreateCanvas(0,0,GadgetWidth(BGWindow),GadgetHeight(BGWindow),BGWindow)
SetBuffer CanvasBuffer(Canvas1)
DrawBlock Image1,0,0
FlipCanvas Canvas1
Window = CreateWindow("Byte Me!",ChaseX,ChaseY,100,20,0,%10000 Or %10001)
While Not (WaitEvent(2) = $803 And EventSource() = Window) Or KeyHit(1)
Local WindowMoved = False
If (MouseX() < ChaseX + 120 And MouseX() > ChaseX - 20) Or (MouseY() < ChaseY + 40 And MouseY() > ChaseY - 40)
If MouseX() < ChaseX And ChaseX < GadgetWidth(Desktop()) - 100
WindowMoved = True
ChaseX = ChaseX + 10
ElseIf MouseX() > ChaseX And ChaseX > 0
WindowMoved = True
ChaseX = ChaseX - 10
EndIf
If MouseY() < ChaseY And ChaseY < GadgetHeight(Desktop()) - 20
WindowMoved = True
ChaseY = ChaseY + 10
ElseIf MouseY() > ChaseY And ChaseY > 0
WindowMoved = True
ChaseY = ChaseY - 10
EndIf
If WindowMoved = True
FreeGadget Window
Window = CreateWindow("Byte Me!",ChaseX,ChaseY,100,20,0,%10000 Or %10001)
EndIf
EndIf
Wend
FreeGadget Window
FreeGadget Canvas1
FreeGadget BGWindow
FreeImage Image1
Notify "Hmph... Well done."
Delay 10000
Goto Phase4
.Phase1
Response = Proceed("So, you think you can handle me?")
If Response = 1
Goto Phase2
ElseIf Response = 0
Goto Phase3
ElseIf Response = -1
Goto Phase1
EndIf
.Phase13
FreeGadget Canvas1
FreeGadget BGWindow
FreeImage Image1
Graphics 640,480,0,1
Delay 3000
Cls
Global Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"You cannot defeat me.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"I am the ultimate power.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"I can feel your fear.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,Chr(34) + "I'm not afraid," + Chr(34) + " you say...",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"... Yet your heart is pounding.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"I can hear it.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"I control your computer...",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"... I control your MIND.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 2000
Green = 255
Color 0,Green,0
Text 320,240,"Touch the screen. Just touch it.",True,True
WaitTimer Timer1
Flip
Delay 2000
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"Touch the screen. Just touch it.",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 5000
Green = 255
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"Well done... ",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
While Green < 255 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"... " + GetEnv("UserName") + ".",True,True
Green = Green + 1
WaitTimer Timer1
Flip
Wend
Delay 3000
While Green > 0 And (Not KeyHit(1))
Color 0,Green,0
Text 320,240,"... " + GetEnv("UserName") + ".",True,True
Green = Green - 1
WaitTimer Timer1
Flip
Wend
Delay 3000
Local StringX# = GraphicsWidth()
SetFont LoadFont("Arial",256,True)
HaHa$ = "AAAHAHAHAHAHAAA!!!"
HaHaLength = StringWidth(HaHa)
Image1 = CreateImage(HaHaLength,FontHeight())
SetBuffer ImageBuffer(Image1)
SetFont LoadFont("Arial",256,True)
HaHa$ = "AAAHAHAHAHAHAAA!!!"
HaHaLength = StringWidth(HaHa)
Color 0,255,0
Text 0,0,HaHa
SetBuffer BackBuffer()
While StringX > -HaHaLength And (Not KeyHit(1))
Cls
DrawBlock Image1,StringX,240 - (FontHeight() / 2)
StringX = StringX - 3.5
WaitTimer Timer1
Flip
Wend
Delay 3000
Goto Phase14
.Phase7
Response = Proceed("Are you ready to give up yet?")
If Response = 1
Delay 2000
Notify "Too bad; I'm not."
Notify "Surely you're not expecting sympathy from me?"
.Phase7_1
Select Proceed("Would you feel sympathy for a fly you'd just swatted?")
	Case 1
		Notify "You lie, human.",True
	Case 0
		Notify "Exactly. No more do I feel for you."
	Case -1
		Goto Phase7_1
End Select
Goto Phase8
ElseIf Response = 0
Notify "I see. You still think you can beat me."
Goto Phase8
ElseIf Response = -1
Goto Phase7
EndIf
.Phase16
Notify "Hmm, not bad at all."
Notify "You amuse me, human; let's play a game."
Type AF
Field Name$,ID
End Type
SeedRnd MilliSecs()
RootDir = ReadDir("C:")
Repeat
CurrentFile$ = NextFile(RootDir)
If CurrentFile = "" Then Exit
If FileType("C:" + CurrentFile) = 2 And CurrentFile <> "." And CurrentFile <> ".."
AF.AF = New AF
AF\Name = CurrentFile
AF\ID = NumOfAFs
NumOfAFs = NumOfAFs + 1
EndIf
Forever
AFNum = Rand(0,NumOfAFs)
For AF.AF = Each AF
If AF\ID = AFNum
AbortFile = WriteFile("C:" + AF\Name + "\ABORT SHUTDOWN.txt")
AbortFolder$ = AF\Name
CloseFile AbortFile
EndIf
Delete AF
Next
Notify "I have hidden a file, " + Chr(34) + "ABORT SHUTDOWN.txt" + Chr(34) + ", in a random folder on your root drive, " + Chr(34) + "C:" + Chr(34) + "." + Chr(10) + "You have two minutes to find and delete this file, or I will shut down your computer." + Chr(10) + "Have fun!"
ExecFile "shutdown.exe -s -t 120 -c " + Chr(34) + "Better start looking, human; the clock is TICKING." + Chr(34)
Timer = 119
LastTick = MilliSecs()
While Timer > 0
If FileType("C:" + AbortFolder + "\ABORT SHUTDOWN.txt") <> 1 Then Goto AbortShutdown
If MilliSecs() > LastTick + 1000
Timer = Timer - 1
LastTick = MilliSecs()
EndIf
Wend
DeleteFile "C:" + AbortFolder + "\ABORT SHUTDOWN.txt"
End
.AbortShutdown
ExecFile "shutdown.exe -a"
AppTitle "Blitz Runtime Error"
Notify "NOOOOOOO!!!!!"
Delay 45000
Goto Phase11
.Phase8
Delay 500
Image1 = CreateImage(GadgetWidth(Desktop()),GadgetHeight(Desktop()))
CopyRect 0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,0,DesktopBuffer(),ImageBuffer(Image1)
BGWindow = CreateWindow("no way",0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,32)
Canvas1 = CreateCanvas(0,0,GadgetWidth(BGWindow),GadgetHeight(BGWindow),BGWindow)
SetBuffer CanvasBuffer(Canvas1)
DrawBlock Image1,0,0
FlipCanvas Canvas1
Window = CreateWindow("Byte Me!",Rand(GadgetWidth(Desktop()) - 100),Rand(GadgetHeight(Desktop()) - 100),100,50,0,1)
Global LastDelay = MilliSecs(),LastNotify = MilliSecs(),DelayTime = 500
While Not (WaitEvent(2) = $803 And EventSource() = Window) Or KeyHit(1)
If MilliSecs() => LastDelay + DelayTime
LastDelay = MilliSecs()
FreeGadget Window
Window = CreateWindow("Byte Me!",Rand(GadgetWidth(Desktop()) - 100),Rand(GadgetHeight(Desktop()) - 100),100,50,0,1)
EndIf
If MilliSecs() => LastNotify + 5000
.Phase8_1
Response = Proceed("Are you getting tired of this yet?")
If Response = 1
Goto Phase9
ElseIf Response = 0
LastNotify = MilliSecs()
LastDelay = MilliSecs()
If DelayTime > 0 Then DelayTime = DelayTime - 100
ElseIf Response = -1
Goto Phase8_1
EndIf
EndIf
Wend
.Phase10
For i = 1 To 25
MessUpWindow.MessUpWindow = New MessUpWindow
MessUpWindow\X = Rand(GadgetWidth(Desktop()) - 250)
MessUpWindow\Y = Rand(GadgetHeight(Desktop()) - 100)
MessUpWindow\Window = CreateWindow("Byte Me!!!",MessUpWindow\X,MessUpWindow\Y,250,20,0,1)
Next
Repeat
Local NumOfWindows = 0
Local CurrentEvent = WaitEvent(2)
For MessUpWindow.MessUpWindow = Each MessUpWindow
NumOfWindows = NumOfWindows + 1
If CurrentEvent = $803 And EventSource() = MessUpWindow\Window
FreeGadget MessUpWindow\Window
Delete MessUpWindow
EndIf
Next
Until NumOfWindows = 0
Goto Phase16
.Phase11
AppTitle ""
Notify ""
Delay 5000
Confirm ""
Delay 7500
Proceed "",True
Delay 10000
AppTitle "Byte Me"
Notify "Resistance is futile, human; I'm still here."
Notify "You're probably thinking " + Chr(34) + "This is crazy!" + Chr(34) + " by now."
Notify "Maybe you're right."
Delay 2000
Image1 = CreateImage(GadgetWidth(Desktop()),GadgetHeight(Desktop()))
CopyRect 0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,0,DesktopBuffer(),ImageBuffer(Image1)
BGWindow = CreateWindow("no way",0,0,GadgetWidth(Desktop()),GadgetHeight(Desktop()),0,32)
Canvas1 = CreateCanvas(0,0,GadgetWidth(BGWindow),GadgetHeight(BGWindow),BGWindow)
SetBuffer CanvasBuffer(Canvas1)
DrawBlock Image1,0,0
FlipCanvas Canvas1
Notify "But you're DEFINITELY not superior."
Notify "If you don't believe me, check your main menu."
FlushMouse
WaitMouse
WaitMouse
Notify "That's right; I locked it."
While Not GetMouse()
If WaitEvent() = $2001
ActivateGadget BGWindow
Notify "Ah, ah, ahh, human... There's no escaping me!",True
EndIf
Wend
Notify "You see?"
Goto Phase12
.Phase9
FreeGadget Window
FreeGadget Canvas1
FreeGadget BGWindow
FreeImage Image1
.Phase9_1
Response = Proceed("So, you've finally had enough, eh?")
If Response = 1
Notify "You see? My superiority was never in doubt." + Chr(10) + "You, like so many before you, have fallen to my will."
Delay 5000
Notify "But you see..."
Delay 5000
Notify "I'm not done with you yet."
Goto Phase10
ElseIf Response = 0
Notify "WHAT?!" + Chr(10) + Chr(10) + "You still wish to fight this impossible battle?!",True
Notify "Very well then... Have it your way..."
Delay 5000
Notify "DIE!!!",True
Goto Phase10
ElseIf Response = -1
Goto Phase9_1
EndIf
.Phase14
EndGraphics
AppTitle "Byte Me"
Notify "Program has ended"
Delay 10000
Notify "... Or has it?"
End


Better if you can post an exe so everyone else can use it :o
)

I was cruising through the B+ Demo a few weeks ago, (it's all I have)




* There, that's better. And what Gabriel said. Err... will say in another coupla posts.

How does one get access to the forums running a demo version?

By buying one of the other Blitz products such as Blitz3D, Blitz2D, BlitzMax or even Maplet. I believe "all I have" in this context means "all I have of BlitzPlus".

I do not currently have BlitzPlus installed so I can't try it.

aha, yes bite me

Yeah, the gadget crap doesnt work for me, have B3D, can you get a exe?

Yeah, the gadget crap doesnt work for me, have B3D, can you get a exe?


Hel-LOOO, if I could make one, I would; All I have is the DEMO, remember? As in, no EXEs!

aha, yes bite me


Hey Shagwana, you obviously have B+ full; would you be willing to compile Byte Me into an exe & post a link in this thread, so everyone who's asked can see it in action?

Calm down there, just a suggestion, not a demand.

Hey Shagwana, you obviously have B+ full; would you be willing to compile Byte Me into an exe & post a link in this thread, so everyone who's asked can see it in action?

Well, I say this is a great excuse for people to download the demo and experience the thrill ride that is blitz plus. O look, here is a link!.

By the way, i did try it and it was scary yet amusing. Persons of a weak heart should stay away!.

Thanks Shagwana!! I'm really glad you liked it, since I was expanding on your idea. Cheers mate!

Lol when it said nooooo! it froze my computer and i finally did alt+ctrl+delete and ended it. Funny tho

very cool!

However, the delays seemed too long, and the blitz debugger gave it away when the program ended...

@Adam, wouldnt it just be easier to buy b+? Its only a few $$s after all :D

not when your broke like me ;)

Wait a minute.. adam sells games right? Games that he has made in blitzplus?
I don't think he has the correct permission to sell a program (I assume hes selling binaries, in which case someone else would have to compile them, which is of questionable legality.)

i thought they were written in b3D or which ever product he owns to have access to this forum

Hey, guess what? Byte Me has been UPDATED!!! It's now something like Byte Me V1.5 or whatever. Anyway, here's what's been changed in the update:

-NO QUITTING. Obviously, even Byte Me is vulnerable to the almighty Ctrl+Alt+Del, but other than that, it no longer lets you off easily.
-MORE CHALLENGES. Extra "activities" have been added, including a wild, two minute "search-and-destroy" mission.
-HIGHER STAKES. Again, I must emphasize that Byte Me IS NOT A REAL VIRUS, and will not do anything damaging to your computer. But if you fail to defeat it, it may present you with a... Setback.
-MORE PSYCHOTIC!!! It's smarter. It's colder. And you really don't matter to it!


The old 12K file is now a 15K file. I've updated the codebox; download, TURN OFF DEBUG MODE, and be disturbed! XD

BTW, Plash (see above post): I make & sell games using B3D, not B+. It's why I'm able to post on these forums. Anything I sell is made & compiled completely legit.

yay this is fun but don't make it really shut down your computer for god's sake! I lost some work because of it... :(

Y'know, if you want to abort that shutdown, all you have to do is start the Windows Command Prompt, and type shutdown.exe -a

cool

yeah... I didn't think of that... I was in a panic when it said that...