lunes, 28 de enero de 2008

El registro desde C#

Asran [asran@ispp.rimed.cu]

Aquí estoy otra vez con el tema del Registro de Configuraciones de Windows. Por lo pronto aprovechando la fuerza con que ha entrado el C# al mundo de la comunicación hombre-maquina me decido a presentarles la Using Microsoft.Win32 que da soporte al trabajo con dicha componente del sistema.

Para no volver a explicar como funciona la rueda, quien no tenga conocimientos de lo que es el registro pues nada, que valla un poquito atrás en ediciones pasadas y lea lo antes publicado por Alien.
Bueno:

Empezamos:

Primero tenemos que adicionar la Using Microsoft.Win32, como debes saber esta es una librería que nos brinda una serie de funciones, tipos de datos etc. Para el trabajo entre otras cosas con el registro de Windows que es el tema que nos ocupa.

Dentro de la Ussing:

-El tipo RegistryKey
Veremos que es un tipo de datos que nos permitirá una ves que lo hallamos instanciado acceder a todo un conjunto funciones que facilitan las labores.
A continuación se listan las funciones más usadas:

Funciones más Utilizadas....
OpenSubKey ---------------------------------> Abre una subclave
CreateSubKey --------------------------------> Crea una subcalve si no existe, si existe la abre
DeleteSubKey --------------------------------> Elimina una subcalve
DeleteSubKeyTree ---------------------------> Elimina una subcalve que contenga subclaves
SetValue -------------------------------------> Crea una valor en la subclave abierta
DeleteValue ---------------------------------> Elimina el valor especificado en la subclave abierta
GetType ------------------------------------> Devuelve el tipo de valor (Binario, Cadena etc...)
GetValue ------------------------------------> Devuelve el valor especificado.

Nota: A la hora de abrir una subclave se recomienda la función CreateSubKey. Las razones de porque no se abren las claves con OpenSubKey habrá que preguntársela a Microsoft.

-El tipo Registry
Este es el tipo de datos que encapsula las Root que le asignaremos posteriormente a la variable de tipo RegistryKey para que pueda direccionar la Root donde estaremos trabajando.

- Los enumerados
Bueno sabiendo como trabajan los Enum en C# aquí tenemos una lista de los que tiene que ver con el tema.

Para tipos de dato.
- RegistryValueKind.DWord
-RegistryValueKind.ExpandString
-RegistryValueKind.MultiString
-RegistryValueKind.QWord
-RegistryValueKind.String
- RegistryValueKind.Unknown


Para Restricciones
-RegistryKeyPermissionCheck.Default
-RegistryKeyPermissionCheck.ReadSubTree
-RegistryKeyPermissionCheck.ReadWriteSubTree


Para la navegación por el árbol
-RegistryValueOptions.DoNotExpandEnvironmentNames;
-RegistryValueOptions.None;

El pollo del arroz con pollo

Bueno lo primero que deberíamos hacer es crear una variable de tipo RegistryKey. Después le asignamos la Root. Sería como sigue:

RegistryKey Reg;
Reg = Registry.LocalMachine;

Bueno teniendo un mínimo técnico sobre el tema pienso que no será difícil entender el código del parche que les presento. Está bien corto y fácil de entender, ya se los adjunto en la folder de las tools!!

Nota: No olvidarse de cerrar el registro con la función Close() al finalizar la jugada porque si no nunca nos vamos a enterar de lo que paso.
Otra nota: la mayoría de los cambios en el registro son efectivas luego de volvernos a loguear en el Sistema.

Bueno people ... espero que las automatizaciones lluevan ahora solucionando problemas.

Continuar leyendo

El Router

Jorgito [jorgeperez@infosol.gtm.sld.cu]

Router = Buscador de caminos?

Cuando envías un email a alguien al otro lado del mundo, ¿Cómo sabe el mensaje llegar hasta ese punto y no a cualquiera de los otros millones de ordenadores conectados? Gran parte del trabajo de llevar un mensaje de un punto a otro es realizado por los routers.

Definición de Router

Enrutador, encaminador. Dispositivo hardware o software para interconexión de redes de computadoras que opera en la capa tres (nivel de red) del modelo OSI. El router interconecta segmentos de red o redes enteras. Hace pasar paquetes de datos entre redes tomando como base la información de la capa de red.

¿Cómo funciona un router?

A diferencia de una red local del tipo Ethernet (la más habitual) en la que un mensaje de una persona a otra se transmite a todos los ordenadores de la red, y solo lo recoge el que se identifica como destinatarios, en Internet, el volumen es tan alto que sería imposible que cada ordenador recibiese la totalidad del tráfico que se mueve para seleccionar sus mensajes, así que podríamos decir que el router en vez de mover un mensaje entre todas las redes que componen Internet, solo mueve el mensaje entre las dos redes que están involucradas, la del emisor y la del destinatario. Es decir, un router tiene dos misiones distintas aunque relacionadas.

El router se asegura de que la información no va a donde no es necesario.
El router se asegura que la información si llegue al destinatario.

La primera función de un router, la más básica, es, como ya hemos indicado, saber si el destinatario de un paquete de información está en nuestra propia red o en una remota. Para determinarlo, el router utiliza un mecanismo llamado "máscara de subred". La máscara de subred es parecida a una dirección IP (la identificación única de un ordenador en una red de ordenadores, algo así como su nombre y apellido) y determina a que grupo de ordenadores pertenece uno en concreto. Si la máscara de subred de un paquete de información enviado no se corresponde a la red de ordenadores de por ejemplo, nuestra oficina, el router determinará, lógicamente que el destino de ese paquete está en alguna otra red.

Una vez nos identificamos en internet por nuestras direcciones lógicas, los routers entre nosotros y otros puntos irán creando unas tablas que, por decirlo de algún modo localizan donde estamos. Es como si estamos en un cruce de carreteras, y vemos que los coches de Francia siempre vienen del desvío del norte, pues lo memorizamos, y cuando un coche nos pregunte como se va a Francia le diremos que por el desvío del norte (espero que los entendidos me perdonen esta simplificación). Los routers crean unas tablas de como se suele ir a donde. Si hay un problema, el router prueba otra ruta y mira si el paquete llega al destino, si no es así, prueba otra, y si esta tiene éxito, la almacena como posible ruta secundaria para cuando la primera (la más rápida) no funcione. Toda esta información de rutas se va actualizando miles de veces por segundo durante las 24 horas del día.

Continuar leyendo

Puertos

Lic. Zeidy Lopez Collazo [ilinur@infomed.sld.cu]

Hoy en día el gran desarrollo de periféricos en el campo de las imágenes digitales, la telefonía vía PC, los juegos multimedia entre otros, ha obligado a los grandes fabricantes de Hardware a la creación de puertos de alta calidad.

Tipos de Puertos

Puerto Serie

Durante más de dos décadas ha sido el dispositivo más simple y común para la comunicación de las PC.
Es la mejor y casi única vía para enviar mensajes a grandes distancias.
La baja velocidad del puerto serie clásico era un inconveniente para la rapidez de las PC.
Nuevas tecnologías han logrado grandes velocidades, además se han vuelto más versátiles siendo más fáciles las conexiones a la PC.
Donde antes existía un “puerto serie” hoy existen varias vías de comunicación serie de interés.
Características
Toma 8, 16 o 32 bits en formato paralelo del bus de datos de la PC, y los convierte en una serie de pulsos en forma de cadena.
Implica una diferencia en la codificación.
La posición de un bit en la secuencia determina su significación (los últimos son lo más significativos).
Sólo requiere dos cables para la comunicación en un sentido entre dos dispositivos: señal y tierra.
El universo de la comunicación serie esta dividido en dos formas distintas: sincrónica y asincrónica.

Puerto Paralelo

Tiene 8 cables para mandar simultáneamente todos los bits que conforman un byte.
Esta interface es rápida y usualmente reservada para impresoras.
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
El principal problema del puerto paralelo es que sus cables no pueden ser extendidos para cualquier longitud sin amplificar la señal, o que ocurran errores en los datos

Los puertos paralelos pueden ser encontrados:
Interconstruidos en los motherboards actuales.
En tarjetas controladoras multipuerto.
En tarjetas sencillas de puerto paralelo (actualmente descontinuadas).
Interconstruido en tarjetas de vídeo MDA, HGC o CGA (actualmente discontinuados)

Cable utilizado en el puerto paralelo

RS-232

Todos tienen una base común (tratan los datos como una cadena serie de bits) pero cada uno toma su propia dirección.

Aparecen en las PC con el conector macho y en los dispositivos con el tipo hembra.
El número de señales a utilizar depende del tipo de control de flujo que se emplee, por software o por hardware, siendo similares en su efectividad.

Como se usa desde un mínimo de tres señales hasta un máximo de 10, los DB 25, pierden al menos 15 pines .
Los puertos serie así como la mayoría de los periféricos usan por defecto control de flujo por hardware.
El DB 9 disminuye el tamaño y los costos posibilitando la existencia de puertos paralelo y serie en la misma tarjeta.

Convierte los datos paralelos en series.
Posee registros que permiten la configuración de los parámetros y el control de la transmisión
Su operación es una de las limitantes del performance de la comunicación serie.
Trabaja en los dos sentidos: emisión y recepción
Adiciona los demás bits de la señal serie (start, parada y paridad).

Continuar leyendo

Zero day

Asran [asran@ispp.rimed.cu]

Bien amigos la cosa es otra ves con Windows, bueno aquí presento algo que le será de muchísimo interés a estudiantes y personas que usan maquinas publicas. Se trata de un bugs de los Sistemas Operativos Windows basados en la New Tecnologic (NT) de los Microsoft. Este (bichito) permite que un usuario (restringido) o sea con privilegios limitados ejecute aplicaciones con permisos de una sesión NT AUTHORITY\SYSTEM.

Nota: esta cuenta tiene más privilegios que un Administrador.

Pues bien el caso es que el comando AT.EXE que se utiliza para programar tareas ejecuta las aplicaciones bajo licencia del usuario SYSTEM. y asi es como podemos ejecutar el explorador de Windows o una aplicación cualquiera con mas privilegios que el mismísimo Administrador.

Como trabajar con 0-day:

1- Levanta el símbolo del sistema inicio--> ejecutar -- > escribe cmd.exe ---> enter.
2- Mira en la barra de tareas la hora local del sistema, (ejemplo 5:35am)
3- Escribes la siguiente línea

C:\ at 23:06 /interactive "cmd.exe"

4- Espera que te aparezca otra ventana de simbolo del Sistema.
5- Cierra la primera y tecla lo que sigue

C:\ taskkill /F /IM explorer.exe

6- Luego esto

C:\ explorer.exe

De esta forma se cargará un nuevo escritorio con permisos de SYSTEM, todo lo que ejecutemos a partir de ahora tendrá permisos de System.

La contra:

Bueno a quien le pueda interesar invalidar este bug puede eliminar la aplicación at.exe en C:\WINDOWS\system32
No digo esto para estar en paz con dios y el diablo que se sepa bien si no que uno nunca sabe de parte de quien esta la justicia y mucho menos quien tiene la verdad de la verdad.

Importante !!!

Algo que debes saber:
Las maquinas publicas son propiedad social y como mismo se comparte el conocimiento se comparten esos medios.
Nadie tiene el derecho de causar problemas en centros públicos y mucho menos tomarse privilegios no atribuidos con otros fines que no sea el de apoderarse de conocimiento.

BlackHat mantendrá su posición educativa.

Continuar leyendo

Aprendiendo sobre los foros

Chacal [mariav.hedez@infomed.sld.cu]

Otra vez no vemos nuevamente, ahora les vengo a hablar sobre los Foros.

Los foros en Internet son también conocidos como foros de mensajes, de opinión o foros de discusión y son una aplicación web que le da soporte a discusiones u opiniones en línea. Son los descendientes modernos de los sistema de noticias BBS (Bulletin Board System) y Usenet, muy populares en los años 1980 y 1990. Por lo general los foros en Internet existen como un complemento a un sitio web invitando a los usuarios a discutir o compartir información relevante a la temática del sitio, en discusión libre e informal, con lo cual se llega a formar una comunidad en torno a un interés común. Las discusiones suelen ser moderadas por un coordinador o dinamizador quien generalmente introduce el tema, formula la primera pregunta, estimula y guía, sin presionar, otorga la palabra, pide fundamentaciones y explicaciones y sintetiza lo expuesto antes de cerrar la discusión. Entonces ya sabiendo a lo que son los Foros veremos algunos comparaciones que nosotros mismo nos preguntamos muchas veces y nadie nos la sabe responder.

Los Foros comparado con los wikis, no se pueden modificar los aportes de otros miembros a menos que tengas ciertos permisos especiales como moderador o administrador. Por otro lado, comparado con los weblogs, se diferencian porque los foros permiten una gran cantidad de usuarios y las discusiones están anidadas, algo similar a lo que serían los comentarios en los weblogs. Además, por lo general, los foros suelen ser de temas más diversos o amplios con una cantidad de contenido más variado y la posibilidad de personalizar a nivel usuario (no sólo a nivel dueño).

Un foro en Internet, comúnmente, permite que el administrador del sitio defina varios foros sobre una sola plataforma. Éstos funcionarán como contenedores de las discusiones que empezarán los usuarios; otros usuarios pueden responder en las discusiones ya comenzadas o empezar unas nuevas según lo crean conveniente.

¿Quiénes son los Enemigos de los Foros?

Los principales enemigos del correcto funcionamiento del foro y que un moderador debe controlar, son el spam (la publicación de mensajes no solicitados, generalmente publicitarios, de forma caótica o que van en contra de las reglas del foro), los troles (usuarios cuyo único interés es molestar a otros usuarios e interrumpir el correcto desempeño del foro, ya sea por no estar de acuerdo con su temática o simplemente por divertirse de ese modo), y los leechers (usuarios que solo desean aprovecharse). Además los foros también pueden sufrir ataques de hackers y similares.

Otro problema que se presenta en ocasiones es el que producen los denominados arqueólogos (usuarios que se dedican a revivir temas antiguos); los chaters (usuarios que en foros, chatean en los temas, y otros medios, escriben en un lenguaje corto, simplificando palabras o que intencionalmente no respetan la ortografía, presentando una escritura poco comprensible por otros miembros del foro); los fake (usuarios que se hacen pasar por otros miembros); y algunos usuarios títeres (usuarios que están inscritos en el foro dos o más veces, haciéndose pasar por diferentes miembros) pero los administradores pueden acabar con esto mirando periódicamente las IP de los usuarios.

¿Soportes para crear un foro en Internet?

Son muchos los soportes disponibles para crear un foro en Internet. Por lo general están desarrollados en PHP, Perl, ASP.NET o Java y funcionan con CGI ó Java. Los datos y la configuración se guardan, generalmente en una base de datos SQL o una serie de archivos de texto. Cada versión provee funciones o capacidades diferentes: los más básicos se limitan a los mensajes sólo con texto, los más avanzados facilitan la inclusión de multimedia, formato del texto, HTML y BBCode. A veces el soporte de los foros viene integrado con weblogs o algún otro sistema de administración de contenido. Algunos sistemas de foros son: phpBB, vBulletin, Invision power board, MyBB, SMF, YaBB, Ikonboard, UBB, JavaBB y otros. Algunos CMS (Content Management System / Sistemas de administración de contenido) como Drupal incluyen sus propios foros o integran foros de otros sistemas.

Continuar leyendo

Dual Boot

JKS [jksware@gmail.com]

La decisión de instalar un sistema operativo en una PC puede ser de gran peso si se quiere trabajar con más de uno pero no se sabe cómo.

Si has tenido que enfrentarte a la tarea de decidir si instalar un Windows 2000 o un XP – o un XP y un Vista – porque el último juego de Blizzard no te corre bien con cualquiera de los dos primeros, pero a la vez deseas conservar ciertas funcionalidades sin perder todos tus datos y configuraciones, entonces entenderás que estás ante un dilema.

Pero este dilema es se soluciona fácilmente si tienes una partición en desuso – o que esté poco habitada – para poder instalar tu segundo sistema operativo, con el cual el primero tendrá poca o ninguna intervención. Cuando me refiero a instalar un segundo sistema, no me refiero a que esta sea tu segunda instalación, sino que se encuentren alojados los dos sistemas en disco, y que tú seas capaz de elegir cada vez que bootee o arranque, con cuál es el que quieres trabajar.

A lo primero lo primero

La IBM PC o compatible, como se le suele llamar aún en algunas partes del mundo donde abundan mucho las Mac de Apple – o computadoras personales que no sigan la arquitectura del gigante azul – se comportan de manera muy monótona para iniciar el sistema. A continuación explico – a grandes rasgos:

Atendiendo a que esta se encuentre totalmente apagada, cuando se pulsa el botón de encendido, el POST del BIOS – esta jerigonza es el programa encargado de revisar que la computadora esta bien – realiza varios test o pruebas de rutina, que todo lo que hacen es comprobar cuánta memoria RAM tienes, las posiciones de tus unidades de almacenamiento con respecto a la cinta de datos, que tu monitor se vea, que no te olvidaste de conectar el teclado, … y cuando todas las comprobaciones terminan el sistema determina, a partir de una lista almacenada en la CMOS – que es la memoria que guarda la información del Setup del BIOS – por cual de tus unidades empezar a buscar un sector de arranque válido.

Ahora bien, el sector de arranque de un dispositivo de almacenamiento x – en que se incluyen disquetes, discos duros, lectoras de CDs, DVDs y memorias flash o extraíbles – es un espacio físico dentro de la unidad que se destina a archivar un programa de booteo. A este programa es al cual se le transfiere todo el control del sistema una vez que se termina el POST, y es el encargado de transferirle a su vez el control al sistema operativo al cual pertenece – casi siempre.

Digo casi siempre porque es aquí donde interviene la mano del hombre – o de la mujer, puede que haya alguna señorita leyendo – y decide hacer uso del derecho al v… hmm! a escoger cuál sistema desea iniciar.

Boot dual entre ventanas

El instalar un segundo sistema Windows cuando ya existe uno de la misma bandera suele ser un problema mínimo si ya conoces cómo es que la máquina arranca. Por suerte o por desgracia, todas las ediciones del Windows NT hasta el Vista – sin incluirlo – usan versiones compatibles del mismo gestor de arranque, NTLDR, lo que facilita mucho la gestión a la hora de instalar tu segundo Windows.

Si acostumbras a correr la instalación de manera “sucia” – por contrario a como dice si introduces el disco de instalación con el Windows corriendo y seleccionas instalación “en limpio” o “clean install” – entonces no te preguntará en ningún momento sobre qué partición deseas instalar, ya que se supone que una instalación no “limpia” es más bien una reinstalación para asegurarse de que todos los drivers están bien copiados; lo que hace es reemplazar algunos de los archivos viejos con los que trae en el disco, llegando a conservar usuarios, algunas configuraciones y las carpetas de program files (archivos de programas) y windows o winnt, haciendo que al final de la misma funcionen sólo la mitad de tus programas – probablemente los que no dependían de archivos externos a su carpeta ni dependían del registro – es decir, casi ninguno.

La rutina más común para instalar consiste en insertar un disco booteable con la copia del sistema que deseas en la unidad lectora – habiendo previamente configurado la secuencia de arranque en el Setup del BIOS – y realizar los procedimientos habituales hasta que el Programa de instalación de Windows – no confundir con Instalador de Windows – pregunte sobre cuál partición deseas instalar. En este momento seleccionamos cualquier partición que no sea sobre la cual ya se encuentra el otro Windows, pero – y mucho cuidado con esto – que se encuentre en el mismo disco duro físico. ¿Por qué? Como expliqué anteriormente cada uno de los discos duros posee su propio sector de arranque, y por tanto aloja su propio gestor de booteo, y desafortunadamente el gestor de booteo para Windows de Microsoft – ya que existen otros muchos como verán posteriormente son capaces de llamar al Windows pero que no son nativos de MS – cuenta con un archivo de texto que se alberga en una partición determinada, que es el que contiene la lista de sistemas Windows/DOS que es capaz de llamar el gestor.

La mala noticia es que, si por casualidad habías instalado el sistema en una partición que no fuera la primera – algo que es muy poco común – y decides instalar otro sistema en la misma – o lo que es lo mismo – si formateas la partición en que se encuentra el archivo boot.ini, dejas prácticamente inservibles todos los sistemas Windows que tengas. No recuerdo que el programa de instalación en algún momento muestre una alerta acerca de “Considere no formatear tal partición ya que esta contiene archivos imprescindibles para el booteo”. De todas formas, si cometiste el error, es aún recuperable el o los Windows instalados mediante la creación/recuperación del archivo o mediante la instalación de otro gestor de arranque que no sea el de MS – la primera solución es mejor.

Por suerte, el gestor de booteo de MS Windows NT es modificable mediante la edición del boot.ini que se encuentra con propiedades de archivo del sistema oculto en la raíz de la partición primera de la unidad en que se encuentra el sistema instalado, o también se modifica mediante Propiedades del sistema (clic derecho sobre Mi PC > propiedades) > Opciones Avanzadas > Inicio y recuperación > Configuración.

Si con todos los pasos que he dado no todo sale como esperabas, probablemente necesites asesoría de algún tipo – puedes consultarme – o leerte un par de documentos de ayuda de Partition Magic o cualquier guía para gestores de booteo que aparezca en la web, que te hable de cómo realizar la instalación de los sistemas y en qué orden para tu caso dado. Si saliste airoso cuando bootees observarás una lista con los sistemas que tienes instalado y un contador regresivo que te da 30 segundos para optar entre uno y otro.

Hasta aquí lo que corresponde al boot entre dos banderas de MS, en próximas ediciones trataré acerca del boot pingüino-ventana y del problema específicos con relación al gestor del Vista, así como saber particionar para sistemas que tengan el problema con la barrera del boot de 2 Gb.

Disclaimer

JKS (a continuación el autor) no se hace responsable por una falla eléctrica durante la instalación, que formatees una partición incorrecta y pierdas todo tu trabajo, que te abduzcan los ovnis, que te ocurra una combustión espontánea, o ninguna otra causa atribuible al autor mientras leas el artículo. Cualquier falta ortográfica o error técnico es probablemente culpa del autor y es totalmente a propósito.

Continuar leyendo