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.




red

 


red

redhomepage red links red anonymity red+ORC redstudents' essays redacademy database redbots wars
redantismut redtools redcocktails redjavascript wars redsearch_forms redmail_fravia
redIs reverse engineering illegal?