What's New!

Chat with

How to Defend
Your Computer 

The Guides
to (mostly) 
Harmless Hacking

Happy Hacker 
Digests (old stuff) 

Hacker Links 


Meet the 
Happy Hacksters 

Help for 



It Sucks 
to Be Me!

How to Commit
Computer Crime (not)! 

What Is a 
Hacker, Anyhow? 

Have a 
Great Life! 

News from the 
Hacker War Front

Carolyn's most
popular book,
in 4th edition now!

For advanced
hacker studies,
read Carolyn's
Google Groups
Subscribe to Happy Hacker
Visit this group

March 3, 1999
Visit the Happy Hacker site at http://www.happyhacker.org

Opening Comments
Reader Submissions
TCP/IP Resources
Telnet, and why it doesn't work
How Password Crackers Work
Building a Library
Exploits Explained
Perl Corner
Editor's Comments

Opening Comments

For all those new readers (and some of our old, faithful readers,
too), please understand that the folks at the Happy Hacker site
are not here to help you break into a site, or 'hack a web page'.
We are here to help you learn, and take some of the mystery out
of this 'hacking' thing, but we are NOT here to help you commit
a crime.  So please stop sending me email asking me to help you
'hack a web page', boot someone off of IRC, or anything like


O'Reilly's 'Learning the BASH Shell' has examples available
for download

Want some help with domain names?

Look up ISPs all over...

Reader Submissions

From:  HanzStandz <webmeister@v-wave.com>
Subj:  RE: Happy Hacker Digest, Windows Edition, Feb. 23, 1999

HI.  After reading your section on "Secure M$IE Part 1 of Many" 
I fooled around with attemping to delete the history and temporary 
internet files folders and discovered a few things.  One way of 
removing these folders and deleting the DAT files without Norton 
Diskdoctor, is to simply remove the system attribute, and MOVE 
them to another location, where you can thenDELTREE them with 
impunity.  For example, I wrote a simple batch file that
does the trick:

md c:\wipetemp
attrib -s c:\windows\history
attrib -s "c:\windows\temporary internet files"
move c:\windows\history c:\wipetemp\temp1
move "c:\windows\temporary internet files" c:\wipetemp\temp2
deltree /y c:\windows\cookies
deltree /y c:\wipetemp

The above removes the temporary internet files folder, 
as well as all those pesky system-named subfolders under it.  

Hanz Broden.

[Editor:  Great!  Small enough to fit into the HHD.  This is
just another way of doing things...and we're always glad to
get readers submissions!]

From:  King of the Mack III <joshmcree@rocketmail.com>
Subj:  Need a file find A file

Hello from denver,

I would just like to say if you ever need a file goto
the following web adress


This will have every single file you may ever need.
For example ( I know im not supposed to do this but
here goes )let look for windows 95 instead of typing
win95 or windows 95 you type in win95_23.cab how
about windows 98 type in win98_62.cab. i hope you get
the drift of what im saying 


ps: the editor asked for something called 'strings' i
need to know more about the  file to find the right
one. there are millions of files called string.* or
strings.* your search needs to be precise.

[Editor:  I am familiar with the search engine, and have 
used it in the past.  Thanks for bringing it up again.]

From:  james_241@juno.com
Subj:  Reply to Active Desktop

I've been messing around with the Active Desktop in my free 
time and there's been one thing that I've been wanting to do 
that I haven't found a way yet.  I want to put My Computer on 
the desktop.  Not just an icon, but the actual My Computer.  
I've put some VBScript buttons on the desktop (Try messing 
around with various VBScript things on your desktop. It's fun.)
, but I have not yet been able to find or write a script that
will put My Computer on the Active Desktop.  Anybody got any 



[Editor:  Again, if someone has a good answer for this, please
send the URL of the web page it's on.  The URLs are much easier
to deal with than a lot of text that needs to be reformatted
to the digest, etc.]

From:  "Robin Keir" <robin@keir.net>
Subj:  Reverse Engineering and Strings

In Feb 23rd Windows HH digest "Ezzy" mentioned he was looking 
for a URL to give him a start into reverse engineering programs 
("insert your own codes..."). The most comprehensive site for 
this kind of stuff can be found at Fravia's site. If you can 
manage to work through literally hundreds of pages and deal 
with the rather aloof and esoteric writing style then try the
main page at http://fravia.org/ (which appears to be down right 
now) or one of it's several mirrors such as:

Note to editor: I wrote a kind of "strings" equivalent for Win32 
files that runs on Win9x and I'm fairly sure will work on NT. 
It is not a command-line driven utility, instead it has a nice 
graphical user interface. It is of particular interest to programmers 
since it will show Ascii, Unicode and Resource strings together 
with information such as the memory address at which the strings 
are referred to at run time i.e. as shown by a decent disassembler. 
Grab this utility at:

Rob Keir

[Editor:  I've been playing with bintext, and it works really
well on my NT box.  I'll have to work with it some more, though,
to see if it's what I'm looking for...

Also, SubZero "SuBZeROKX@aol.com" sent in this URL:
http://www.tbcnet.com/~clive/vcomwinp.html ]

From:  ToFly2Die@aol.com
Subj:  Recycle Bin Icon

I was wondering if you could please help me with a problem 
I am having.  Somehow I lost the recycle bin icon on my desktop 
and have the lame flying window as the icon now.  I have windows 
95 and have no idea how to get the icon back.  Thanks a lot for 
your help.


**This one was forwarded to me by the UnixEditor:
From: "David Thomas" <david@iecnc.org>
>Hi HH Team,
>I've been reading through HH, website and digest, for a while now and
>I must say you guys are doing a FABULOUS job.
>I'm looking for a program (preferably a small *free* util for Win
>9x/NT) that does the same job as Etherpeek's Capture feature; so I can
>see where the computers on the LAN are connecting to on the Internet
>(and which port they're using to connect). I know you've probably
>mentioned something like this in one of your web pages/digest, but I
>must have missed it. I have been searching the net like crazy, but I
>have not found one that works.
>Hoping you can help me, keep up the good work.
>David T. Thomas

[Unix Ed- EtherBoy, of the NetMan suite, is shareware that does 
something like what you're looking for. Check 
http://www.ndgsoftware.com/ for more info and a download.]

TCP/IP Resources

URI's TCP/IP Resources list...

Here's a URL from Yahoo (URL wraps...)
*This URL is an excellent source of information...a great place
to start reading about just about any protocol.

Telnet, and why it doesn't work

Several readers have asked me this question...and I think I have
an answer that everyone could use.

Many (yes, many...as in a lot of) readers have emailed me telling
me that they are trying to telnet to their friend's computer and
they can't connect.  I have had one or two that were sent to the
Grand Poo-bah (ie, Carolyn) and then forwarded on to me.  Well,
I'm here to tell you why it's not working...

The Internet operates on a client-server model of communications.
This means that your PC has client software (browser, telnet, ftp,
etc) and somewhere out there, on the wild, wide Internet, there 
are servers...web servers, email servers, ftp servers, etc.  To
communicate to a server, you opent the appropriate client software.
We'll use the web browser in our example.  You open your browser,
and type in a URL.  Your browser then looks up the IP address of 
the server in question, and if it exists, tries to make a 
connection.  If the connection is made, the browser then requests
that the server 'serve up' the appropriate page.  Easy enough, 

Now, this works b/c there are web browsers, and web servers.  In
the case of telnet, all of the Microsoft platforms ship with 
a telnet client...except DOS.  However, NONE of them ship with 
telnet servers!  Not even NT Server!  NT Server ships with an 
FTP server, and you can get other tools and servers, but 
Microsoft doesn't ship a telnet server with NT, 95, or 98.  
Therefore, when you try to connect to your friend's machine
with your telnet program and you don't specify a port to connect
to, the program tries to connect to the default telnet port; ie,
23.  Since there is no server running there (not by default anyway)
you won't get a connection.

How Password Crackers Work

Ever wondered how password crackers like John the Ripper and 
L0phtcrack work?  Well, I'm not going to tell you where to get
them...b/c, well, you can John the Ripper from any number of 
sites, and truthfully, it's pretty obvious where you can get 
L0phtcrack.  I thought I would simply discuss how the crackers
do what they do, and talk about the usefulness of such things.

Okay, anyone who uses a computer is pretty familiar with passwords.
Passwords are what's used as a form of security...the assumption
is that a user has a password that only they know, and when used
in combination with the username, the sysadmin can be pretty sure
that only that user is logging in and accessing resources.

However, this isn't always the case.  Every since passwords were
first used, the users themselves have always been the weakest
link in the chain.  They use easy to guess passwords...like 
their username, for example, or the name of a spouse, child,
pet, etc.  Some passwords are actually written down and pasted to
the monitor!  There is the old joke about the difference between
a secure and an insecure LAN being that on a secure LAN, you have
to turn the keyboard over to see where the passwords are written
down!  With the advent of cracking tools, sysadmins can check to
see if passwords are easily cracked.  Then there are methods of
protecting the passwords themselves...on Unix, there are 
'shadowed' password files.  Microsoft issued a dll in Service Pack
2 that checks certain parameters of the password, and the User
Manager on NT allows the sysadmin to set other conditions on 
passwords, such as requiring the user to change the password at
certain intervals, minimum length of a password, etc.

When the sysadmin creates a user account, it often has a default
password.  Many organizations use the username, or the username
with a number, as the default password...and some don't use 
technical controls to require the user to change it.  That pass-
word is encrypted using a one-way encryption algorithm...this 
means that the text password is encrypted, and you can't run 
the encrypted password through an algorithm to get the original
text password back.  

When you sit down at the computer and type in your password, you
see '*''s echoed back...that's how the textbox is programmed 
in case someone is shoulder-surfing.  What happens then is that
the password you enter is encrypted with the same one-way 
algorithm used on your original password, and this new encrypted
password is compared to the one that is stored.  If they are
the same, then you are 'authenticated' by corresponding the 
username you entered to the correct password.

Now, since the passwords are encrypted by a one-way algorithm,
the way a password cracker 'finds' passwords is by using a 
dictionary, or via brute force.  Using a dictionary works by
taking a word from a list, encrypting it, and comparing it to
the stored, encrypted password.  A brute force cracker works
by trying combinations of keys, from the entire key-space (ie,
all numbers, lower-case letters, upper-case letters, symbols,
etc), encrypting each combination, and comparing that one to 
the stored, encrypted password.  You can see how using a strong
password, one that you won't find in ANY dictionary, and isn't
a name, would be very difficult to crack.  Not impossible, just
very, very difficult.  A strong enough password will take far
longer for a cracker to crack than someone is willing to wait.

Building a Library

You've been surfing the net for a while, and you've got a lot
of text files...to include the back issues of the GTMHH and HHD.
Some of the files just don't make any sense to you...either the
spelling and grammar are so bad they're just too confusing, or
the files were grabbed from universities, and they are just WAY
too technical.  So what do you do?  

Well, I would start at the library...you can get an understanding
of the basics there...as well as a lot of other great stuff. 
Most libraries have a computer section and there are all sorts
of books available.  Even though 4-6 months is a lifetime in the
computer industry, some very basic things, like TCP/IP and net-
working, haven't changed in a while.  So reading a book on net-
working from 5 years ago is a good start.  Also, some of the 
older books on programming languages, such as C, are an 
excellent starting point.

Another resource that is available is the MacMillian Publishing
site at:

Here, you can create a 'personal bookshelf', and evaluate books
for a period of time.  You can read 'Maximum Security', for 
example.  I recently added 'Upgrading and Repairing PCs' to my
personal bookshelf...there are several excellent chapters about
how hard drives and memory work.  If you are interested in 
programming, you can find books for VB, Perl, Java, etc.  There
are many categories available.

A quick note on back issues of the GTMHH and HHD:  A reader 
recently asked me to compile an archive of back issues of the
HHD b/c the archive at the Happy Hacker site is, well, a little
behind.  The reader said that he'd been to the HHD archive site
in Finland:

However, the reader wanted the ASCII versions of the digests.  
Well, my first response was to go ahead and put the archive 
together.  But then it dawned on me...there is an easier way, and
I don't have to duplicate the efforts of our Finnish friends.
When you access the above site, just choose Edit -> Select All...
in your browser, and copy the text of the page.  Then paste it
into Notepad.  There, you're done!

If you have a library that you'd like to share with other HHD
readers, put the information on a web page, and send me the 
URL.  Reader submissions are always welcome.  DO NOT send me 
a long list of links...just ONE URL, please.

Exploits Explained

I get a lot of email from readers that starts of by saying "I'm
an avid reader of the HHD...", but then the very first question
has an answer from the last edition of the HHD!  Well, given some
of the questions I have received recently, I thought I would cover
a topic that I presented in a Guide a while back...just what is an
exploit?  Here's the link to the Guide:


All the info here is still good.  Take a look at it...and if you
still have questions, or still don't understand why you can't
get telnet to work when you try connecting to your friend's 
95 box, let me know.

Perl Corner

Well, I've promised this in the past, so it's about time I got 
around to presenting an example of creating GUIs under Perl!
In this edition of the Perl Corner, I'll create a script that 
grabs information from system, and presents it in a nice GUI.

For beginners, O'Reilly and Assoc. has a 'Learning Perl/Tk' 
book available.  Check their web site for a sample chapter to
the book, as well as an archive of the examples from the book:

Also, the 'Web Client Programming' book from O'Reilly's has 
example available...a great Tk example is the 'webping.pl' 

Before we get started with Perl/Tk programming, we need the Tk
module.  Go to:


...and download Tk.zip.  Use WinZip to open this archive into
a directory called 'c:\perl\mods' (this assumes that you 
installed Perl into the default directory of 'c:\perl').  When
you extract the archive, make sure you check the 'Use Folder
Names' box...I am using WinZip 6.3.

Once you have extracted the archive, open a DOS prompt, and 
change directories to 'c:\perl\bin' and type: ppm.  You will
recieve a ppm prompt:  PPM>

Type the following commands

set repository LOCAL c:\perl\mods
install Tk

You may have to wait a few minutes, but the package will
eventually be installed.  When you get the prompt back,
type: query Tk

This will show you if Tk is installed.  Type 'quit' to exit
the interactive PPM shell.

Okay, now we have Tk installed.  Let's put together our first
script...and just like our first Perl script, we'll start 
with a 'Hello, World' implementation...

-----  begin tkdemo1.pl  -----
#! c:\perl\bin\perl.exe

# This script was taken from 'Advanced Perl Programming', 
# by Sriram Srivivasan, published by O'Reilly

# Use the appropriate module
use Tk;
$top = MainWindow->new();

# Put together our window
$l = $top->Label(text => 'Hello, World!',
                 foreground => 'red',
                 anchor => 'n',
                 relief => 'groove',
                 width => 15,
                 height => 3);

# Display the window

# This ends our event loop
-----  end tkdemo1.pl  -----

Okay, what we'll do next is build a little window that
uses the Win32.pm module to show us some of the info
about our system.  Now, this script can only be run on
a Win32 system...it will NOT run on Linux (unlike many of
our previous scripts).  Also, I have only tested this on 
NT...I don't have a Win95 or 98 system to test this on, so
I have no idea if there are any problems.  I also don't 
know how this will work on 98...notice the array '@os' 
doesn't have an entry for 'Win98'.

-----  begin tkdemo.pl  -----
#! c:\perl\bin\perl.exe

# Import the necessary modules
use Tk;
use Tk::LabFrame;
use Win32;

# Get our variables
($string,$maj,$min,$build,$id) = Win32::GetOSVersion();
@os = qw(Win32s, Win95, WinNT);
($drive,$fs,$flags,$maxpath) = Win32::FsType("C:");
$bp = Win32::BuildNumber();
$ln = Win32::LoginName();
$nn = Win32::NodeName();
$dn = Win32::DomainName();

$mw = MainWindow->new();
my $f1 = $mw->LabFrame(-label => "Operating System",
         -labelside => "acrosstop");    

$f1->Label(text => "$os[$id] $maj\.$min $string 
                   Build: $build")->pack;    

my $f2 = $mw->Label(text => "File System:  $fs")->pack;

my $f3 = $mw->Label(text => "Perl Build:  $bp")->pack;

my $f4 = $mw->Label(text => "Login Name:  $ln")->pack;

my $f5 = $mw->Label(text => "Node:Domain:  $nn:$dn")->pack;

-----  end tkdemo.pl  -----

Again, this script was not fully tested...I just don't have
the systems available.  The purpose is just to give you a 
brief introduction to Tk.  Later, we will look at event bindings
and other ways to make use of this GUI system.

Check out this site for some links to Perl info:

Editor's Comments

Again, I'd like to ask the HHD readers...if you have a response to
a question posted in the Reader's Submission section, make sure 
that you email the response to the reader who asked the question.

If you have a long response, or a mini-guide as a response, please
post it on a web page, and send me the URL.

Finally, if you have an article submission (which is always 
appreciated), please follow a couple of simple guidelines:

- Check your spelling and grammar
- Be explicit and explain things clearly
- Post it on a web page and send me the URL



This is a list devoted to *legal* hacking! If you plan to use any
information in this Digest or at our Web site to commit crime, go away!
Foo on you! Don't email us bragging about any crimes you may have committed.
We mean it. 

For Windows questions, email keydet89@yahoo.com
For Unix questions, contact unixeditor@cmeinel.com.
For Macs, email Strider <s.corinth@iname.com> 

Happy Hacker staff: Unix editor, <unixeditor@cmeinel.com>;
Windows editor, Keydet89 <editor@cmeinel.com>; postmasters Jonathan D.
Zerulik and William Lewis <>; Hacker Wargame Director,
Vincent Larsen <vincent@sage-inc.com>; Wargame Sysadmin, Satori
Clown Princess: Carolyn Meinel <>

Happy Hacker is a 501 (c) (3) tax deductible organization 
in the United States operating under Shepherd's Fold Ministries. Yes! 
This is all a plot to save your immortal souls!

 © 2013 Happy Hacker All rights reserved.