Copy Link
Add to Bookmark
Report

Black Lodge - Revista Digital No. 6

eZine's profile picture
Published in 
Black Lodge
 · 2 years ago

*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* 

P010101b 01 1010 d0101010 01 01
01 100 10 010101 10 0 10 10
10 00 01 10 10 10 01 01
01010d 10 01 01 01 10.01
10101P 01 10101010 10 0101.
01 00 10 01010101 01 10 10
10 010 01 01 10 10 10 0 01 01
d101010d 10101010 01 01 b1010101 10 10

xx .xxxxxx. xxxxxxx. .xxxxxx. .xxxxxx.
xx xxxxxxxx xx .xx xxxxxxxx xxxxxxxx
xx xx xx xx xx xx xx
xx xx xx xx xx xx :xxx xxxx:
xx xx xx xx xx xx :xxx xxxx:
xx xx xx xx xx xx xx xx
xx xx xxxxxxxx xx .xx xxxxxxxx xxxxxxxx
xxxxxxxx .xxxxxx. Xxxxxxx. .xxxxxx. .xxxxxx.

M A G A Z I N E

*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*

Revista Digital No. 6

Sitio Oficial de Descarga:
http://blacklodge.8k.com

Distribuidores y Sitios de Promocion:
http://www.vanhackez.com
http://www.dreamers.com/fondoperdido



CONTENIDO:


---EDITORIAL---
---EL MISTERIO DE LA CARPETA RECYCLED---
---TU PRIMERA EXPERIENCIA CON PERL---
---SER HACKER (La Realidad)---
---UN POCO MAS ALLA DE UNIX---
---PRACTICANDO ENSAMBLADOR---



---EDITORIAL---


Parece mentira, pero ya van 6 numeros de esta Ezine (esperamos 9999 mas).
Cuando lleguemos a ese numero podremos festejarlo, jeje.
Vamos a tocar puntos muy interesantes como el lado oculto de la carpeta
"Recycled", programas basicos de Perl, un texto sobre Hacking respecto a lo
que pienso y siento del movimiento "Under".

No podia faltar el Unix, con unas instrucciones basicas, pero que normalmente
no vienen en muchos tutoriales y otras no tan basicas pero muy importantes.
Por ultimo, el ensamblador, con programas basicos para comenzar a compilar
con TASM, asi que tienes mucho trabajo, y yo tambien, asi que comencemos...



---EL MISTERIO DE LA CARPETA RECYCLED---


Me gusta este tema para comenzar porque esta revista la hago en el
trabajo en mis ratos libres. En caso de que alguien revise mi computadora
nunca encontrara este texto (a menos que lean esto). El directorio "recycled"
que es usado por la papelera de reciclaje tiene un doble fondo (como los
sombreros de los magos). En Windows se comporta como "Papelera de
Reciclaje", pero bajo MS-DOS es un directorio con truco, porque lo que
guardes no se vera con el Explorer. Digamos que el explorer es lo que el
publico ve, y el command.com es lo que el mago ve. Si guardas un archivo
ahi con el explorer, es como si lo hubieras eliminado, pero si lo copias
bajo DOS, es como si lo tuvieras en una carpeta completamente oculta.
De hecho, si tienes un archivo guardado en la carpeta "Recycled" bajo
DOS, Windows no lo puede ver, ni siquiera con la opcion "buscar".
Espero haber sido claro en mi explicacion. Esto no significa que todo se
pase a el lado oculto. Si copias o creas archivos bajo DOS, solo los pueden
accesar ahi, pero actualmente quien haria eso?.

Antes guardaba mis E-zines en .zip y los renombraba como .bin, jeje, eso
funciona tambien. Como antes leia E-Zines en el block de notas, quedaba
en la odiosa carpeta de mis documentos (historial), pero en la configuracion
del menu inicio (click derecho en la barra de tareas y propiedades o en
inicio y luego en configuracion) borras ese Historial cuando lo desees
(como para ir al W.C. o algo por el estilo). Recuerda checar tus logs
del zip, es poco probable que alguien los revise, pero la probabilidad
esta ahi y existe.



---TU PRIMERA EXPERIENCIA CON PERL---


Probablemente ya has hecho algunas paginas y quieres avanzar en programacion.
Esto lo vamos a conseguir con un lenguaje de programacion sencillo pero muy
poderoso: PERL.

No vamos a entrar en el tema de CGIs, simplemente vamos a analizar unos
programitas sencillos que los puedes ejecutar bajo Unix o Linux.

Para saber si tu Linux tiene Perl, escribe:

$ which perl

Donde recibirias una repuesta paracida a: /usr/contrib/bin/perl
O tambien esta la opcion de escribir:

$ whereis perl

Donde recibirias una respuesta como: perl: /usr/contrib/bin/perl

Si tienes Perl, ya la hiciste, ahora abre un archivo de texto plano en el
"vi" o en "pico" para que metas el codigo que a continuacion vamos a
analizar. Perl es un lenguaje que no se compila, pero no es interpretado,
digamos que es un intermedio. Si escribes uno de los siguientes codigos
solo tienes que guardar el archivo y cambiarle los permisos con:

$ chmod 700 archivo.pl

Para ejecutarlo solo escribe el nombre:

$ archivo.pl

No es necesaria la extension, pero te puede ayudar para organizar tus
programas.

Ejemplos:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

# ESTE ES UN COMENTARIO
# la ruta (arriba) de Perl puede variar
# se pone para poderlo ejecutar, debe ser absolutamente
# la primera linea de codigo

################################################################
# #
# primero.pl #
# #
################################################################

print "hola mundo\n";


# Las secuencias de escape son como las de C.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

################################################################
# #
# edad.pl #
# #
################################################################

print "Dame tu edad:";
$edad = <STDIN>;chop($edad);

# capturamos la edad con la "Entrada Estandar" <STDIN>
# dejando en una variable el resultado.
# Se guarda tambien el retorno de carro (enter)
# como no lo usamos, se lo quitamos con chop, que toma el
# ultimo caracter, como no lo guardamos en una
# variable, se pierde y queda solo lo que se capturo antes del enter.

if ($edad>=21)
# Comparamos si es mayor de 21
{
print "Vamos, te invito una cerveza\n"
}
else
# si no es mayor a 21 NO se imprime ese mensaje
# y en su lugar se imprime este otro que sigue
{
print "Te invito un vaso de Leche, jeje\n"
}


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

print "Perl esta orientado a la busqueda, extraccion \n";
print "y formateo de archivos de texto\n";
print "Tambien es usado para manejo y gestion de procesos...\n";
# en este script usamos los 3 tipos de variables en Perl:
# la variable normal que guarda tanto texto como numeros:
$variable="Manzana";
# la variable de array:
@array=("Manzana","Guayaba","Mandarina","Mango");
$cuantos=$#array+1;
# y la variable array asociativa
%array_a=("Manzana",10,"Guayaba",4,"Mandarina",5,"Mango",8);
print "\nHola, soy una variable y tengo el valor de $variable\n";
print "\n... y yo soy un array y tengo los siguientes valores: \n";
print "$array[0], $array[1], $array[2], $array[3]";
print "\ny puedo decirte que el total de valores es $cuantos\n";
print "\n... yo soy un array asociativo, es decir, tengo una asociacion \n";
print "y un valor separados por una coma. Puedo tener varias asociaciones, \n";
print "que no son otra cosa que un nombre para mis valores variables, que \n";
print "en este caso son varios.\n";
$precio=@array_a{"Guayaba"};
print "El precio de la Guayaba es de $precio";
print "\nEsto es lo mas basico en PERL\n";

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

$cad1="Hola ";
$cad2="mundo";
print ("Tenemos una cadena cad1 y otra cad2.\n");
print ("cad1 tiene $cad1 y cad2 tiene $cad2. \n");
# el punto concatena cadenas
$cad1=$cad1.$cad2;
print ("Vamos a juntarlas en cad1 y ahora tendra el valor de $cad1\n");


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

print "Adivina la palabra: ";
$entrada=<STDIN>;chop($entrada);
$compara='jeje';
if ($entrada eq $compara)
{
print "Haz escrito la palabra correcta\n";
}
if ($entrada ne $compara)
{
print "Lo siento, esa no es la palabra\n";
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

system("clear");
# Al igual que en C, podemos llamar un comando del sistema con system.
$a=5;
print ("Tenemos una variable a que vale 5 ...\n");
$a=$a**2;
print ("la potencia de este numero es $a\n");

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

################################################################
# #
# ciclo.pl #
# #
################################################################

# for, como ya se sabe, hace ciclos determinados
# por ejemplo, aqui hacemos un ciclo del 1 al 10
# imprimimos los numeros y al final imprimimos
# la palabra hola y el valor con el que quedo i.
for($i=1;$i<=10;$i++)
{
print "$i\n";
}
print "hola\n";
print "$i\n";

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

################################################################
# #
# ciclo_while.pl #
# #
################################################################

$n=0;
while($n<=4)
{
$n++;
print "$n\n";
if ($n==3)
{
print "Adios\n";
next;
}
print "hola\n";
}


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /usr/contrib/bin/perl

$repite='*'x79;
print ("$repite\n");




---SER HACKER (La Realidad)---


Hablemos ahora del hacking, tema que esta hoy en boca de todos, aunque
tal vez no debieron nunca comenzar a hablar tanto de ese tema, creando
a un personaje de fantasia llamado "El Hacker" que no parece ser un
humano y solo se dedica a entrar a sistemas para borrar informacion,
crear virus y puede adivinar claves como si fuera un mago.

Antes, cuando tener un Unix era de privilegiados, entrar a un sistema
era interesante porque a los Administradores les pasaba por la mente
cualquier cosa menos que alguien entrara a su sistema. Cuando alguien
entraba, nadie lo sabia, se aprendia de lo que pasaba. Ahora tenemos
Linux y todo mundo esta alerta a los intrusos en los sistemas (por
lo menos deberian), pero todos quieren ser de esa clase de "Hacker"
que entran una y otra vez a los sistemas... nadie necesita eso. Nos da
la tentacion de ser uno mas, porque crees que es un reto, pero ya no
lo es, mucho menos es novedad... vamos, hay cosas mas interesantes por
hacer, no es un juego, estas desperdiciando tiempo valioso para
hacer algo que realmente vale la pena. Hemos visto demasiadas peliculas...
Dentro del famoso "underground" existe solamente gente inteligente y
curiosa que investiga cada dia acerca de la informatica y gente que no
tiene el caracter para lograr cosas, que solo destruye y pareciera que
no tiene algo mejor que hacer (lo mas probable es que su capacidad llegue
hasta ahi), sin tomar en cuenta las personas que hacen mal uso de sus
conocimientos para su enriquecimiento ilicito. Muchos les llaman hackers,
otros simplemente piratas informaticos. Unos los tachan de delincuentes,
otros les llaman heroes, yo solo digo que ser Hacker va muchisimo mas alla
de entrar a un sistema, no hay que quedarse cortos, aunque tampoco tienen
caracteristicas fuera de lo humanamente normal. Bien dicen que "ser capaz
de romper la seguridad de un sistema no lo hace a uno hacker de la misma
manera que ser capaz de encender un auto con un puente en la llave no lo
puede transformar a uno en Ingeniero Automotriz". Este ejemplo es claro.
El hacking va mas alla de bajar warez, abrirles la unidad de cd con el sub7
a compa~eros de escuela, vivir en IRC buscando a quien mandarle nuckes o
haciendo flood, borrar informacion, meterse a la computadora de la NASA,
romper la clave de un programa, mandar troyanos, hacer virus baratos y todo
eso llamado el "underground". Todo eso es basura y son delitos en menor o
mayor grado, creo que tu tienes la capacidad para mas. He leido acerca de
verdaderos Hackers como Linus Trovalds, Richard Stallman, Dennis Ritchie,
Miguel Icaza, (incluso "Napster") los cuales han iniciado algo que es
verdaderamente trascendente. Tambien he conocido gente con esas
caracteristicas unicas de un hacker, te recomiendo investigar acerca de
ellos y seguir leyendo esto. Ojala se publicara que ser Hacker es mejorar
Internet, mejorar Linux, mejorar las comunicaciones y herramientas que todos
usamos... es lo que buscamos los que realmente nos apasiona esto.

Hacker... que significa ser un Hacker?. Muchas son ya las definiciones a
esta palabra, pero tengo una definicion propia que al parecer no esta lejos
de la realidad. Un hacker es alguien que domina una tecnica. Despues de eso,
es cuando comienza la verdadera magia del Hacker. Es gente que va mas alla:
crea, innova, resuelve problemas, ayuda, documenta, asesora y apoya. Se
puede ser hacker sin computadora o internet?. Por supuesto que si.
Un hacker hoy en dia se refiere a la informatica, pero no es asi del todo
realmente. "Saber desmontar un coche y volverlo a montar, y que funcione,
puede ser mas de Hacker que asaltar las paginas de la NASA" (SET No 16).
Se puede ser hacker en el arte, la ciencia, la tecnologia... en todo !. De
hecho, quien es Hacker en las computadoras, es probablemente aficionado a
otras tareas que muestran un Hacker en potencia. Le gustan los videojuegos o
por lo menos era su vicio desde ni~o (en su defecto, le fascinan los juegos
de destreza), era el tipico que terminaba todos los capitulos y encontraba
atajos y trucos. Entre mas destreza y ma~a se necesite, mejor. Quizas tuvo de
esas piezas de plastico para armar vehiculos, naves, etc.. De grande tal vez
prefiera los juegos de rol, Arcade o el ajedrez. Le gusta la buena musica y
lo mas seguro es que toque algun instrumento musical y no tendria problemas
en aprender a leer musica y crear composiciones muy buenas. Odia la forma de
ense~ar en las escuelas, sin embargo le gusta lo practico de la ciencia.
Tambien es probable que se interese por la filosofia, metafisica, el yoga,
las artes marciales, etc. Odia la teoria, la rutina y cualquier tarea
infernalmente repetitiva. Siempre ha tratado de componer los aparatos del
hogar, especialmente los de sonido, calculo y mecanicos. Le gusta la libertad,
desarrolla inclinacion por los dobles sentidos y juegos de palabras. Tiene
una imaginacion sorprendente y es bueno para la redaccion, para inventar
historias y describir cosas. Tambien ha tenido interes por la ficcion. No es
algo obligatorio tener estas caracteristicas, pero un gran porcentaje de
hackers tienen la mayoria. Es extra~o, pero la musica de DEPECHE MODE esta
en primer lugar de las favoritas por los Hackers, aunque desarrollan una
aficion a muchisima musica. Es feliz en Sistemas operativos de modo comando,
aunque puede desarrollar inclinacion por el dise~o, creacion de musica por
computadora o juegos y le encanta la idea de no perderse la oportunidad de
abrir su computadora a la menor provocacion, pero sobre todo, es muy humano
y sensible. Una caracteristica basica de un Hacker es su inteligencia y
analitica, tiene buena memoria (solo cuando algo le interesa, lo demas se
le olvida facilmente), y sobre todo, tiene la paciencia mas grande del
mundo, la cual es indispensable para programar o buscar algo que no se sabe
si existe o se puede lograr. Le encanta leer, la television no le gusta mucho
a menos que sean programas como los Simpson o buenas peliculas. En general,
es una persona comun, con jeans y zapatos comodos. Para alguien que se
pasa horas frente a un ordenador, es basico la comodidad sobre la estetica.
Es facil identificarlos (si los ves) en la calle, simplemente tienen la cara
de haberse quedado dormidos sobre su computadora.

Si ya leiste algo de los personajes que he citado anteriormente y te parecen
conocidos los terminos: Linux, GNU, UNIX y C, Proyecto Gnome, etc. entonces
te daras cuenta de lo que significa ser un hacker. El sentimiento de un
hacker informatico es de la pasion por la programacion y sistemas. Realmente
disfruta escribiendo codigo. Su unica recompensa es ver que sus programas
son utilizados por miles de usuarios y son estables, que alguien ha llegado
a ser un experto gracias a sus tutoriales, asesoria o codigos que publica.
Probablemente te ha llamado la atencion ser Hacker, no te culpo de ello, los
medios lo pintan como si fuera SpiderMan o Superman... probablemente tambien
has leido tutoriales demasiado tecnicos y te has frustrado... tampoco te
culpo, no necesariamente debes conocer las caracteristicas de una maquina
Unix vieja, saber de cableado, de satelites, celulares, cajas azules o
fabricar Napalm para ser un Hacker... estas un poco fuera del camino.
Simplemente haz lo que mas te guste, hazlo cada dia de tu vida, y en menos
de lo que piensas seras un experto en ello. No te sientas mal si lo que te
llena es hacer programas en un solo lenguaje, si usas Windows, si solo te
gusta el dise~o, las paginas web, las redes, el hardware... seras mas
respetado que mucha gente que se dice ser Hacker. Tal vez no se podra decir
que eres un Hacker, pero... quien demonios lo necesita?. Sin embargo, si no
tienes limites... Felicidades, no pares de aprender cosas nuevas y
diferentes. Recuerda que un Hacker siempre tiene sed de conocimientos
relacionados con los sistemas, entre mas cosas aprenda, para el mejor.

Que necesitas para ser un hacker?. Basicamente te recomiendo saber usar un
Unix, es decir, esto es posible instalando un Linux en tu computadora, ya
que es lo mejor para aprender UNIX de forma gratuita. No tienes que odiar
a Bill Gates y prescindir de Windows, (es suficiente con que no lo idolatres
y evites sus programas) por el momento es casi imposible prescindir de el al
100% si en el trabajo y tus familiares lo usan. La foto que tengo de Navidad
me la envio un hermano en Power Point, en el trabajo me pasan archivos en
excel, etc. Mis programas favoritos para dise~o de paginas y algunos juegos
corren bajo Windows. Pero puedes usar ambos Sistemas Operativos (por el
momento) para evitar esa incompatibilidad. Si la computadora no es tuya al
100%, mejor ahorra un poco y comprate una propia, no hagas inventos en
articulos que usa toda tu familia, a menos que tus hermanos tengan interes
en Linux como tu.

Como ya sabes, el movimiento GNU trabaja basicamente sobre Linux, puedes
acceder a codigos fuente y tener herramientas para trabajar: Lenguajes de
Programacion, editores de texto y graficos, juegos, utilerias y los puedes
bajar de internet sin pagar nada. Por si fuera poco, incluyen el codigo
fuente para que aprendas de el. Bien, pero como empezar?. Primero consiguete
un cliente ftp que resuma archivos, te recomiendo el WS_FTP, es muy
competente y la version Lite (para estudiantes) es gratuita. Despues
consigue una direccion FTP (checa ftp.linuxberg.org) donde puedas bajar la
imagen de una distribucion Linux, quemas en un CD el archivo bajado, pero es
importante que tenga la opcion que lo grabe como "imagen", si no, no servira
de nada. Por ejemplo el Nero no cuenta con esa opcion, pero el Easy CD
Creator si (aunque en general sea mejor el primero). Debes tener
particionado tu disco duro, si no lo tienes asi, hay herramientas para
hacerlo "sin perder informacion", pero es peligroso, mejor respalda en CD
lo que tengas y dale un format a tu maquina y crea las particiones. Si no
tienes una CD-Writer, consigue con amigos una o saca tu HD y llevalo a donde
presten ese servicio. Asi grabas un CD de Linux y otro con tus datos (mp3,
imagenes, programas, trabajos, etc.). Siempre he pensado que una CD-Writer
es una buena inversion, no dudes en conseguir alguna, yo vendi mi guitarra
para comprar la mia, ya despues me recupere vendiendo CDs.

Ahora reinicia tu maquina y mete el CD (va a ser booteable) y sigue los
pasos. Elije la opcion de instalarlo en una particion y compartirlo con
Windows. Te recomiendo tener las caracteristicas de tu maquina para
configurar bien tu sistema. Consigue un buen libro de Linux o baja todos los
tutoriales que puedas, especialmente los primeros pasos e imprimelos. No
tengas miedo a equivocarte, esa es la intension de instalar Linux, que lo
hagas por ti mismo, no permitas que otro meta mano, recuerda que cada error,
cada cosa que salga mal, es fina y valiosa informacion para tu expediente,
que nadie te quite eso, buscate problemas, quita, pon y cambia cosas para
ver "que pasa", para eso eres Hacker, verdad ;) ?. Lo mas sano es que el
reto sea contigo mismo, puedes jugar al "Hacker" con amigos o compa~eros o
tratar de hackearte tu mismo. Aprende a usar Telnet y FTP, son las
herramientas que mas vas a usar para las comunicaciones. Tambien aprende
muy bien a usar el "vi" para editar textos.

Ya tienes Linux, ahora viene algo mas complicado: comenzar a programar.
Lo mejor que te puedo decir es que busques un lenguaje sencillo. Muchos
iniciamos con BASIC, pero lo importante es tener un proyecto y comenzar a
programar en cualquier lenguaje, no te detengas mucho en la teoria, creeme,
te quedaras estancado. Crea una pagina propia para aprender HTML, no importa
que por el momento no pongas gran cosa, enfocate en el dise~o y en el codigo.
Puedes tomar datos de otros lados al principio, el chiste es tener menus y
secciones, informacion y fotos para manejar y experimentar. Yo aprendi en
http://www.wmaestro.com, me parece un tutorial muy completo. Para hacer una
pagina, no necesitas mas que un editor de texto plano (que viene en
cualquier Sistema Operativo) como el Notepad de Windows, Edit de MS-DOS o
vi de Linux-Unix. Para ver tu pagina, necesitas un navegador, (MS-Explorer,
Netscape, etc.), lo cual tampoco es problema porque vienen con el Sistema
Operativo o los puedes bajar de Internet. Si tienes Windows, te recomiendo
el MS-Explorer, pero si tienes Linux, el Netscape; se trabaja mejor asi.
No te dejes influenciar. Aprende a manejar y editar imagenes. Ve el codigo
de varios sitios y aprende a meter codigo JavaScript en tu pagina aunque al
principio no sepas porque hace las cosas. Analizalo y haz cambios, observa
lo que sucede, trata de ser mas independiente del codigo de los demas y
genera tus propios scripts. Te puedes basar en ellos para hacer cosas nuevas.
Cuando ya te guste tu pagina como para ser vista en linea, ahora te digo un
tip que normalmente no dicen en ningun lado. El servidor donde subas tu
pagina (te recomiendo geocities para empezar o freeservers cuando tengas mas
experiencia) lee por default el archivo "index.htm" o "index.html", asi que
lo que quieras que aparezca primero, debe llevar ese nombre. Despues que te
dediques a eso puedes usar programas para dise~ar, pero siempre es
importante saber modificar el codigo en casos de emergencia.

Ya que tengas los conceptos basicos, ve el codigo fuente de todas las
paginas que te gusten, utiliza buscadores para encontrar mas y analizalas,
trata de encontrarle logica a lo que encuentres ahi. Puedes conseguir
un tutorial de JavaScript para facilitarte un poco las cosas, aprende lo que
puedas, lleva tiempo, poco a poco estaras mas adentro.

Ahora vamos a trabajar en MS-DOS, aprende a hacer archivos de procesamiento
por lotes (.bat). En linux, algo similar son los "shells", aqui veras
ejemplos. Despues aprende PERL, podras ejecutar programas PERL en linux,
ya que viene incluido como una herramienta. Consigue un buen tutorial y
tambien aplica los codigos que encuentres aqui. Ya que dominas la
programacion de scripts y lenguajes no compilados, vamos a pasar a la
compilacion. Ahora si es tiempo que ahorres para comprar un buen libro de C
(o varios si es necesario), en caso extremo, baja tutoriales. Pero eso no te
servira de gran cosa si no programas y si no consigues codigos de programas
para aprender cada dia (prefiere siempre los sencillos que resuelvan cierto
problema). Mi frase favorita es: DIVIDE Y VENCERAS. Haz un programa en tu
mente similar a este:

do {
leer codigo
escribir codigo
} until usuario=="Hacker"


Pero no te quedes ahi, un Hacker no se conforma con saber C, puedes en un
futuro aprender PHP, Python, Lisp, y asi pasarte a lenguajes para Bases
de Datos (FoxPro, DBase, Clipper, Oracle, Informix, DBMan, etc.), Lenguajes
Orientados a Objetos (C++, Java, Delphi<Objet Pascal>, Visual Basic, etc.),
asi como Ensamblador y hasta donde te alcance la vida.

Una vez un primo me dijo que si no tienes un proyecto, de nada sirven los
conocimientos que adquieres y se van a la basura, asi que consiguete uno
pronto. Puedes ayudar a quienes comienzan cuando ya vayas avanzado. No
olvides nunca que: no existen preguntas tontas, solo respuestas estupidas.




---UN POCO MAS ALLA DE UNIX---


Digamos que este es un complemento a el articulo de la primera
publicacion, si quieres aprender instrucciones, revisa tu directorio
/bin, ahi encontraras las instrucciones validas en tu unix.

Escribe:
$ man <instruccion>

Es muy importante que aprendas a usar tambien los parametros
de cada instruccion, se puede decir que el buen uso de ellos
facilita nustro trabajo y nos da muchas opciones de optimizar.
(Vienen tambien en los manuales).

Primero debemos saber en donde estamos, las instrucciones que
nos dicen eso en Unix son las siguientes:

$ hostname
Nos dice el nombre de la maquina donde estamos conectados.

$ uname -a
Nos dice la marca de la maquina Unix y algunas caracteristicas
mas, gracias a el parametro "a" (todo).

$ pwd
Nos dice la ruta o directorio de trabajo actual, es decir,
donde estamos situados.

$ who
Nos dice los logins que estan y otros datos sobre ellos.

$ ps
Nos dice los procesos de nuestro login. Si usamos el parametro
"e", nos muestra todos los procesos. Si usamos el parametro "f"
nos muestra los datos a "full", osea, mas completa la informacion.

$ ls -Fa
Nos dice el total de archivos del directorio. El parametro "F" es
para que indique con * si es un ejecutable, con una / si es un
directorio y los demas seran en texto. El parametro "a" sirve
para que muestre incluso los archivos o directorios ocultos.
Si es una lista larga puedes agregar el parametro "| more" para
que muestre lo que quepa en una pantalla y si das enter te muestra
la siguiente linea, si das barra espaciadora te muestra la siguiente
pantalla.


En unix no hay archivo que no se pueda borrar, hay archivos que
son dificiles, pero aqui comentaremos como hacerlo de
una manera bastante sencilla y simple.
Por ejemplo, para hacer un archivo que haga sudar a un
administrador inexperto lo logramos con:

$ cat >-hola

Aparecera solo el cursor, puedes escribir algo o simplemente oprimir
ctrl+c. Habras creado el archivo -hola, al intentar borrarlo
normalmente aparecera:

$ rm -hola
rm: illegal option -- h
rm: illegal option -- o
rm: illegal option -- l
rm: illegal option -- a
Usage: rm [-Rfir] file ...
$

Tampoco funciona con comodines, alguien que no sabe se sentira incomodo.
La solucion esta en escribir:
$ rm ./-hola

Y ya esta solucionado el asunto...para un administrador con mas
"callo" o experiencia, esto esta para reirse.



---PRACTICANDO ENSAMBLADOR---


A continuacion les mando unos programillas sencillos para ensamblador,
para que los que comienzan les resulte facil comprender lo basico de
este lenguaje de bajo nivel.

El siguiente programa esta hecho para el Debug, espero te sirva.

- a100 ; ensamblamos a partir de la direccion 100
2C1B:0100 JMP 011D ; asi le hacemos para meter los datos
2C1B:0102 [ENTER]
- E 102 'Hola, como estas.' 0D 0A '$' ; estos son los datos
- A011D ; pedimos ensamblar de nuevo
2C1B:011D MOV DX,0102
2C1B:0120 MOV AH,09 ; cargamos en AH el numero de funcion de la INT
2C1B:0122 INT 21 ; la interrupcion que muestra mensajes
2C1B:0124 INT 20 ; como ya sabes esto nos saca a DOS
2C1B:0126 [ENTER]
- h 126 100 ; pedimos la longitud del programa
0226 0026 ; esto lo pone el debug es el resultado de la suma y resta
; de las direcciones
- n prueba.com ; le ponemos nombre a nuestro bebe
- rcx ; que se cargue al registro cx
CX 0000 ; esto tambien lo pone el debug
:000a ; le ponemos la diferencia de la resta de las direcciones
-w ; grabamos y nos retiramos ...
-q ; salimos



Los siguientes programas hacen algo util y visible, vienen comentados,
asi que aqui se los dejo, todos con .com osea que los enlazas con /t.

--------------------------------------------------------------------------
; este programa recibe un caracter del teclado sin eco
.286c ; no le tomes mucha importancia a esto
de segment para public
assume cs:de, ds:de, es:de, ss:de
org 100h
start:
mov ah, 7 ; cargamos el numero de funcion de la interrupcion
int 21h
int 20h
ends de
end start
-------------------------------------------------------------------------
; este programa recibe un caracter del teclado con eco
.286c
d2 segment para public
; asumimos los segmentos de un .com
assume cs:d2, ds:d2, es:d2, ss:d2
org 100h
start:
mov ah, 01h ; cargamos la funcion de la interrupcion
int 21h ; llamamos la interrupcion que usamos
int 20h ; y nos vamos
ends d2 ; fin de nuestro programita
end start
--------------------------------------------------------------------------
; este programa crea un directorio
aq segment byte para public
assume cs:aq, ds:aq
.186
; esto es una jalada, decimos que peq es igual a 100h
peq equ 100h
; no sirve de mucho mas que para ejemplo y para confundir, jeje
org peq
start:
lea dx, path ; cargamos el texto
mov ah, 39h ; cargamos la funcion
int 21h ; llamamos la interrupcion
mov dx, 0
mov ax, 0
int 20h
path db "jajaja",0 ; este es el nombre del directorio
ends aq
end start
--------------------------------------------------------------------------
.286c
dire segment para public
assume cs:dire, ds:dire, es:dire, ss:dire
org 100h
start:

; aqui cambiamos la configuracion de la pantalla
mov al, 6Ah
int 10h

mov ah, 39h
int 21h

; y salimos
int 20h
ends dire
end start
--------------------------------------------------------------------------
.286c
dire segment para public
assume cs:dire, ds:dire, es:dire, ss:dire
org 100h
start:

; aqui cambiamos la configuracion a la normalidad
mov al, 07h
int 10h

mov ah, 39h
int 21h

; y salimos
int 20h
ends dire
end start
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT