#include "EULA.h"
#include "NSA_libraries.h"
#include "Version_obsolecence.h"
char make_prog_look_big(2000000000);
main () {
if (detect_LINUX())
freeze;
if (detect_cache())
disable_cache();
if (fast_CPU())
set_wait_states(lots);
set_mouse(speed, very_slow);
set_mouse(action, jumpy);
set_mouse(reaction, sometimes);
set_icons(ugly);
display(Windoews_XP_Splash_screen);
while (1) {
sleep(5);
get_user_input();
sleep(5);
act_on_user_input();
sleep(5);
switch ( detect_condition() ) {
case NEW_WINDOEWS_VERSION_AVAILABLE:
trash_registry();
break;
case NEW_EULA_AVAILABLE:
trash_registry();
break;
case NORMAL:
system_memory = open("a:\swp0001.swp", O_CREATE);
break;
case IMPORTANT_WORD_DOCUMENT:
crash(BLUE_SCREEN_OF_DEATH);
break;
case PLAYING_MP3_FILE:
download("
http://riaa.com/hollywood/fatcat/copyprotection.exe");
break;
case RUNNING_BENCHMARK:
adjust_time(APPEAR_SHORTER);
continue;
case LOOMING_MICROSHAFT_STOCK_OFFERING:
generate_document(ANALYST_RECOMMENDATION);
continue;
case RANDOM:
generate_error_number(RANDOM);
display_error_box();
freeze;
continue;
default:
download("
http://www.microshaft.com/free/todaysvirus.exe");
}
}
return(trashed_system);
}
I think the code should be repeated here. It's a riot LOL!
char make_prog_look_big(2000000000);This is not only a syntax error (the parens should be square brackets for an array declaration) but it won't make the program look big. Unitialized globals are put into BSS which is allocated when the executable is loaded and unless the compiler and linker are really, really stupid will have zero effect on executable size.
$ ll bss?
-rwxr-xr-x 1 altair altair 2916 Dec 12 09:52 bss1
-rwxr-xr-x 1 altair altair 2916 Dec 12 09:52 bss2
$ size bss?
text data bss dec hex filename
839 260 1032 2131 853 bss1
839 260 10000032 10001131 989aeb bss2
$ cat bss1.c
char dummy[1000];
int
main(int argc, char *argv[])
{
return 0;
}
$ cat bss2.c
char dummy[10000000];
int
main(int argc, char *argv[])
{
return 0;
}
$