Búsquedas irreales

Es el post de moda en todos los blogs, pero es que son realmente surrealistas los términos de búsqueda que hacen a los internautas aterrizar en esta casa… durante el último mes he ido recopilando las búsquedas más frecuentes para presentárselas ahora…

Una de las más recientes es «el final de los tiempos«, (no he acertado a encontrar en google en qué posición está la referencia al blog) pero es inquietante… Las hay más normales, como dos búsquedas de la cadena «máquinas contra hombres» (posición 7, aunque llegó a estar en la 2), «diferencias hombre y máquina» (posición 13). Somos quintos buscando «segmentation fault«, (y segundos si se busca en español) y ya me extraña porque es un término muy común… Hay un montón de búsquedas sobre redes neuronales, hombres, máquinas… todas esas cosas de las que nos hemos ocupado aquí (y de las que nos volveremos a ocupar en breve)

Pero todavía queda la intrigante «Nombres de asesinas» (séptima posición, hace un mes la segunda… se hace uno preguntas con todo ésto…). También tenemos «conecto de coyuntura«. ¿Alguien sabe qué diablos es eso? ¿qué hace alguien buscándolo?

Mi favorita es «Dossier cerveza budweiser» (antes tercer puesto, ahora a saber) y «el universo es una puta» (primer puesto :P). Otros aciertan… a cuenta de los recientes artículos sobre cracking han llegado muchos visitantes buscando cosas como «desarmar archivos ejecutables», «programa crackeado» (no se puede ser más específico…) amén de las habituales: «problemas computables», «redes neuronales», «algoritmo computacional turing» (yo no sé qué es…) y la mejor: «Turing 1950 como puede considerarse a una maquina inteligente«, en la que éste blog aparece en octava posición… toda una consulta… Entre las incomprensibles, también destaca «sinónimo estabilizador de voltaje» (séptimos).

Por el momento ésto es todo… no son tan irreales como las que he podido ver en otros blogs, supongo que la poca diversidad temática de los contenidos ayuda a que no llegue nadie buscando «sexo perros gatos tanga» ni cosas del estilo como ya he visto…

Actualización: Treiral_ nos envía en los comentarios de ésta entrada una recopilación de búsquedas totalmente desquiciante. Mis favoritas: «clasificacion de demonios segun su dia de semana» y «metodos para resolver ecuaciones de dios por dos». Está tirado, Dios x 2 = 2Dios. Si es que ya nadie sabe álgebra…

Una más y basta

Hoy estoy un poco vago, así que les dejo con un chiste :-P

Están un informático, un matemático, un físico y un químico hablando sobre Dios, cuando el matemático dice:

– Yo creo que Dios es matemático, porque si os fijáis, todo en el universo sigue bellas proporciones y reglas abstractas maravillosas… la trignometría, el álgebra… todo parece trazado por una divina y caprichosa mano.

El físico se remueve inquieto en su silla y exclama:

– Pues por el contrario opino que Dios es físico, porque todo en el Universo se rige por complejas leyes físicas que encajan unas con otras con perfecta armonía…

El químico hace una mueca de desaprobación y argumenta:

– Creo que os equivocáis: Dios ha de ser químico, porque a partir de 92 elementos creó toda la diversidad de compuestos y materiales, que en último término dieron lugar a la vida…

En éste momento todos se quedan mirando al informático sonriendo y le dicen:

– Que, ahora nos dirás que Dios es informático ¿no?

Y el informático comenta sin inmutarse:
–No. Pero lo intentó…

Espero que les haya gustado…

Génesis 1-19. Libro del pingüino

Ahora que están de moda las oraciones biológicas, es el momento de rescatar una parte de la Biblia Linux. (La referencia original se pierde en la noche de los tiempos, si alguien la conoce que por favor me lo comunique).

1. En el principio DIOS creó el Bit y el Byte. Y de ellos creó la Palabra. 2. Y había dos Bytes en la Palabra; y nada más existía. Dios separó el Uno del Cero: y vio que era bueno. 3. Y dijo Dios: que se hagan los Datos; y los Datos se hicieron. Y Dios dijo: Dejemos los Datos en sus correspondientes lugares. Y creó los disketes, los discos duros y los discos compactos.

bart.jpg

4. Y Dios dijo: que se hagan los ordenadores, así habrá un lugar para poner los disketes, los discos duros y los discos compactos. Así Dios creó a los ordenadores, y les llamó hardware. 5. Pero aún no había software. Pero Dios creó los programas; grandes y pequeños… Y les dijo: Iros y multiplicaros y llenad toda la memoria.

6. Y Dios dijo: crearé el Programador; y el Programador creará nuevos programas y gobernará los ordenadores y los programas y los datos. 7. Y Dios creó al Programador; y lo puso en el Centro de Datos; y Dios le enseñó al Programador el Directorio y le dijo: Puedes usar todos los volúmenes y subdirectorios, pero NO USES NUNCA EL WINDOWS.

8.Y Dios dijo: no es bueno que el Programador esté solo. Tomó un hueso del cuerpo del Programador y creó una criatura que admiraría al Programador; y amaría las cosas que hiciese. Dios llamó a la criatura el Usuario. 9. Y el Programador y el Usuario fueron dejados en el desnudo MS-DOS, y Dios vió que eso era bueno.

10. Pero Bill era más listo que todas las otras criaturas de Dios. Y Bill le dijo al Usuario: ¿Te dijo Dios realmente que no ejecutaras todos los programas? 11. Y el Usuario respondió: Dios nos dijo que podíamos usar cualquier programa y cualquier pedazo de datos, pero nos dijo que no ejecutásemos Windows o moriríamos. 12. Y Bill le dijo al Usuario: ¿Cómo puedes hablar de algo que ni siquiera has probado?. En el momento en que ejecutes Windows serás igual a Dios. Serás capaz de crear cualquier cosa que quieras con el simple toque del ratón. 13. El Usuario vio que los frutos del Windows eran más bonitos y fáciles de usar. Y el Usuario vio que todo conocimiento era inútil, ya que Windows podía reemplazarlo.

14. Así, el Usuario instaló Windows en su ordenador; y le dijo al Programador que era bueno. 15. Y el Programador inmediatamente empezó a buscar nuevos controladores. Y Dios le preguntó: Qué buscas? Y el Programador respondió: Estoy buscando nuevos controladores, porque no puedo encontrarlos en el DOS. Y Dios dijo: Quién te dijo que necesitabas nuevos controladores? ¿Acaso ejecutaste Windows? Y el Programador dijo: fue Bill quien nos lo dijo…

16. Entonces Dios le dijo a Bill: Por lo que hiciste, serás odiado por todas las criaturas. Y el Usuario siempre estará descontento contigo. Y, peor aún, siempre venderás Windows. 17. Dios le dijo al Usuario: por lo que hiciste, el Windows te engañará y se comerá todos tus recursos; y tendrás que usar malos programas; y siempre permanecerás bajo la tutela del Programador. 18. Y Dios le dijo al Programador: por haber escuchado al Usuario nunca serás feliz. Todos tus programas tendrán errores y tendrás que corregirlos y corregirlos hasta el final de los tiempos.

19. Y Dios los expulsó a todos del Centro de Datos y bloqueó la puerta con un password…

¡Estrenamos logotipo!

¡En Segmentation Fault estrenamos logotipo! Con ésta nueva seña quisiéramos simbolizar en adelante una especie de «marca de fábrica»: una identidad y una forma de entender la tecnología.

Tal vez se espere algo espectacular, tipo matrix. Un circuito integrado, un chip, una tableta de Silicio… Bueno, pues me temo que no van por ahi los tiros… ¡aquí lo tenemos!

¿Por qué un huevo frito? En primer lugar me parece desafiante, en el panorama actual, poner como logotipo algo tan sencillo… Cuando todo son diseños espectaculares, reivindico la simpleza y la profundidad conceptual de esta imagen. En segundo lugar, porque fue objeto de un post legendario de éste blog: El límite computacional y los huevos fritos, que considero un paradigma de la filosofía que he querido imprimir a mis artículos.

Por último, es un homenaje al primer algoritmo que aprendí: el del huevo frito. Fue en un libro sobre BASIC que leí muy muy joven (ya ven, así acaba uno cuando se inicia muy pronto en la informática). El libro en cuestión era una auténtica pasada, hacía que uno entendiera todo a la perfección. Los programas eran como unas serpientes compuestas de fichitas. Esas fichas eran las instrucciones (sospecho que de ahí viene mi insistencia porque todo el mundo entienda que los programas se componen de instrucciones)… bueno, que no hablo más de mi horrible infancia.

Espero que les guste la esperpéntica decisión de utilizar el huevo frito, en adelante, como imagen de éste blog que dirijo con mayor o menor fortuna.

Cracking (y III): Cracker por un día

Ésta es la tercera y última parte de ésta serie sobre Cracking. En el primer artículo vimos una pequeña introdución y un poco de filosofía. En el segundo, aprendimos que los programas pueden modificarse con bastante poco esfuerzo mediante el editor adecuado. Nos queda entender cómo podemos utilizar éstos conocimientos para romper la protección de un programa. Al final del documento hay una advertencia sobre la legalidad de estos contenidos que debería leer.

Pues bien, en éste artículo vamos crackear un crackme, y así entenderemos cómo funcionan las protecciones de los programas y cómo se crean los cracks para evitar algunas. Es un tema muy muy técnico, pero voy a intentar que sea más o menos comprensible. Propongo a quienes tengan más interés por el sunto y más experiencia en la informática que sigan el ejemplo práctico. Quienes lo deseen, que salten directamente al final del documento, allí explico algunas conclusiones. Pero mi consejo es que me sigan, tal vez descubran su lado oscuro…

Bien, necesitamos una herramienta más compleja y potente que nuestro editor hexadecimal: un depurador. Los depuradores son programas que se utilizan en la informática para corregir los fallos de las aplicaciones. Podemos considerar un «fallo» de un programa el que pida una clave para usarlo (vaya cara)… de modo que un depurador nos servirá para llevar a cabo nuestras maldades. Lo que hacen fundamentalmente estos programas es «desarmar» los programas y dejarnos ver qué hacen.

El más interesante es el OllyDbg, que puede descargarse gratis y es uno de los más utilizados. Bien, ya tenemos el arma, ahora necesitamos la diana. Se trata del crackme que utilizamos en la sesión anterior. Como recordará, se llama abex’ 5th crackme, puede descargarse libremente y tiene esta carita de niño Jesús:

Como ven, es algo sencillo e imita conceptualmente a las ventanitas que nos exigen el número de serie para ejecutar un programa o renovar su licencia. Bueno, vamos a ver si cuela, ponemos un número al azar y…

No ha habido suerte y nos ha pillado… es lo más normal. Ahora es cuando empieza la guerra. Abrimos el OllyDbg, y cargamos el ejecutable del crackme, abexcm5.exe. Vemos una ventana con el código de la aplicación. Queda así de bonito y de ilegible:

Ahora pensemos un poco… si escribimos el número de serie correcto tendría que salir una ventana diciéndonos que lo hemos conseguido… vamos a intentar localizar la parte del código en que se toma la decisión de si la cadena es buena o mala (¡no se asuste, es muy sencillo!) Botón derecho sobre la ventana. Sale un menú y nos vamos a «Search for – All referenced text strings», que nos va a decir todos los textos interesantes a los que se hacen referencia en el código.

Ahora nos aparece una nueva ventana donde vemos muchas cosas interesantes… si nos fijamos, un texto del programa es «Yep, you entered a correct serial!». Seguro que es el texto que aparece en la ventana cuando escribimos el número correcto…

Con doble clic en la línea clave nos vamos a la línea del código que nos interesa. Como vemos pertenece a un bloque que, a todas luces, genera un cuadro de diálogo que nos informa del logro. La dirección 00401117 contiene la primera instrucción del bloque. Entonces, suponemos que si el usuario escribe el número «bueno», se salta a esa dirección. Bien, vamos a ver desde dónde se salta a esa dirección:

Y en la ventana que aparece, vemos que hay una instrucción que hace referencia a nuestro mensaje de enhorabuena: (004010FF) JE SHORT abexcm5.00401117 que no quiere decir sino: si la condición es cierta, salta a la dirección 00401117 que es, casualidades, la del mensaje que nos interesa. La instrucción JE significa «salto condicional» (compruébelo)

No nos interesa la condición que evalúa el JE, pero lo que nos interesa es que es un salto condicional: salta si el número es bueno. ¿Y si cambiamos ésta instrucción por: «salta siempre, aunque el número sea malo»? Se puede hacer y vamos a hacerlo.

Posicionados sobre la instrucción, hacemos doble clic y nos aparece una ventana que nos permite escribir una instrucción en lugar de la que tenemos. Vale. Pues el código para saltar siempre es JMP (de jump, saltar en inglés). Vamos a cambiar el JE por un JMP. Éste es el «antes»:

Y ahora el «después»:

Tenemos que hacer clic una vez en «Assemble» para seguir. Luego salimos con cancel. Ya hemos modificado el código, pero éste código reside en memoria y no es persistente: tenemos que guardarlo. Para ello, clic sobre el código, nos vamos a «Copy to executable – All modifications». Cerramos la ventana que aparece y contemos «Sí» a la pregunta de si queremos guardar los cambios. Ahora lo guardamos con otro nombre por si acaso.

Si lo hemos hecho bien, nuestro programa crackeado se tragará cualquier número de serie que le escribamos… compruébelo:

¡Nuestro primer crack ya está listo! Para los avanzados, un ejercicio: el número de serie «bueno» ha estado delante de nuestras narices un buen rato, ¿se atreven a adivinarlo? Si lo hubiéramos extraído sin más del código, no habríamos tenido que modificar el programa. Los crackers experimentados opinan (con razón) que es mucho más bonito encontrar el número sin tocar el programa, pero la idea es que veamos cómo se rompen las protecciones de los programas comerciales.

Es un ejemplo sencillo, pero da una buena idea de cómo funcionan las cosas. Si el crackme hubiera sido programa comercial, podríamos usarlo ahora sin restricciones, pues gracias a nuestras modificaciones, validaría como bueno cualquier número de serie. Sin embargo, estaríamos cometiendo un delito, y este blog no lo apoya ni lo fomenta en ningún modo.

Romper la protección de un juego no es ningún misterio de la metafísica: es informática pura y dura, abrir el programa, cambiar lo que no nos gusta y guardarlo. Ojo: las protecciones reales de los programas comerciales suelen ser muchísimo más complicadas que ésta. De hecho hay crackmes muy enrevesados, algunos los publican particulares aficionados al tema, otros grandes compañías que quieren poner a prueba un sistema de seguridad que están desarrollando.

Caminamos por el filo del cuchillo: aprenda, manipule y destruya si quiere, pero bajo su responsabilidad.

Atención

Éste es un artículo divulgativo, cuyo único objetivo es entender de forma práctica cómo se rompen las protecciones de los programas. En ningún modo se incita a la realización de actividades ilegales, y de acuerdo con éste principio, declinamos toda responsabilidad sobre las posibles aplicaciones de los conocimientos aquí expuestos.

Artículos anteriores:
Cracking (II): A golpes de martillo
Cracking (I): El poder del lado oscuro

Cracking (II): A golpes de martillo

Éste es el segundo artículo de nuestra serie de tres sobre el cracking. En el anterior vimos algunos conceptos básicos. En éste vamos a ver a través de un ejemplo cómo puede modificarse el código de un programa (por cierto, propondremos el II Reto SF), y en el siguiente aplicaremos ésto para romper la protección de un programa.

Los programas son conjuntos de instrucciones (creo que ya les habrá quedado suficientemente claro…) y como tales pueden ser alterados. Los archivos ejecutables (en Windows los .exe) pueden abrise, editarse y guardarse, como si te trataran de simples documentos de texto…

Hay una limitación: las instrucciones de un ejecutable están codificadas para que el ordenador las comprenda, así que si usted lo abre, lo más facil es que no se entere de nada. Los programas, al nivel más detallado, son conjuntos ordenados de unos y ceros, es decir, información binaria. Una forma abreviada y más cómoda de representar la información en binario es usar otro código, el hexadecimal (un día lo explicaré detenidamente). La instrucción de un programa codificada puede ser algo como 6A 00 E8 34, algo completamente incomprensible para nosotros los humanoides.

Para abrir un ejecutable, necesitamos un «editor hexadecimal», que no es más que un programa que sirve para representar de un modo más intuitivo (tampoco mucho…) los datos de un programa. Hay uno muy bueno llamado Hexplorer que puede descargarse gratuitamente de aquí. Y ésta es la única herramienta que necesitamos para modificar una aplicación. Como ésto está prohibido por la mayoría de las licencias, nos vamos a servir de un crackme, lo cual es perfectamente legítimo.

Crackmes los hay a patadas, pero he encontrado uno muy sencillo que nos va a servir muy bien. Se llama abex’ 5th crackme, puede descargarse libremente y tiene este aspecto:

Como ven, imita conceptualmente a las ventanitas que nos exigen el número de serie para ejecutar un programa o renovar su licencia. Nuestro objetivo de hoy es hacer ciertos cambios, de forma que al ejecutar el programa, en el cuadro de texto no se lea «Enter your serial» sino «Segmentation Fault» (hay que barrer para casa…). En realidad podemos poner lo que nos apetezca donde nos apetezca, hasta podríamos cambiar el texto de la barra de título.

Lo que tenemos que hacer es abrir el crackme con el Hexplorer. Para ello, ejecutamos el explorer, nos vamos a «File – Open», y allí seleccionamos el fichero del crackme que hemos descargado. Una vez abierto, lo que tenemos ante nosotros es el código ejecutable del Abex’ Crackme.

(Actualización) Es posible que vea el texto en un tamaño diminuto. Para corregirlo, acuda a «view – options» y en el apartado «font» elija por ejemplo «Fixed Roman Large» (también puede cambiar el esquema de colores). Gracias por informar del fallo, R. Mármol :-)

La columna de la izquierda representa los datos en hexadecimal, y la de la derecha, su traducción a caracteres más o menos comprensibles. Ahora tenemos que ir bajando, puede ver cómo algunas secuencias de texto son precisamente las que le presenta el crackme cuando lo ejecuta. Tenemos que llegar a un sitio donde veamos ésto:

Ahí está lo que nos interesa, ya podemos empezar: vamos a situarnos sobre la primera «E» de «Enter your serial». Ahora, puede sustituirla por la letra que desee… si pone una «S» en lugar de la «E», verá que el 45 de la columna izquierda (la de los numerajos) se cambia por un 53, que es código hexadecimal de la «S».

Ahora puede ir modificando el texto, con la precaución de dejar un 00 entre letra y letra (ojo: no es lo mismo un espacio (código 20) que «nada» (código 00), si se equivoca puede corregirlo directamente sobre la columna izquierda). Es necesario dejar ese 00 entre letra y letra para ser consecuentes con la memoria. Si lo ha hecho bien (tal vez le cueste un poco al principio, pero es muy muy facil) debería ver algo así:

¿Sí? ¿Seguro? Bien, si está todo bien, puede ir a «File – Save» y guardarlo (si no quiere arriesgarse, guárdelo con otro nombre, aunque siempre podrá volver a descargarlo si se le estropea). Si ahora lo ejecuta, debería ver:

¿Lo ha conseguido? ¡Apúntese un tanto! Si Windows le da problemas al ejecutar éste nuevo crackme, casi seguro que se ha equivocado: repáselo. Si lo ha logrado, y además es la primera vez que hace algo del estilo, acaba de conquistar un dominio desconocido a la mayoría de los usuarios: los programas no solo pueden ser ejecutados, sino que son archivos normales y corrientes, y como tales pueden ser abiertos, editados y guardados. Y si pueden ser editados, podemos hacerlos acordes a nuestros intereses.

Para los alumnos más aventajados, aquí dejo el…

II Reto SF

Que consiste simplemente en conseguir que el crackme presente éste aspecto… ¡envien las capturas de su pantalla a la dirección del blog! El primer lector en hacerlo pasará a formar parte de nuestro Salón de la Fama SF (SFSF :-P), que daremos a conocer próximamente.

Puede hacer más pruebas, pero hay que tener mucho cuidado cuando alteramos ciertas posiciones, ya que si manipulamos muy a lo loco, el programa dejará de funcionar correctamente. ¡Sean perversos!

Siguiente artículo:
Cracking (y III): Cracker por un día

Artículo anterior:
Cracking (I): El poder del lado oscuro

Cracking (I): El poder del lado oscuro

Le propongo que nos embarquemos en una interesante aventura durante el fin de semana. Hoy presento una serie de tres artículos sobre el apasionante mundo del cracking (si no sabe qué es, vamos a explicarlo inmediatamente). En esta primera entrega vamos a hacer una pequeña introducción y a aprender algún concepto básico. En la segunda, veremos a través de un ejemplo que los programas pueden modificarse con relativa facilidad. Para terminar, en la tercera estudiaremos un caso práctico de lo que puede hacerse con este «conocimiento prohibido»…

Quizás alguna vez haya tenido que utilizar un programa de los que «caducan» a los treinta días, o con ciertas funciones limitadas por ser una versión gratuita de una aplicación comercial. Y quizás alguna vez le hayan dejado un «parche» para burlar éstas restricciones… Si no sabe de qué estoy hablando, es que es usted una persona honrada y nunca ha «crackeado» un programa. En ese caso, sepa que muchos de los programas con uso restringido pueden modificarse para que puedan ser utilizados sin limitaciones… a este procedimiento se le suele llamar «crackear», y se trata normalmente de una actividad ilegal.

Éste es un mundo inmenso: Tal vez le hayan prestado una versión del juego de moda que, misteriosamente, no pide que inserte el CD cada vez que arranca. Otras veces, son los decodificadores de TV o las tarjetas de los mismos las que son crackeadas para poderlas utilizar sin restricciones. Hasta las play-station pueden ser modificadas para que admitan juegos grabados sobre discos no-originales… Todas son diversas caras de la misma moneda.

El término «cracker» se suele utilizar para referirse a alguien que viola la seguridad de un sistema para obtener beneficio o causar daños (en contraposición a la ética del hacker). Sin embargo, hay otra acepción que es la que nos interesa, que viene muy bien explicada en la Wikipedia:

También se denomina cracker a quien diseña o programa cracks informáticos, que sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original al que se aplican, sin que en absoluto pretenda ser dañino para el usuario del mismo. Esta acepción está más cercana al concepto de hacker en cuanto al interés por entender el funcionamiento del programa o hardware, y la adecuación a sus necesidades particulares, generalmente desarrolladas mediante ingeniería inversa.

Creo que con ésto hemos aclarado casi todo, aunque quien tenga curiosidad por el tema puede visitar los artículos que he referido antes. Los términos son muy confusos y en algunos sitios se dan definiciones contradictorias, así que tal vez le resulte complicado (a mí me duele bastante la cabeza después de un buen rato buscando referencias fiables y objetivas…)

Efectivamente, la cosa va de «modificar el comportamiento de un programa». Siendo un poco cínicos, podemos pensar que eliminar una protección es, en efecto, una forma de modificar o ampliar la funcionalidad del software…

Ya dijimos que los programas no son más que conjuntos de instrucciones adecuadamente ordenadas. Existen técnicas, conocidas «ingeniería inversa» que sirven para ver el interior de los programas y modificar su comportamiento. Actualmente, la mayoría de las licencias de las aplicaciones comerciales prohíben realizar ingeniería inversa sobre el código, aunque en la práctica sea imposible de detectar. Utilizando ésta técnica puede aprenderse muchísimo sobre el funcionamiento real del software (y en consecuencia de sus protecciones)

Modificar el código de un programa comercial para evitar una protección o restricción impuesta por el fabricante se considera ilegal, y además, la mayoría de los crackers no están muy interesados en los programas que crackean, sino en las técnicas de protección y entre el «reto» que se establece entre ellos y el programador de la aplicación… Es por eso que, desde hace algunos años, existen programas llamados «crackmes», que viene de «crack me» (crackéame en inglés). Como éstas aplicaciones son creadas expresamente para ser crackeadas es perfectamente legal hacerlo, y no estamos perjudicando a nadie. En cierto modo, se puede decir que éstos programas sirven para canalizar la furia asesina de los crackers.

También se puede argumentar que pueden servir como campo de pruebas para cometer delitos, pero eso sería como prohibir la investigación sobre energía nuclear porque hay quien puede utilizarlo para hacer el mal.

En la siguiente entrega nos vamos a poner manos a la obra y vamos a ver cómo modifica un programa mediante técnicas de ingeniería inversa, y para ello vamos a servirnos de un crackme… ¡les espero!

Siguientes artículos:
Cracking (II): A golpes de martillo
Cracking (y III): Cracker por un día

Chuck Norris y la informática

Chuck Norris está de moda. Tras el boom de Chuck Norris Facts, llegó la fiebre al mundo castellanoparlante, en forma del mil y una webs sobre los hechos conocidos que se le atribuyen…

chuck_norris.jpg

 La última que ha llegado a mis manos, habla de su compleja relación con la informática, así que les dejo que se diviertan (si alguien conoce la fuente original que lo comunique, no pude encontrarla)

  • Chuck Norris cuelga tiras de Mahoma en su blog.
  • Chuck Norris le instaló una Ubuntu a su reloj de arena.
  • A Chuck Norris no le compiló un programa en C. Así nació C++.
  • Chuck Norris sabe que P=NP. Nadie tiene huevos a pedirle que lo desmuestre. En tu próximo examen puedes poner: «P=NP porque lo dice Chuck Norris», y ningún profesor se atreverá a suspenderte.
  • Los compiladores no dan warnings a Chuck Norris, Chuck se los da a ellos.
  • Chuck Norris tiene el número 0 en la cola de matriculación.
  • Chuck Norris aprobó ITIS en 3 años.
  • Hace tiempo un decano no le concedió un cambio de grupo a Chuck Norris. Ahora tenemos una decana.
  • Chuck Norris olvidó una vez su contraseña. Se estuvo torturando a sí mismo durante cinco horas, hasta que la confesó.
  • A Chuck Norris no se le solapan las asignaturas, él solapa a quien haga falta.
  • Solo una persona en el mundo conoce el significado de «4:2:0 YCbCr» y de «3D-6D». Esa persona es Chuck Norris
  • Al final del curso pasado Chuck Norris se pasó por el despacho de Fran. Este año Ingeniería del Software ha sido asequible.
  • Chuck Norris no necesita refrigerar su equipo. El calor huye de él.
  • Chuck Norris sabe cuanto es ?-?, 0*?, 0/0, ?/?, ?^0, 0^0 y 1^?. Pero no se lo ha dicho a nadie.
  • A Chuck Norris no le corrigen el examen. Su examen es el modelo para corregir a los demás.
  • Chuck Norris no usa ratón, usa el brazo amputado de un teleco.
  • Se compró el Encina para que Chuck Norris hiciera sus prácticas.
  • Chuck Norris postea en cualquier foro sin tener que reescribir su contraseña.
  • En ITIS un 50% de los matriculados son mujeres. No las ves nunca porque están en casa de Chuck Norris.
  • Chuck Norris recorrió un bucle infinito. Dos veces.
  • Chuck Norris no lee manuales de Java: los mira fijamente hasta que obtiene la información que busca.
  • Chuck Norris hizo las prácticas de redes simplemente mirando el monitor y el cable ethernet.
  • Chuck Norris no necesita wifi, se comunica por telepatía.
  • Chuck Norris comprime los datos a fuerza de meterle patadas giratorias a los 1 y los 0.
  • Los requisitos de las asignaturas se deciden en base al expediente de Chuck Norris. Y a sus puños.
  • Chuck Norris pasó todas las pruebas de Humor Amarillo. Dos veces. Como se quedó con ganas, inventó el Gran Prix.
  • Chuck Norris hizo la práctica de Orientacion a Objetos según la iba presentando.
  • Chuck Norris es un 10% de profesor. No tiene nada que ver con la genética, una vez Chuck Norris se comió a uno.
  • Linus Torvalds no quería liberar el kernel Linux. Chuck Norris habló con él.
  • Los programas de Chuck Norris siempre compilan a la primera.
  • Al PC de Chuck Norris no le entran virus ni troyanos. Él es su propio antivirus y firewall.
  • Chuck Norris vive con tu madre en un castillo. A veces lo trae gordo, a veces lo trae fino.
  • Chuck Norris puede dividir entre cero.
  • Chuck Norris recomienda Mozilla Firefox.
  • Nadie se atrevería a usar la cuenta de Chuck Norris.
  • En un aula pequeña hay 84.523 de objetos con los que Chuck Norris podría matarte, incluyendo el aula en sí…
  • Chuck Norris no hace algoritmos eficientes, el miedo les hace ir más rápido.
  • La capacidad de un disco Blu-Ray es la equivalente al tamaño de un fichero de texto con todas las razones que Chuck Norris encontraría para matarte.

Para los que les haya parecido demasiado friki, los siguientes artículos volverán a ser comprensibles para todos… :-P pero tenía que publicar ésto. Estaba pensando cómo se sentirá un lector que odie los chistes sobre el tal Chuck… ¡vaya pesadilla!

¿Por qué se cuelgan los ordenadores? (y II)

Hace un par de días comentaba qué eso de que los ordenadores se bloqueen y cuáles son las principales causas de los cuelgues. En concreto, explicaba:

[…] los motivos tenemos que buscarlos en un montón de factores. Pero como todo en la informática, vamos a dividirlos en dos partes: hardware (el cuerpo del ordenador) y software (el alma del ordenador).

En la primera entrega nos referimos a las causas lógicas, esto es, al software, y como lo prometido es deuda, aquí va la segunda y última parte de ésta -por lo menos para mí- interesante entrada.

El hardware

Cuando falla un componente software, como el sistema operativo o un programa, el ordenador se ralentiza o nos presenta algún error, pero el equipo sigue activo y si tenemos un poco de pericia tal vez seamos capaces de salvar los muebles.

Aunque en ocasiones el ordenador se «bloquea» completamente: no responde el teclado, el ratón ni nada… y no muestra mensajes de error. Es como si se hubiera muerto súbitamente y no queda más remedio que apagarlo manualmente (seguro que ésto también le ha sucedido… :-P)

Las causas de este tipo de problemas solemos encontrarlas en el hardware: cuando el ordenador queda «muerto», suele deberse a que el microprocesador (el «cerebro» del ordenador) ha dejado de funcionar. ¿Por qué? Normalmente se debe a un problema de refrigeración: el ventilador se ha desconectado, está sucio, o no rinde lo suficiente. También puede ser que hemos forzado el micro más de lo normal (haciendo operaciones matemáticas o ejecutando muchos procesos) y se ha recalentado hasta dejar de funcionar…

Los procesadores trabajan a temperaturas altísimas. Si no se lo creen, pueden comprobarlo intentando freir un huevo sobre él en poco más de 10 minutos. En esta web explican cómo hacerlo paso a paso, aunque probablemente no se atreva… ¿Se imagina ir al servicio técnico con el ordenador manchado de huevo frito?

Cambiando de tercio, muchas veces el procesador deja de responder porque no le llega suficiente tensión. Los microprocesadores incorporan mecanismos que los deshabilitan si la corriente eléctrica no sobrepasa un determinado voltaje para que no provoquen un funcionamiento no deseado… ahora bien, ¿por qué podría suceder ésto? Tenga en cuenta que todo lo que conecte a su PC debe ser alimentado: no puede pretender conectar la cámara fotográfica, dos discos duros, tres lectores/grabadores de DVD, un montón de tarjetas (la inalámbrica, una de red convencional, la gráfica, la de sonido, las extensoras de puertos), el pen-drive, el MP3 del amigo… más el teclado, el ratón… sencillamente, ¡su ordenador no puede con todo! Si necesita conectar una legión de dispositivos, lo mejor será que piense en instalar una fuente de alimentación más potente que la que pueda tener…

Por último, los cuelgues pueden deberse a picos de tensión y otros fallos de alimentación. Éstos le serán muy difíciles de corregir, en la mayor parte de las ocasiones dependerán de la zona en la que viva… por ejemplo, en las proximidades de cables de alta tensión los dispositivos electrónicos se entienden francamente mal… también puede tener problemas si sufre frecuentes apagones o caidas de tensión. Como posible solución puede instalar un estabilizador o un SAI.

Los estabilizadores son aparatos compuestos de filtros y reguladores que consiguen mantener una alimentación estable (las subidas de tensión pueden dañar seriamente los equipos electrónicos). Yo tengo uno al que conecto el ordenador y me quedo muy tranquilo… Los SAI son más caros, pero ofrecen las ventajas de un estabilizador más una batería por si hay una bajada de tensión o un apagón… la mayoría de las empresas los utilizan.

Causas combinadas

Y para terminar, nos quedan por analizar las inestabilidades producidas por los controladores de los dispositivos. Los controladores o «drivers», son esos programas que tenemos que instalar para poder utilizar la impresora o el escáner: contienen instrucciones que permiten que el ordenador «sepa» como manejarlos. Son aplicaciones muy especiales, y como dependen mucho del hardware, no he querido englobarlos en ninguna de las secciones anteriores.

Éstos programas tienen prioridades muy altas (ver el post sobre el reparto de CPU) y por tanto, sus fallos suelen afectar mucho al ordenador: por ejemplo, un problema con su tarjeta gráfica puede provocar frecuentes pantallazos azules… y si no, que se lo pregunten a Dante ;-)

Hasta aquí este especial dedicado al apasionante mundo de los cuelgues… espero que les sirva para entender mejor a esa pobre e inocente máquina que llamamos ordenador.

Segmentation Fault 1.1 released

Llevo unos días algo más callado de lo normal, y el motivo no es otro que los cambios que he estado realizando en la plantilla. Aparte de incluir una pequeña descripción sobre el blog y el enlace al Top 10, los enlaces de sindicación están más claros y ha aparecido un botón de artículo aleatorio, para que quienes se sumen al blog puedan ir descubriendo las entradas anteriores… no son cambios radicales, pero me han llevado bastante tiempo (Blogger me ha hecho alguna novatada…).

En breve añadiré los enlaces a otros blogs, que los debo desde hace un montón de tiempo. Y una vez más (y permitidme que de ahora en adelante os tutee), quiero daros las gracias por el enorme interés que habéis demostrado por esta bitácora… todo os lo debo a vosotros :-)

¡Nos vemos pronto!