ABSOLUTE BEGINNERS
"computer knowledge for girls"
by Gogogirl
courtesy of fravia's pages of reverse engineering
(published at fravia's in September 1999)
Well... it is not really an essay about reversing, at least
not this part of it,
but it is however an attempt to interest people in
computer knowledge, i
know from my own experience that there are lots of
people
who are pretty bright and excellent problem solvers
who have ignored or just
chickened out when it comes to learning about
computers, just because of the
constant bombardment by commercial ads and the very
male approach when it
comes to trying to sell computers, i think that
reversing is an art very
suited for girls yet i have seen evidence of very few
female reversers, and
i know of very few girls who have ever bothered to
learn about computers, so
i decided to write some sort of clarification or
reference text for people
who know absolutely nothing about computers in an
attempt to catch some of
their interest and maybe turn them onto the path of
assembly language and
reversing,
anyway, im not sure that this one is for you, but i
really enjoy your page
and you seem dedicated so i thought iīd send it to you
anyway,
it didnīt look too good in your muster so i send it as
raw text, hope you
wonīt get upset about it,
best regards, GogoGirl
Computer knowledge (for girls)
So you want to learn what this tin-can next to the
keyboard is but you
havenīt found any real info, well there are (to my
knowledge anyway) very
few essays anywhere that deal with the fundamentals of
computers
operating-systems and all that other stuff that just
goes in one ear and out
the other, well here ios an attempt by little olī me
(GogoGirl)
You are sitting in front of a computer right? and you
are currently reding
something on the screen, how the hell did it get
there.
A computer isnīt really that hard to understand if you
just get some basic
info, like for instance;
1.what is a computer?
2.what is a computer program?
3.what is an operating system?
The first one is probably the hardest one, what a
computer is... itīs pretty
much a complex calculator that runs really fast but we
will have to leave
that for now since going there too soon would be too
boring for you (youīre
a girl and you want to have
fun right?)
2.The second one is simpler. a computer program is an
algorithm, a sequence
if you will, that consists of a list of events that
may or may not take
place if certain conditions are met, for instance, you
have a program like
notepad.exe, it consists of a window in which you
write stuff, if you have
written something in notepad.exe and open the menu at
the top of the window,
you then choose "save as" and type in the name
"mytext" and press the button
"save" it will save the text you have just written in
a textfile called
mytext.txt, we all (even total computer illitaretes
like the ones that this
essay is written for) know this but what we are after
is why this happens,
well the reason is that you by choosing "save as" and
typing in a name for
the file you met the one of the conditions for this
programs, the conditons
that makes this program save a file, but once again
what is a computer
program, well i already told you that it is an
algorithm, a list of events
or even better instructions, theese instructions has
to be loaded into to
the computers RAM memory for interpretation so that
the computer can
understand them, then you may say: -but its already in
the memory, i have
tons of gigglybytes of ram on my c: hard-drive and
lots of other stuff
too.....
No there is a difference in memory and hard disk
space, on the unit c: which
is your hard-drive there is a static type of storage
memory, this is not
computer memory, only a way of storing information
staitcally, you can copy
a file onto the hard-disk but you have to load it into
a RAM memory to ba
able to use it, the RAM memory is a bank which can
hold information
dynamically, in the RAM memory the information
(sequence of instructions)
of the computer program is stored temporarily and as
long as the program is
runnign you can use it, by this i mean that the
program will respond to any
conditons that you meet, for instance if you enter the
save menu, and so on,
a computer program is also called a file, but there
are a lot of different
types of files but in the end they are all programs or
parts of computer
programs, that goes even for the file "mytext.txt"
that we produced earlier,
on its own it canīt do much but when read in notepad
it can provide you with
useful information that you may have written in it,
for instance a shopping
list or an adress for somone or whatever,
So now we have established that all files are programs
and all programs are
just some kind of code that the computer understands
and monitors and when
you do something in relation to the program, it
responds and does this or
that, well that wasnīt too hard,
3.What is an Operating System?
I said in the last lines of the last segment that a
program is interpreted
by the computer, but that is really just half the
truth, you see on your
computer there are several programs running at once,
the biggest and most
corrupted and anoying is known as Windows, if itīs 95
or 98 doesnīt matter
itīs still just a crappy program, but we all have to
use it so letīs make
the best of it,
Ok lets get going here, we can nag when we get old and
ugly,
There is as i said several programs running on your
computer at any given
time,
if you want a brief overview of whatīs happening press
CTRL*ALT*DEL and
windows will display a listof current events in the
RAM memory of the
computer,
there will be a few incomprehendable names of stuff
you never really heard
anything about, so lets forget about them for a while,
As i said earlier
Win95/98 is also just a computer program and its
constantly running (as long
as you have your computer turned on) and monitors what
you do and what the
programs you load into memory can or can not do, one
of the things that
windows monitors is how you move your mouse-pointer
for instance, have you
noticed that the mouse-pointer doesnīt show up on your
screen until windows
has finsihed loading, thatīs because without windows
it doesnīt exist (well
it does but not in the sense of being available).
Windows is as i said a big
program that works in the background and it provides
access to you computer
and the functions that it has, for instance when you
click on a file (for
instance "mytext.txt" and hpold the mouse-button down
you can drag the file
across the screen and drop it wherever you want, and
if you drop it on a
different hard-disk than the one that it is on it gets
copied onto that
drive, now you probably know that just the mouse
itself could never figure
out how to do that, and neither can your computer, but
windows can, because
windows controls both the mouse pointer the mouse
buttons and the hard
drive, and the filing system and blah blah blah,....
so windows is used to communicate with your hardware,
your hardware is the
stuff that some guy has jammed into the magic tin-can
next to the keyboard,
the hardware generally constists of the following, a
"motherboard" this
board is a big plate which holds the processor,
graphics card, sound card
and some connectors for mouse, keyboard and printer,
the processor is the
one that all the boys wants to be as fast as possible,
its that pentium one
two or three and the one that is bragged about in all
commercial
advertisements, the processor has a clock-rate which
can be for instance 400
Mhz, there are different types of processors but we
donīt care coz its
running and thats enough for now, the graphics card is
the one that paints
the screen, it translates raw data into something that
can be portraied on
the screen, and the soundcard plays sounds in more or
less the same way.
All this is your hardware and windows is in control of
it, it tells the
hardware what to do and it does this by using the
processor, the processor
is basically a railway central station, windows sends
data to it and the
processor passes it along, for instance to the
graphics card,
All this means that you cant just run a program on a
computer you have to
have an Operating system to enterpret the program and
to communicate with
the hardware functions in your computer, in fact
without an operating system
the computer is dead,
There are other operating systems and they vary a lot
in size, performance,
stability and functionality, for instance DOS, DOS is
much much smaller than
win95/98 and it uses a different way to access the
hardware, and a different
interface (the inteface is what the sceen looks like
when you are running
the OS) in dos you donīt have all the fancy grafix and
you donīt have a
mouse (well you can have if you have dos-drivers for
your mouse) basically
you just type your commands in it, the example for
today being a file copy,
in windows you just put the mouse pointer on top of
the file icon and click
the right mouse button, then you select copy from the
menu, move the mouse
to the directory into which you want to copy the file
and click the right
mouse button select paste from the menu and its all
done,
In dos you would have to write all of that by hand and
it would look
something like this:
Copy c:\mytext.txt d:\catalouge\textfiles
| | | | | |
| Hdd | Hdd | |
| Filename Directory |
The command Subdirectory-and the place where te file will be copied to
The command is copy (as it is a copy we want to make)
Hdd is an abbreviation
of hard drive the file name is the the file we want to
copy, d:\ is a second
hdd and catalogue is a directory on drive d:\ and
textfiles is a
subdirectory in the catalogue directory, this means
that its a directory
inside the directory,
Anyway there it is, dos commands, they arenīt very
hard but may be useful
once in a while, there are a few of them so if you
search on the web you can
find a reference guide for them, but thats another
story, do it when you
feel like it, we donīt want to get too bored right?
Ok back to windows, so how does windows work then?
well, first off, how does
it access the hardware (the cards and stuff) well it
uses something called
hard-ware-drivers, or just drivers, theese are small
programs that are
desigend by the manufacturer of the hardware to suit
the needs of windows
95/98 (or whatever OS you may be using) theese drivers
are not programs tat
you can run yourself, they are constantly run along
with windows and they
have to be otherwise your machine wouldnīt work, the
drvers explain to
windows how to acces the cards or mouse functions and
lets the hardware
communicate with the programs that you run,
The Files
There are many different types of files in your
computer and they work in
different ways, but first there is a modification you
must make in your
windows, open my computer by leftclicking on it, then
select from the
display menu, choose preferences and select show all
files and also select
show complete filenames, this will give you more
information on the stuff
crammed into your computer, and it will also give you
access to files you
didnīt know existed, there are several types of files
and here are some
breif descriptions of a few of them, all of the
filenames will by myfile
followed by an extension but i think youīll get it, ok
here we go_:
myfile.exe this is a program, you can run this type
of file either by
itself or along with some other file, some dos-files
called anyname.exe
produce an ms-dos window on you screen theese files
can either be run in dos
or winows, sme of them wonīt run unless you attach a
file to them, for
instance drag another file and drop it on top of the
file.exe, if you try to
run just the file.exe you get some kind of message
about parameters and
stuff, that is the information that tells you how to
use the program and so
on, but if you want to learn more about ms-dos i
suggest you download some
sort of reference manual, in windows files however
they usually start of a
program or a window with different kinds of functions,
the.exe file can also
summon functions from other files of other kinds, for
instance .dll files or
stuff like that, but the main point abourt the .exe
file is that its a
program and can be run.
the .exe stands for executable
myfile.com this is a smaller and less complex version
of the .exe it can
also be run but usually it requires some other file to
be either in the same
directory or that you write some file name or
parameters (parameter are
numbers or letters which the .com program understand)
to make it run, the
.com stands for command, one good example is the
format.com which is a
program that erases your harddrive, it has to be used
with a parameter, and
the parameter in this case is c:\ or d:\ or whatever
harddrive you want to
format, (donīt run it unless you are sure of what you
are doing ok?
myfile.txt This is a textfile, it contains little
more than the text you
put into it, it is generated by notepad and is mainly
just a container for
text.
myfile.bat this is a batchfile, it contains a
sequence which is executed
when you run the batchfile, the easiest way to
describe it is probably to
say that it is a very long command line in ms-dos, it
can be used to
automate processes, like for instance the file copy
that we wrote in ms-dos
earlier, so if you want to copy a file a thousand
times to the same location
without typing the commands you can create a batchfile
for it, (there are of
course much more useful things you can do with this
type of file but if you
really are that interested you can search on that
topic on your own, there
is plenty of info)
myfile.log This is a log file, it is generted by
some kind of program,
there are many different programs that generate theese
kinds of files,
usually its a way to store error messages when
something goes wrong in your
computer, then you can open the .log file in notepad
and read what actually
went wrong, pretty handy sometimes, basically it just
keeps record of events
that has taken place in the machine
myfile.dat this is a database or file that contains
infrmation on how
something should work or look, there is a file called
system.dat on your
harddrive, that is actually your registry, the
registry is a very large
database which conatin all the settings of you
computer, what kind of
hardware you have and software of course, it is
generated continously by
windows, it has a lot of information about you and
what you have been up to,
there are many text-files on the registry that you can
read and ii think you
should since there is a lot to learn there
myfile.ini this is an Initialization files, it is
written to set
parameters in a program, like for instance in the
"win.ini" which is the
file that set up certain parameters in windows when
you start it up, in the
win.ini (you can open it by typing win.ini in the run
dialog box on the
start menu) you can find for instance details on how
your desktop looks, if
you have set a wallpaper (backgorund picture) and
where it is located on
your hdd, (windows needs to know where the wallpaper
is so that it can load
it into memory, the RAM memory we talked about
earlier, then it can display
it on your monitor) there are also another use for
.ini files, like for
insatnce when you install a program, there is very
often a .ini file in the
setup directory (the place where the installation
files are kept., and this
.ini files tells the installation process where the
files should be placed
on the harddrive, the installation tells windows where
to put the files and
then windows remembers it, and the way windows
remembers is by writing down
the locations of the files in the system.dat or what
we know as the
registry, but we will talk more about that later.
myfile.dll Dynamic Link Library, oh man, this
sounds really hard, what
the hell is a link library and all that, well its not
so hard as it sounds,
and it will seem evenm easier after the next chapter,
i promise, well the
dll file or dynamic link library is a file that
contains information that
can be used by other programs (the .exe files for
instance :-} ) these .dll
files are commonly found in the c:\windows\system
directory, but can also
appear on other places, itīs usually niot a good idea
to move theese files
since they are often installed in a place where thay
have to be, otherwise
the .exe file wonīt know where to find them, they
often contain
information that a program needs to function, and
unlike the .ini or .txt or
log files they are a intricate part of the program
(the .exe file) and are
useless without it, and so is often the .exe file in
fact,
myfile.zip this is what we call an arcive, or a
packed file, what it
basically is is a way to store files that you arenīt
using, you canīt run
the files stored in an arcive, you first have to
unpack them, you can unpack
a zip-file by using winzip(from windows) and
pkunzip(from dos) pkunzip is
used as a command ie you type a command line in dos
like you did when you
copied the file in ms-dos, the command line for
pkunzip could look something
like this:
Pkunzip.exe myfile.zip
| |
Command parameter
the command is the name of the program you want to
use, in this case
pkunzip, and the parameter is the name of the arcive,
there are other
parameters that can be used by pkunzip but lets not
trouble ourselves with
that, you can find info on that on the web too,
In windows on the other hand we use winzip (or
winzip.exe since it is an
executable program). If you donīt have winzip
installed on your computer,
please get it since you may need it from time to time,
but i bet you already
have it, anyway we use winzip in the casual manner of
clicking on the file
myfile.zip and then a box opens, in this box we can
see what files are
contained within the arcive, we can then choose to
extract the files and
designate a place where they should be put, the
process is more or less
automated so there shouldnīt be much trouble,
The zip-file is probably the most common way of
storing files that arenīt
being used at the moment, it is also an excellent
container for storing
multiple files to be sent over the internet, you can
store basically as many
files as you like inside a zipfile and it even
compresses the data so that
the zip-file is smaller thatn the combined size of all
the files of the
arcive, pretty neat huh,
The are other ways of arciving files, the most popular
are .rar and .ace
produced by Winrar and Winace, or dos version Rar and
Ace which are more or
less the same as the zip, they work the same way, end
of story for now, and
as always more details are available at your
fingetips, just search on the
web
More general stuff
Ok there are a few more things that need to be said
about theese filetypes,
first off, theese are not all the file-types available
to you and windows,
there are plenty of others but frankly to list more
would not only be
unnecessary, it would also be very tedious, anyway
there are generally in
the files i have mentioned more or less two distinctly
different types of
files (apart from the zip-file which is the exception,
it doesnīt have
anything to do with the other two kinds)
The first kind is the text-files, the ".txt" and the
".ini" the ".dat" and
the ".bat" files are really just text files that are
treated in different
ways by windows because of the different file
extensions, windows users
(hence also windows) need to have different extension
on the files because
it would be a bit too confusing to have all files
labeled .txt, it would be
hard to know which was which and so... but in the end,
they are just
textfiles with different file extension, they programs
in the sence of being
files and that they contain information, but they are
not programs that can
be run like for instance notepad,
The other filetype is a bit more interesting (well
thats more of a taste
issue but right now i feel that they are) the files
with the extensions
".exe" and ".com" and ".dll"
are all a form of executables, unlike the textbased
filetypes they cannot be
read in notepad, they are in fact programs that
perform an action of some
sort, and to be able to do that they have to contain
machine code, th
machine code is a computer program or an algorithm
that has been translated
into a binary sequence, and by that i mean it consits
of a long row of 1īs
and 0īs theese would impossible to understand for any
human but perfectly
understandable for any computer (as long as the
Operating system supports
the file that is) when you turn a computer program
into binary code it
becomes an .exe file, it becomes a runable program
that can be loaded into
the RAM memory where it is executed and wait for its
conditions to be met,
as we spoke of in the beginning, the .com file is a
smaller and less
complicate version of the .exe and a .dll is a kind of
extension of the .exe
file, if you brake it down to really simple terms we
could say that the .exe
file is a house (your home) the .com is your trailor
and the .dll is your
toolshed, the .com is a selfsupporting unit in many
ways like your house but
smaller and less complicate, the house is also
selfsupported but sometimes
it may need items from the toolshed, for instance a
wrench to fix the
plumbing in the bathroom,
All theese filetypes have one thing in common, they
are binaryīs and are
programs, they contain computer code and they canīt
really be understood by
leafing through them, or can they
hmmmmm.................
well yes in fact there is some ways of understanding,
the first thing you
need to do is to find a way get to read them, you cant
do it in notepad, it
just wonīt let you open them, and you canīt do it in
word-pad coz youre just
not allowed, how then, well we need some tools, we
need a disassembler,,,,
STOP HOLD IT RIGHT THERE!! whats that i donīt knwo
what youre talking ībout
???????????
Well ok weīll slow down again, To produce a computer
program you need to
write it, and since i earlier said that you canīt
understand binary code,
there must be another way around it right, yep there
is, you write the
program in a text editor (notepad? yes indeed) you
write it in a compilable
computer language, A compilable computer language is a
languge that consists
of a set of instructions, basically there can be
instructions that tells the
compouter to type something on the screen or to paint
something on the
screen or play a sound or something like that, theese
instructions look
different in the different computer languages that
exist, they vary in
length and complexity and understandability, there are
several different
languages as i said, here are a few of them:
C or C++ a commonly used and pretty wel respected
language that are used by
many programmers that write applications or games for
windows, not too hard
to learn and pretty fast and functional,
Visual Basic Just a joke this is not a language yet
somehow it is getting
more and more popular, it produces unworking huge
applications that crash
almost every time, not hard to learn but even easier
to ignore.
Assembly Yep this is the one, its what we want to
learn its the key to
they real inside of the box, its lightning fast and it
is the basis of all
programming, harder but not impossible and of course
the one true love of
any computer entusiast, the main reason for this is
that you can (almost
always) get an ssembly version of a file that has been
compiled and
therefore gain access to the code (that is if you
understand assembly
languge)
Theese three languages are just the most common ones
but there are others,
pascal java and others, but you can as usual track
down your own info about
thoose on the web.
Ok back to the issue, how can we read and understand
the binary files, the
programs, hmm, well since they are what we call
compiled (to compile is to
take the text information that is written in notepad
or any other text
editor and translate it into binary code, it works
like this, if you for
instance write a computer program in the language C++,
you write it as text
commands in notepad, after you have written the
program you run it through
what we call a compiler, in this case a C++ compiler,
any other wouldnīt
work you see, this compiler (which in itself is a
computer program) will now
translate the text (the written C++ commands) into
binary and executable
code, this generates the .exe file which can be run on
your computer,
The compilation will render the program unreadable for
humans but
understandable for the computer.
But there is a way to decompile the file, or at least
disassemble it, and
they way we do this is by using a disassembler, the
disassembler takes the
binary code of the executable file and translates it
back to assembly
language, this makes it at least partly understandable
for somone who knows
assembly language, and if you learn to read assembly
language you will
eventually be able to crack or modify programs so that
you can use them as
it suits you, sounds exciting? yes indeed.
In the disassembled code we can find information about
the program and how
it works, and we are again able to read the algorithm
of the program.
homepage
links
anonymity
+ORC
students' essays
academy database
bots wars
antismut
tools
cocktails
javascript wars
search_forms
mail_fravia
Is reverse engineering illegal?