sábado, 28 de marzo de 2015

The Pirate Bay: Saltando las restricciones geograficas en España mediante DNS y proxy

Bueno chic@s. Hoy es un dia bastante especial y quizas triste para los usuarios de internet españoles, ya que se ha bloqueado el acceso a la famosa web "The pirate bay".
¡Que gran suerte que me teneis a mi! Como siempre para enseñaros mis "trucos de hacker" para saltaros estas restricciones tan tontas. Os hare una breve introducción al bloqueo y os enseñaré a evitarlo de dos maneras (Os recomiendo la segunda, la del proxy, si sois inexpertos):

Aqui en España el bloqueo de webs es algo muy poco común, ya que esto es mas frecuente en paises como china.
Y quizas que el bloqueo sea menos comun, es la causa de que la efectividad sea bastante mala, os explico:

De momento, a dia de hoy de Marzo de 2015, los servidores DNS españoles tienen bloqueada la pagina, no obstante, las IPs de los servidores NO. ¿Que significa esto? Un servidor DNS es el encargado de traducir una direccion web (Ej: www.blogger.com) en una ip (Ej: 192.168.1.1).
Lo que pasa en España es que el servidor de The Pirate Bay es accesible, pero no hay forma de "Encontrar el camino a ella".

¿Podemos entonces acceder a la pagina desde España? SI para ello haremos uso de un servidor DNS extranjero:

Buscando en Google me encuentro la siguiente pagina en la que tenemos servidores DNS muy interesantes. Ademas de ser de distintos paises permiten bloquear sitios de por ejemplo pornografía, lo cual es muy util en por ejemplo equipos que usan menores. De momento nos centraremos en buscar un servidor DNS extranjero que no restrinja el acceso a http://thepiratebay.se

En este caso me quedo con el servidor DNS Censurfridns.dk de IPs 89.233.43.71 y 89.104.194.142 ubicado en Dinamarca.
Para usar este servidor DNS en vez del que estemos utilizando, accedemos a las propiedades de nuestra conexion a internet, y en el apartado "Protocolo de Internet version 4" accedemos a las propiedades.

Aquí en el apartado de las direcciones DNS, desmarcamos la obtencion automatica de DNS e insertamos la direccion de nuestro servidor de Dinamarca. Deberíais marcar tambien la casilla de "Validar configuración al salir" para que los cambios se hagan efectivos de forma inmediata. Aceptamos, y ahora accedemos a http://thepiratebay.se ... ¡Magia!

En fin, ahora supongamos... ¿Y si nos hubiesen censurado tambien el servidor? ¡Pues tampoco pasa nada!
Existe una cosa llamada servidor proxy. No es algo que se usa habitualmente, pero existe. Explicado de forma que se entienda: consiste en un servidor a la que le enviamos una peticion web. este servidor la consulta en internet, y nos la devuelve. Es como acceder a la web desde un ordenador en cualquier otra punta del planeta (Y con diferente IP, claro)
Si buscamos en Google "Servidor proxy online" nos encontramos con muchas opciones con las que ni siquiera tenemos que tocar la configuracion de red. El primer resultado es https://hide.me/en/proxy
Si accedemos a esta web y en el recuadro introducimos la dirección de Pirate Bay, tambien podremos acceder a la pagina de forma virtual sin problemas ;)

En fin, si teneis alguna duda, sugerencia, o incluso agradecimiento, no dudeis en comentar. Recordad que esto es un blog pequeño y agradezco vuestros comentarios ;)

martes, 17 de marzo de 2015

Almacenando datos en un folio: audio en un codigo de barras 2D

Hace ya tiempo surgio la moda de los BIDIs o codigos QR, unos codigos de barras 2D que podias escanear con la camara del movil y acceder a contenido multimedia.
Estos BIDIs, no obstante, tienen una capacidad muy limitada, y en la inmensa mayoria de los casos contienen enlaces a paginas web, aunque tambien son capaces de almacenar numeros de telefono, pass de wifi, o texto, como en el ejemplo que pongo a continuación.
  Hay muchas paginas para crear estos BIDIs o codigos QR, yo he usado http://www.codigos-qr.com/ 
La cuestion es que yo me propuse algo mas grande, almacenar en un simple codigo de barras en papel algo mas que un texto o un enlace.
Para ello hice uso de la impresora y el escaner.
Lo primero que pensé era en almacenar una imagen jpg, pero vi que era un ejemplo bastante aburrido, ya que aunque se pueda representar una imagen en color de poca resolucion en un barcode B/N, cualquiera puede imprimir una imagen en una hoja.

Luego pense en un ROM o .exe, pero suponiendo las limitaciones de espacio de un barcode descarté la idea.

Finalmente me acordé de el codec OPUS que os comenté en una entrada anterior, el cual puede comprimir el sonido mas incluso que MP3 y permite mas flexibilidad en cuanto a bitrates que OGG. Asi que hice calculos, y podriamos decir que hice tres intentos:

1.
Usando una resolucion de cuadrado de 2x2 (Respecto a la resolucion de mi impresora) conseguí hacer un barcode de hasta 352x500, o lo que es lo mismo, 176.000 bits que son unas 21,4 KB.
Aprovechando este tamaño, codifiqué en OPUS un fragmento de una cancion a 16 kbps, una calidad de sonido aceptable para el caso. Asi pude codificar 15 segundos de música en el barcode.
Cuando lo escanee y vi el resultado... ¡fracaso! aunque la impresión se hizo bien y la canción esta correctamente en la hoja, a la hora de escanear, el ruido de la imagen escaneada alteró gran cantidad de bits, haciendo que ni la cabecera del fichero quedase correctamente, por lo que no conseguí ningún resultado.

2.
Esta vez, asumiendo que iba a usar el escaner, aumenté el tamaño de pixel del barcode a 4x4 un tamaño de pixel ridiculamente grande, asi, aun sin utilizar el folio del todo (No necesito gastar demasiada tinta en una "demo") hice un barcode de 160x244, o sea 39.040 b
its que son unas 4,75 KB.
Para este ejemplo, codifico solo 4 segundos de audio a 12 kbps, una calidad ligeramente inferior.
imprimo, escaneo y... ¡casi! La cabecera del fichero es correcta, VLC me detecta el archivo, pero lamentablemente al haber algunos bits corruptos, el formato OPUS no reproduce los fragmentos de archivo que no cumplen su correspondiente checksum, en este caso hay 3 fragmentos (que se pueden distinguir a simple vista en la imagen) y ninguno cumple el checksum. Me pareció increible que hubisen fallos incluso con este tamaño de pixel.
Tras comparar el archivo escaneado y el original, vi que solo habian 3 bits corruptos, los cuales (que casualidad) estaban cada uno en un fragmento distinto. Estos fallos solo corresponden: 3/39040*100= 0,008% y arruinan los resultados.

3.
Simplemente, como habia tenido mala suerte, volví a escanear este segundo folio... 3 veces. Tras escanear y abrir el archivo por 3ª vez... Consigo oir la música! Conseguí reproducir 2 segundos de música almacenados en el barcode del folio. ¿Por que solo 2? Porque como dije, habia 3 fragmentos de sonido. El fragmento del final tenia un bit corrupto y no se reproducia, pero al estar la cabecera y los dos primeros fragmentos correctos, se reproducian estos y en total 2 segundos de audio de los 4 iniciales.
Aunque iba a finalizar aquí, se me ocurrió combinar los 3 primeros escaneos fallidos que hice (Sin contar este ultimo) a ver que pasaba. Los escaneos los tenia en escala de grises en GIMP, asi que los combiné en 3 capas superpuestas (cada uno con una transparencia de 33%) para pasarlos entonces a monocromo y probar con los resultados. Finalmente conseguí oir el audio original completo: Combinando los 3 escaneos conseguí recuperar el  archivo desde la hoja sin fallos.

Anexo: ¿Como imprimir los archivos?
Para imprimir los archivos en un folio cree un archivo BMP monocromo con la resolucion requerida y lo dejé en blanco.
Con un editor hexadecimal remplacé el contenido de este BMP en blanco con los datos del archivo de sonido. Ahora solo hay que abrir el BMP e imprimirlo.

¿Como escanear los archivos?
Tras escanear la hoja en formato BMP (Para evitar las perdidas de JPG), abro el archivo con Gimp y extiendo el barcode a las 4 esquinas del area de dibujo.
Cambio la resolución de la imagen escaneada a la resolucion del barcode y guardo en monocromo.
Ahora con un editor hexadecimal extraigo el archivo desde el BMP obtenido.

Conclusiones:
Es interesante saber que es posible almacenar un archivo de audio de esta manera, no obstante, el ruido a la hora de escanear hace que se aun metodo bastante poco recomendado XD
Cuando escaneas un BIDI ademas de que es mas pequeño y hay menos probabilidades de fallo, se esta comprobando su checksum en cada fps de la camara, es por eso por lo que a veces hay que tenerlo con la camara un tiempo, pero siempre acierta.
En este caso, al ser los barcodes de un tamaño enorme, a pesar de que un escaner tiene una calidad mucho mayor que una camara para este objetivo, al obtener una unica imagen, las probabilidades de que hayan fallos son altas.

martes, 20 de enero de 2015

Ejemplo de game-hack en ensamblador (x86)

Bueno chicos, como no recibo ninguna sugerencia, os enseño un ejemplo de las modificaciones o hacks que se pueden hacer fácilmente en ensamblador/hexadecimal.
En esta ocasión quería centrarme en algún juego para Windows, que es lo que se lleva hoy en día (Aunque modificar ROMs es mas sencillo, este formato ya no se lleva)
Me centraré en lo que viene siendo modificación de código, si quisierais modificar gráficos o música, es tan sencillo como acceder a la carpeta donde esta instalada la aplicación o juego, y buscar el archivo que queréis cambiar. El código por el contrario se suele encontrar en el *.exe

Concretamente en este ejemplo os enseñaré un hack que hice para el juego "Midtown Madness 2",
un juego que tiene ya unos años, no es un juego legendario, pero me basta para haceros un ejemplo de lo que se puede hacer de forma muy sencilla en ensamblador.


Concretamente, en este juego de coches, el hack consiste en que al activar el claxon del coche, el coche se eleva por los aires, permitiendo acceder a escenarios que no se puede acceder normalmente en el juego y pasar encima de los edificios.

Para ello, necesitamos encontrar el codigo que se ejecuta cuando activamos el claxon.
Gracias al programa "Cheat Engine" pude encontrar este codigo con facilidad. (Recordemos que Cheat Engine ademas de ser un conocido programa para modificar variables in-game, tambien tiene un desensamblador muy bueno)
Cuando encendemos el claxon se ejecuta un procedimiento en la dirección 0x000d17dc y cuando se apaga, otro procedimiento en la dirección 0x000d181c.
Si vamos a estas direcciónes encontramos:

...................
000D17DC - mov [esi],00000001
000D17E2 - pop esi
000D17E3 - ret 
000D17E4 - nop 
000D17E5 - nop 
000D17E6 - nop 
000D17E7 - nop 
000D17E8 - nop 
000D17E9 - nop 
000D17EA - nop 
000D17EB - nop 
000D17EC - nop 
000D17ED - nop 
000D17EE - nop 
000D17EF - nop 
000D17F0 - push esi
...................

...................
000D181C - mov [esi],00000000
000D1822 - pop esi
000D1823 - ret 
000D1824 - nop 
000D1825 - nop 
000D1826 - nop 
000D1827 - nop 
000D1828 - nop 
000D1829 - nop 
000D182A - nop 
000D182B - nop 
000D182C - nop 
000D182D - nop 
000D182E - nop 
000D182F - nop 
000D1830 - push ebp
...................


Como veis, el registro esi en estos dos casos contiene la dirección de memoria de un entero que se pone a 1 cuando el claxon esta encendido y a 0 cuando esta apagado. Esta variable ha sido la que me ha ayudado a encontrar el código. Y ademas vemos una buena noticia, y es que hay muchos bytes sin utilizar hasta el siguiente fragmento de código, lo cual nos ayuda a implementar el mod.
Ahora para hacer que el coche vuele, lo que tendremos que hacer es meter un código en este hueco que ponga el valor de la velocidad vertical del coche a un valor alto.
Este valor es un float que se debe encontrar con un puntero (situado en la dirección 0x005dfd20 al que hay que añadir a su valor 2450 en hexadecimal).
Yo personalmente le he puesto 30.0 de valor al float (41f00000), aunque se le puede dar cualquier otro, mayor o menor. Podemos aprovechar el registro esi que como vemos es reemplazado inmediatamente después cargando desde stack. El código queda así:

...................
000D17DC - mov [esi],00000001
000D17E2 - mov esi,[005DFD20]
000D17E8 - add esi,00002450
000D17EE - jmp 000D1824
000D17F0 - push esi
...................

...................
000D181C - mov [esi],00000000
000D1822 - pop esi
000D1823 - ret 
000D1824 - mov [esi],41F00000
000D182A - pop esi
000D182B - ret 
000D182C - nop 
000D182D - nop 
000D182E - nop 
000D182F - nop 

000D1830 - push ebp
...................

Como veis, he aprovechado parte de los bytes sin utilizar tras el procedimiento de apagar el claxon, ya que con el hueco del procedimiento al encender el claxon me quedaba corto de espacio.
¡Y con esto ya esta implementado! 
Si lo vemos con un editor hexadecimal vemos que los bytes que hemos cambiado son muy pocos.


Y sorprendentemente estos pocos bytes nos han permitido hacer un mod de vuelo totalmente funcional.

Ya sabeis, cualquier comentario o sugerencia (con otros juego si queréis) que queráis hacer... No es necesario registrarse para comentar. Aunque creo que ya lo sabeis :')

martes, 13 de enero de 2015

¿Cual es el mejor formato de audio? ¿MP3? ¿OGG?

Compara tu mismo os formatos aqui ;)
Bueno chicos, todos hemos usado siempre el formato MP3 de toda la vida para almacenar y compartir música, al menos la inmensa mayoría. MP3 como todos sabemos en un formato de compresión de audio con perdidas que ahorra mucho espacio respecto al audio sin comprimir PCM (Como en los CDs de audio).
Pero MP3 no es el único, de hecho, es yo creo, el formato mas antiguo que se usa actualmente en la actualidad, en cuanto formatos de audio buenos con perdida.
Otros formatos que salieron mas tarde son:
*.WMA, *.AAC y *.OGG.
Recientemente el equipo xiph.org creador de OGG Vorbis ha desarrollado otro formato de audio del cual hablaré tambien brevemente: *.OPUS

MP3 fue desarrollado por la fundación MPEG en 1994, y el mayor problema que presentaba era que este formato tenia una patente por la que se debia pagar a MPEG por su uso (o algo de eso). Esto fue el motivo de que por ejemplo mas tarde la fundacion Xiph.org creara el formato de audio abierto OGG Vorbis (Como podeis ver en la Wikipedia)

Hoy en día, el problema de MP3 ya no es la patente (Hoy en día la gente usa MP3 con total libertad) sino que al ser el formato de audio mas antiguo de los que hay en la comparativa, es el que en general tiene menor eficacia.

La eficacia  de un formato o de otro tambien depende del bitrate entre otros. Por ejemplo. El formato AAC que utiliza itunes a 192 kbps es el mejor formato de compresión a este bitrate, por encima de MP3 y OGG, pero solo a partir de este bitrate.

En general, y en mi opinión, a 128 kbps que es la tasa de bits mas utilizada y para abajo, el mejor formato es OGG.

la ventaja de AAC (Ademas de su eficacia a partir de 192 kbps) por lo que lo utiliza itunes, es la posibilidad de incluir proteccion de datos de derechos de autor (anticopia).
No obstante, a bajos bitrates puede ser incluso peor que MP3.

MP3 y WMA, son en general y para mi gusto los peores. WMA, que parece ser un poco mejor que MP3, fue el segundo formato de audio mas usado en la anterior decada (2000-2009). Muchos discmans y reproductores de MP3 fueron compatibles con WMA, hoy en dia este formato casi ni se usa, se podria decir que ha sido reemplazado por AAC (Gracias a la popularidad de Itunes).

OGG Vorbis, a pesar de su muy baja popularidad entre la gente, es un muy buen formato de compresión, y lo mejor de todo, es abierto.
Su alta calidad de compresión y su formato abierto, hace que sea uno de los formatos favoritos en los desarrolladores de videojuegos, por ejemplo: OGG es el formato elegido para la música de la saga de videojuegos GTA, incluido GTA San Andreas.
OGG tambien es el formato de audio utilizado en Spotify.

OPUS es el nuevo formato de audio desarrollado por Xiph.org como un formato pensado para audio en streaming. Es un formato de audio que combina los codec SILK (de skype) para el audio hablado y CELT para la música (CELT era el codec de audio que estaba desarrollando Xiph.org como sucesor de Vorbis). Este formato apenas tiene un par de años, y a pesar de que tiene una gran eficacia, esta totalmente enfocado en el streaming y la baja latencia. Una gran desventaja de este formato pese a su eficacia, es que la tasa de muestras esta fija a 48000 Hz, haciendo que si por ejemplo queremos convertir un archivo de audio a 44100 hz (Como en un CD de audio y la mayoria de MP3s) a esta nueva tasa de frecuencia, se tendria que reescalar.

Se que es muy dificil distinguir la calidad en canciones a 128 kbps, asi que como prueba para que compareis la eficacia de los distintos formatos, os adjunto la cancion de Bon Jovi - Living on a prayer a 64 kbps en formatos MP3, AAC, OGG y OPUS. Todos ocupan casi lo mismo, unos 1,80 Mb.
Para ello convertire un fichero original en MP3 a 160 kbps tambien adjunto, por lo que la calidad final si convirtieramos directamente desde CD seria un poco mejor tal vez.
Vosotros mismos podeis ver la comparación. En mi opinion los mejores formatos a este bitrate son en orden: OPUS, OGG, MP3, AAC. Descarga arriba del todo.
¿Os esperabais esta calidad de sonido de OGG y OPUS en un archivo de solo 1,80 mb? Comentad ;)

miércoles, 7 de enero de 2015

WinRar -vs- 7zip

Nota: tal vez os interese este articulo reciente sobre mi propio formato de compresion que combina 7z y rar para obtener la mejor compresión hasta el momento.

Seguramente todos nosotros hayamos usado alguna vez WinRar. Cuando apareció WinRar y el formato RAR, muchos aptamos por utilizar este formato para comprimir nuestros archivos, ya que este era (y sigue siendo) mucho mejor que zip.
Este formato no es malo, y por ello no me extraña que se use tanto, no obstante me sorprende que no se use el formato .7z tanto como se usa .RAR.
Para los que no hayais oido hablar de 7z, os lo comento brevemente:
Al contrario que RAR, el formato 7z es abierto, y a pesar de ser bastante menos popular, tiene tasas de compresión mayores.

Mas info sobre RAR: http://es.wikipedia.org/wiki/RAR
Mas info sobre 7z: http://es.wikipedia.org/wiki/7z

-Los programas:
Hablando brevemente de los programas correspondiestes a los dos formatos, tanto los compresores WinRAR como 7zip dan soporte para descomprimir ambos archivos. 7zip ademas tiene soporte para muchos mas formatos de compresión que WinRar.
WinRAR por otra parte tiene una interfaz grafica mejor que la de 7zip, la cual imagino que es simple para poder ser portado a varias plataformas sin dificultades.

-La compresión:
7zip tiene tasas de compresión mayores que RAR casi siempre. De momento el unico tipo de archivo que he comprobado que RAR comprime un poco mejor que 7z son los archivos de audio WAVE sin comprimir, los cuales no se usan frecuentemente. En el resto de los casos 7zip gana con diferencia.
7zip tarda aproximadamente entre un 125-150% de tiempo en comprimir en comparación con RAR en mi ordenador con procesador dual core. No lo he probado en otras plataformas, pero 7zip puede usar controlar varios nucleos. sobre esto no tengo información de WinRAR. Asi que no sabria deciros la comparacion de tiempo de los dos formatos en un ordenador quad-core actual, pero seguramente sean similares.

-Comparativa:
A continuación hare la compresión de varios archivos cotidianos en formato ZIP, RAR, y 7Z con el maximo nivel de compresión para que veais los resultados.
Los archivos a complimir seran un ROM de Nintendo 64 (SM64) otro de MegaDrive (Sonic 2) y Pokemon Hellín.
A continuación una carpeta con modelos 3D de SketchUp.
Un PDF aleatorio, y por ultimo un archivo de audio WAVE en formato CD (S16_LE a 44,1 kHz)

SM64
Tamaño original: 8,00 Mb
ZIP: 6,01 Mb
RAR: 5,59 Mb
7z: 5,43 Mb

Sonic 2
Tamaño original: 1,00 Mb
ZIP: 740 Kb
RAR: 735 Kb 
7z: 712 Kb

Pokemon Hellín
Tamaño original: 1,00 Mb
ZIP: 485 Kb
RAR: 467 Kb 
7z: 439 Kb

Carpeta modelos SketchUp
Tamaño original: 25 Mb
ZIP: 13,3 Mb
RAR: 10,9 Mb
7z: 9,65 Mb

Documento PDF
Tamaño original: 7,09 Mb
ZIP: 6,51 Mb
RAR: 6,45 Mb
7z: 6.19 Mb

Musica WAVE sin comprimir
Tamaño original: 36,3 Mb
ZIP: 34,2 Mb
RAR: 26,8 Mb
7z: 33,0 Mb

La comparativa habla por si sola, exceptuando los archvos de audio WAVE que no se suelen usar habitualmente, 7zip obtiene los mejores resultados. Logicamente si comprimimos archivos ya comprimidos como pueden ser JPG o MP3, obtendremos siempre una compresion muy mala y casos en los que por ejemplo el archivo comprimido ocupa mas que el original, o que la mejor compresion es la ZIP o/y la 7Z es la peor con diferencias muy bajas, es por esto que no se suelen comprimir estos tipos de archivos.

domingo, 28 de diciembre de 2014

Como hacer un puntero tactil casero

Bueno, viendo la popularidad que va teniendo mi blog ultimamente, voy a ver si con un post de estos gano seguidores :')
Os voy a decir como crearos un puntero tactil casero, para poder utilizar en las pantallas tactiles capacitivas usadas hoy en día.
Como sabreis, las pantallas capacitivas responden a los materiales electroconductivos, como pueden ser la piel, o los metales.
No obstante si por ejemplo tocais la pantalla con una llave vereis que no pasa nada, ya que para que las pantallas tactiles capacitivas detecten el objeto, este debe tener una determinada superficie tocando la pantalla.
Para hacer este puntero utilizaremos un material electroconductivo flexible capaz de hacer la funcion del dedo y que todos tenemos en nuestras casas: el papel de aluminio.

Necesitareis:

-Un piazo cartulina
-Un piazo papel de aluminio
-Un piazo papel celo
-Un lapiz o un palo cogio der campo (Para acoplarle el puntero)

Pasos

-Recortamos el piazo cartulina en una tira de unos 2 cm de ancho y la doblamos por la mitad haciendo que tenga un ancho de 1 cm. (Si la hacemos demasiado fina no funcionará bien)

-La recubrimos de papel de aluminio

-La recubrimos con una unica capa de papel celo (Para evitar rayar la pantalla)

-Unimos las dos puntas

-La pegamos con papel celo al palo

-Lloramos :'')

Os recuerdo, es muy importante no saltarse el último paso.


viernes, 5 de diciembre de 2014

Sugerencias de hacks de ROMS y aplicaciones

Bueno chicos, parece ser que mi ROM hack de "Pokemon Hellin" no ha tenido mucho exito. Es cierto que gran cantidad de gente que visita mi blog es internacional, y no conozco sus gustos, y aunque noto que visitan el blog con frecuencia, casi nunca dejan comentarios. No me importa que comenteis en otros idiomas pero ya sabeis que vuestra opinion es muy valiosa para el blog.
Me gustaria que ya que no os gustó el ROM hack de pokemon, me dieseis alguna sugerencia para un ROM hack o hack de aplicación para Windows. En este caso si lo hago os enseñaría como hacerlo.
Para cualquier tipo de hack siempre es util usar un editor hexadecimal, ya sea para editar texto, tiles, o parametros. Si quereis buscar por ejemplo donde estan los datos de por ejemplo niveles de algun archivo, tambien pueden ser utiles herramientas como Erosionv3, programa encargado de reemplazar determinados bytes en unas direcciones fijadas, aunque no es una herramienta muy destacada para el hacking, ya que en la mayoria de los casos solo provocará fallos en la aplicación/ROM.
Y la herramienta fundamental para estos hacks, es como no el debugger.
Para Windows el debugger mas conocido y en mi opinion mas facil de usar es Cheat Engine, que aunque la mayoria solo lo usan para las tipicas trampas de reemplazar valores numericos en los juegos, contiene un debbuger muy bueno capaz de hacer modificaciones en ensamblador tanto en la RAM perteneciente a la aplicación (aplicacion en ejecucion) como en el mismo ejecutable *.exe (Haciendo cambios permanentes). Para los juegos Gameboy utilizo BGB, un emulador que aunque para mi gusto prefiero el VBA, este incluye un debugger bastante bueno.

Resumiendo, necesito sugerencias. Mediante modificaciones en ensamblador no siempre es posible hacer todo lo que se quiera, o siemplemente puede ser muy complicado, pero en la mayoria de los casos seguramente vuestras ideas son faciles de implementar.

En hacks de windows por ejemplo es facil hacer que el juego Buscaminas tenga el contador que empiece a partir de 500 y en vez de contar el tiempo utilizado haga una cuenta atras desde este valor.
Tambien es facil hacer modificaciones simples en muchos videojuegos actuales (No siempre).

No obstante en el ROM hacking, a pesar de ser demasiado "retro", tienes las ventajas de que las instrucciones z80 son mas sencillas que las intel, y es mas facil aprovechar el espacio no usado para implementar nuevas cosas (las ROMs tienen tamaño 2^n).

Un ejemplo de un hack muy sencillo que os podria haber enseñado a hacer fue "Time Super Mario Land" en el que en vez de tener un limite de tiempo de 400 para cada nivel, se empieza con 100 pero cada vez que recoges un coin, este tiempo aumenta en 5, dandole mas emocion.

miércoles, 3 de diciembre de 2014

¿Me puedes sacar la contraseña de ... ?

Es una de las preguntas mas frecuentes que les hacen a los que saben de informatica. ¿La respuesta? Obviamente no. No existe ningun metodo magico para sacarle la contraseña a alguien, pero de lo que queria hablar en este articulo es no de sacar la contraseña a alguien, ¡sino de los riesgos que pueden hacer que te saquen la contraseña a ti!
Iré enumerando los riesgos mas populares hoy en dia con vuestras contraseñas para que los tengais en cuenta:

-El asistente de recuperación de contraseñas:
De esta manera mucha gente incluso famosa han perdido el control de sus cuentas. Hoy en día la recuperación de contraseñas se ha hecho mas segura gracias a la utilización del número de telefono u otras direcciones de e-mail seguras. Anteriormente se usaba una "pregunta de seguridad" la cual era el motivo de muchas cuentas "hackeadas" incluso por gente que no sabe de informatica, solo conociendo en profundidad a esa persona y adivinando sus respuestas.
En su momento lo que hacian algunas personas (entre ellas yo) para evitar ese riesgo, era en la respuesta a la pregunta de seguridad, en vez de poner una palabra representando la respuesta, poner otra contraseña.
Aunque los que hayan creado sus cuentas recientemente seguramente las tengan verificadas con su movil, siguen habiendo muchas cuentas de hotmail o yahoo mail antiguas (ejemplos) que dependen de esta pregunta de seguridad, y que estan vinculadas a cuentas de Facebook, Tuenti,... Poniendolas en peligro, aunque el desuso de redes como messenger hacen que la gente ya no sepa estos e-mails evitando parte del riesgo.

-Wireshark:
Aunque la inmensa mayoria de paginas y cuentas utilizan cifrado SSL en la conexión para evitar que capturen mediante estos programas usuario y contraseña, siguen habiendo paginas como Ask.fm o Vendecookies.com que siguen sin usarlo poniendo en riesgo estas cuentas cada vez que nos conectamos a una red wifi desconocida.
Tuenti aunque esta ya en desuso es un caso raro en el uso de SSL, ya que solo lo usa en el login, pero deja de usarse en el uso de la pagina. Asi cualquier usuario con Wireshark puede leer conversaciones, ver la actividad, e incluso puede que acceder temporalmente a nuestro Tuenti usando la cookie. (No lo he comprobado)

-El famoso glitch de Google Chrome:
Y siguen haciendo actualizaciones ¡y siguen sin solucionarlo!
Accediendo a un ordenador con contraseñas guardadas y el campo de la contraseña completo, cambiando o eliminando el tipo de campo en el debbuger se puede visualizar la contraseña introducida.

Y si a la cuenta se accede automaticamente, basta con iniciar sesion en modo incognito para poder acceder a la pagina de inicio de la pagina que sea para poder ver el campo con la contraseña.

-Cuidado cuando metes la contraseña
Tambien hay otro riesgo a tener en cuenta: ¿Han visto como escribes la contraseña? Es seguro el ordenador que estas usando (Hay ordenadores publicos con keyloggers).  A veces hay que evitar poner las cuentas en riegos, y siempre utilizar varias contraseñas distintas.

-Virus
Desde mi punto de vista cada vez menos frecuentes. No obstante tener un antivirus es obligatorio en cualquier ordenador.
Mucha gente confunde Virus con widgets y aplicaciones de Twitter y Facebook, ya que estos publican sin consentimiento del usuario e incluso mandan mensajes. Estos los autoriza la gente porque es para ver por ejemplo un video raro que comparte un amigo de facebook (Publicación que hace la aplicación, no él), o porque en twitter dice alguien de confianza que te metas a un enlace bit.ly para probar una cosa chulisima. Esto son aplicaciones de las redes sociales, no del ordenador/movil. Y se pueden desactivar desde la opcion aplicaciones de Twitter o desde las aplicaciones con permisos de Facebook.

ROM hack de pokemon: Hellin

Descarga aqui.
Como se que hay muchos viciados al jueguecito tan popular, he creado un rom hack en el que lo que quería mas que hacer un mod util (Que en realidad lo es), era demostrar todos los posibles mods que se le podían crear a un juego ya compilado.
Lo mas fácil obviamente y que podréis ver, son las ligeras modificaciones de las tiles, solo he modificado las pancartas de información y la cara del protagonista cuando esta parado. (Ademas de el letrero al inicio de "Pokemon Hellin"). Aunque este tipo de modificaciones son las mas populares al ser las mas sencillas, podría haber cambiado radicalmente la apariencia, pero no era eso en lo que quería centrarme.
Con una modificación de texto de dialogo, al crear una nueva partida leeréis una introducción a mi mod (No hay mas diálogos modificados).
En fin, que en lo que quería centrarme era en añadir código para el juego, añadir funciones, y mas aprovechando todo el espacio de memoria sin usar que tiene este juego.
Os debo recordar que la dificultad de crear código es mayor que cuando cree el juego de la aventura de Flappy, ya que esta vez no uso un compilador de C, sino que el código que le he añadido al juego lo he escrito en código ensamblador (Z80).
La forma de añadirle código es la siguiente:

-Busco una parte del código donde quiero cambiar el funcionamiento
-Creo una instrucción de salto incondicional a una dirección inicialmente en blanco (Están al final)
-Inserto la función que he reemplazado en esta dirección, antes en blanco
-Le inserto mas código aprovechando el espacio en blanco que tengo
-Una vez escrito todo mi código, con otro salto incondicional vuelvo a la dirección en la que me había quedado del código original.

Y de esta forma he podido implementar por ejemplo, un "ataque" que se diferencia totalmente a los demas. Este ataque que reemplaza a "placaje", llamado "sacrificio", hace que cuando lo usas, tu pokemon contrincante pierde de golpe toda la salud y muere, muriendo tambien el tuyo, aunque estes usando un pk nivel 3 contra uno nivel 45. Esto no funciona al reves, cuando te hacen el ataque a ti. Como yo soy el que escribe el codigo (Soy el que manda), lo he implementado de forma que cuando te lo hacen a ti se comporta como un simple placaje, evitando disgustos.



Y lo mas importante de mi implementación de codigo...
El juego ahora cuenta con un selector de dos hacks ingame que se pueden activar y desactivar a vuestro gusto desde el menú de opciones.
Estos dos hacks son: Hacer a vuestros pokemon inmortales (Aunque le quita un poco la gracia al juego, os ayuda a levear rapidamente enfrentándoos a pokemon fuertes), y el mas util y que mas agradecereis, hacer que no aparezcan pokemon salvajes en la hierba. Estos mods lo bueno que tienen es que no usan Gameshark ni nada de eso, y se pueden seleccionar y de-seleccionar cuando querais desde el mismo juego.


NOTAS:
-El mod "sin pk salv" estaba disponible como Gameshark unicamente en la version americana del juego, mientras que el mod de pokemon inmortales simplemente no tiene Gameshark.
-Aun activando la inmortalidad, a los pokemon les sigue afectando el veneno y similares.
-El checksum del ROM esta arreglado para poder usarlo, obviamente es distinto al original.
-El uso de "sacrificio" puede hacer transiciones poco coherentes como preguntarte si quieres cambiar de pokemon nada mas elegir uno nuevo (porque el anterior muere). No obstante no crea fallos a destacar en el juego.
-El ROM lo he probado y no hace bugs. Aunque si vieseis alguna anomalía ya sabéis que se puede comentar aquí.

Nada mas chic@s, ya sabeis que para jugarlo podeis utilizar everdrive, emulador en pc, movil, etc. Recordad que no es necesario registrarse para hacer comentarios.

martes, 11 de noviembre de 2014

La aventura de flappy: Ultimo ROM de GB (Version final)

Descarga aquí.

Optimización de Diciembre de 2014:
Se ha optimizado el uso de la CPU y de los scans de pantalla. Antes se usaba la CPU al 100% siempre usando esperas de bucle. Ahora esperando a que terminen los scans de pantalla, se ha reducido el uso de la CPU a un 5-10% de media, ademas de que ahora el juego va mucho mas fluido.


Bueno pues en esta versión final he solucionado el problema de los niveles creando un puntero directamente a la direccion 0x432 que cada vez que termina un nivel se incrementa en 196 (tamaño de los niveles) evitando el fallo de punteros de arrays del compilador GBDK, que aunque es una solución chapucera, al menos consigue que ahora funcione. Ahora por fin cuenta con 5 niveles.
Tambien he mejorado la jugabilidad y algunos bugs, pero poca cosa.

Bueno, pues como estos ultimos dias estoy pasando unos malos momentos, y por el clima tipico de Albacete no pude sacar la bici, decidí crear entre ayer y hoy durante mi tiempo libre el ultimo ROM que hare jamas para GB.
En este ROM convierto a Flappy Bird en un personaje de plataformas de controles novedosos, en los que Flappy puede volar en una dirección fijada impulsandose con el boton A. Esta direccion puede cambiarla pisando "suelo blando", aunque Flappy muere al pisar otro tipo de superficie o colisionar.
Digo que es el último ROM que hago porque este es el ROM mas complejo que he hecho hasta ahora (mas incluso que la demo 3D) ya que he usado por primera vez el background de la GB. En parte debido a la complejidad del ROM, el basto compilador GBDK me ha dado varios fallos, como por ejemplo errores a la hora de añadir niveles (Errores del compilador por arrays demasiado extensos) y a pesar de que diseñé 5 niveles, esta versión final solo cuenta con 2.
El argumento es que Flappy bird va en busca de su pareja (obvio), y para ello ademas puede recoger flores (Una de las caracteristicas del juego era que tenias que recoger todas las flores del nivel para poder pasar al siguiente, pero el compilador GBDK volvió a fallarme en este caso petando con el codigo de recoger las flores sin motivo ni solución alguna), esta caracteristica se ha quedado mas bien como visual en el primer nivel.
También comento que todo el código esta escrito de 0, el código de la cámara es mejorable aunque no merece mi tiempo mejorarlo, el codigo de el movimiento, las colisiones... todo esta hecho por mi, incluidos los sprites y mapas.
Una de las cacaracterísticas que tenia pensadas para el ROM era un editor de niveles, pero paso, total nadie se va a descargar el juego... XD.
Tambien tenia pensado colgar por primera vez el codigo fuente, pero hay muchas lineas que tendria que comentar, muchas cosas que no entendereis,... Ademas... ¡Que no teneis ni repajolera idea! XDD
Lo que si os voy a comentar es como crear vuestros propios niveles y jugarlos añadiendolos con un editor hexadecimal:
Los niveles aprovechan los 32x32 tiles de 8x8px del background de la GB para hacer niveles de 16x16 elementos de 16x16px.
De estos 16x16 elementos, la informacion de los niveles es de 14x14 elementos, ya que los bordes se crean automaticamente para evitar salir de la pantalla.
Lo primero, la direccion hexadecimal del spawn-point de los cinco niveles x1,y1,x2,y2,... es en 0x806.
En los mapas hay 7 elementos distintos, cada uno con un byte que lo distingue:

0.Casilla en blanco
1.Flor
2.Puerta de nivel
3.Suelo blando pisable
4.Suelo duro no pisable
5.Cuerpo tuberia
6.Extremo inferior tuberia
7.Extremo superior tuberia

El nivel 1 empieza en la direccion 0x432, el nivel 2 en la 0x4f6 inmediatamente despues, etc.

En fin,... ¿Dudas? Si teneis tiempo (la descarga puede durar muchas milesimas de segundo) me gustaria que lo probarais. Se que no lo hareis :') en fin...

domingo, 9 de noviembre de 2014

Futuro de mi blog

Bueno, como os comenté hace tiempo, antes de terminar el año tenia que decidir el destino de mi blog.
Viendo que la mayoría de las visitas vienen de referencias a Google y otros buscadores por mis articulos relacionados de la informatica, mi decisión final es de dedicarlo exclusivamente a articulos relacionados con la informatica.
En mi encuesta, la cual acabo de cerrar y podeis ver los resultados aqui, muestra claramente que los articulos de informatica eran los que mas os gustaban (Aunque la diferencia tampoco sea mucha).
En cuanto a mi vida personal ya sabeis que la llevo de pena (para que engañarnos) aunque contarla por aqui no sirve de nada.
Aun no tengo decidido que hacer con los artículos ya escritos, pero probablemente deje la mayoria ya escritos y borre solamente una minoria que considere de poco interes.
Recordad que podeis comentar cualquiera de mis publicaciones (incluida esta) en cualquier momento, y que podeis hacerlo o bien desde vuestra cuenta de Google o de forma anonima sin tener que hacer login en ningun sitio.

jueves, 6 de noviembre de 2014

Bug grave en "Crazy Taxi"

Bueno, pues escribiendo lo del glitch de facebook me acordé de un bug, esta vez bastante grave de un juego llamado Crazy Taxi.
Normalmente no suelo hablar del campo de los videojuegos, entre otras cosas porque ni tengo consola ni tengo tanto tiempo como para ponerme a jugar, pero creo que este bug es bastante importante.
Este bug lo descubrí hace muucho tiempo, cuando aun no tenia el blogger. El motivo por el que lo escribo es porque no hay ninguna referencia en internet a  este bug, soy el primero en descubrirlo. Este juego fue bastante popular, estuvo tanto para consola como para maquinas recreativas, y este bug le quita totalmente la gracia al juego, de hecho, cuando lo descubrí deje de jugar para siempre.
Con este bug puedes conseguir puntuaciones grandisimas sin ningun esfuerzo, y obtener siempre la licencia "crazy" (La maxima) incluso en modo 3 minutos, cuando ni los mas viciados consiguen alcanzarla en el modo de 10 minutos.
Para ello se utiliza el glitch del drift, de la cual tampoco he encontrado referencias claras en internet, para hacerlo debes estar parado, pulsar D y R a la vez como si estuvieras en movimiento y quisieras hacer un drift (estando parado), y soltando D pero manteniendo pulsado R todo el tiempo, girar y acelerar, es decir, en la version pc se deberia de tener pulsadas a la vez las teclas R, derecha, y arriba. A los pocos segundos si estas en una superficie plana y no es cesped, empezaras a hacer un drift infinito.
El problema es, como no, el tiempo de cada cliente, por eso hay que hacerlo al lado del destino, ya que si permaneces a menos de 50 m del destino, puedes estar haciendo combos tiempo indefinido sin fallar.
Concretamente la forma mas eficiente de hacerlo, es nada mas comenzar dar media vuelta y coger al cliente de color naranja que hay a la derecha al final de la bifurcación, que va a la "fire station", lugar que tiene al lado del destino un lugar perfecto para hacer el glitch del drift. Otros sitios no son indicados para hacer el glitch, ya que hay obstaculos o coches que molestan.
En fin, dudas o comentarios? se que no :') <---- Mirad como lloro

Glitch del like parpadeante en Facebook

Bueno, pues hace poco descubrí un glitch en Facebook que hace que te parpadee rapidamente el cursor junto con un apartado que dice a quien le ha gustado una publicación.
El glitch ya lo he reportado al equipo de Facebook, e imagino que lo solucionaran en breve, no obstante hasta entonces, os digo como ocurre:
En la version web, el icono famoso de Facebook de "Thumbs up" para dar un me gusta, aparece en varios apartados. En un comentario que ha hecho alguien de una publicación en la pagina de inicio, tambien aparece, y es aquí donde ocurre el glitch.
Para mostrar los comentarios de una publicación si no os aparecen, debeis hacer clic en "comentar".
Para que ocurra el glitch, debeis situar el cursor en el texto que haya encima del icono de me gusta, y bajarlo con cuidado al borde superior del icono de me gusta, el cursor y el apartado que muestra a quien le gusta un comentario empezará a parpadear rapidamente.
Esto ocurre en varios navegadores, en unos mas rapidamente que en otros. ¿Habeis conseguido ver el glitch?

jueves, 23 de octubre de 2014

Vendecookies.com Autogenerator 1.0 (Obsoleto)

¡Atencion! este script esta obsoleto y ya no funcionara en el futuro
Debido a la alta cantidad de descargas de mi script seguramente con fines no deseados, y a la existencia de otros posibles bots, decidí enviarles un mail al equipo de vendecookies con recomendaciones para acabar con el problemas de los bots.



Les recomendé utilizar captchas mas complejos que no pudiese adivinar un OCR o como alternativa al fallar un captcha volver a mostrar el mismo hasta que se acierte, bloqueando a los bots al fallar un OCR.
Lo cierto es que han tenido muy en cuenta mi mail, ya que desde hoy, parece que no han podido conseguir otro generador de captchas, pero han bajado considerablemente la calidad de la imagen dificultando el OCR, y me han hecho caso en lo de repetir el captcha hasta que se acierte.
Declaro el Script como obsoleto, pero dejo el post a continuación por quien tenga curiosidad:

Bueno, pues ultimamente se esta haciendo popular una pagina de internet llamada www.vendecookies.com que te permite ganar dinero realizando una serie de "pruebas" en una pagina repleta de publicidad. Esta pagina en realidad no es muy recomendable en si, ya que inviertes mucho tiempo para ganar una m***. Y ahi es donde entra Jua-tanas 3:)
Analizando minuciosamente el funcionamiento de la pagina, he creado dos shell-script para linux que autogeneran tanto los recursos como las cookies.

El objetivo de publicar este codigo es simplemente mostrar la vulnerabilidad de una pagina nueva como es vendecookies.com. ¡No useis nunca estos scripts con fines economicos!

Esta pagina consta de varias pruebas, la mayoria son de elegir entre dos o cuatro posibles resultados, o realizar pruebas que ganas o pierdes.
Las pruebas al estar programadas en JavaScript revelan en el propio codigo la direccion a la que deben acceder cuando se gana o se elige una opcion.

Lo que hace mi codigo es tras enviar la peticiones tipicas de como si se accedieran a las pruebas, buscar en el codigo la primera direccion de final de prueba y acceder esperando si es necesario 10 segundos (Tiempo minimo permitido para terminar las pruebas con timer). Esto se hace repetidamente alternando los distintos recursos con un "for".

La mayor dificultad con la que me he encontrado, ha sido una prueba que es como un captcha enorme. Una prueba en la que se carga una imagen JPG con un patron a seguir, y este patron forma parte de la dirección final de terminar la prueba. Por suerte vendecookies.com permite saltarte las pruebas con un captcha, los cuales son muy muy muy muy debiles. Mi codigo descarga los captchas y mediante un OCR descifra el contenido de los captchas de forma automatizada. ¡Este OCR hay que instalarlo para que funcione el codigo!Se trata de Ocrad-0.21, que acierta los captchas con una probabilidad del 60-80%, y cuando los falla tampoco pasa nada porque vendecookies.com vuelve a enviar otro captcha distinto.

Otra vez vuelvo a comentar que la generación es lenta, porque muchas veces es necesario que pasen 10 segundos para terminar las pruebas, y 45 para generar las cookies (Tiempo que dura la publicidad). Su uso seria recomendable si utilizasemos varias cuentas simultaneamente generando recursos/cookies al mismo tiempo, asignadas a varias PayPal, no obstante es una practica que no apoyo.

Ahora os digo el funcionamiento del codigo: Como os dije son codigos Shell Script de Linux que utilizan mayormente wget y ocrad, aunque tambien es necesario jpegtopnm (paquete netpbm) para convertir los captchas JPEG a mapa de bits para que el OCR ocrad los descifre. Se debe pasar como primer argumento el usuario y la contraseña como segundo argumento, ejemplo: ./grecur usuario contra y de la misma manera para el generador de cookies.

Por ultimo decir que este script lo he hecho para una distribución linux live-CD llamada Puppy Linux. Parece ser que el funcionamiento da problemas en Ubuntu, asi que si lo quereis usar y no teneis linux o no teneis ni idea de como funciona linux (Va por ti JF). Podeis descargar la imagen ISO del live-CD de Puppy Linux aqui. En el enlace de descarga os adjunto los scripts gcook y grecur junto con un archivo instalable de Ocrad-0.21 para Puppy Linux fundamental para el funcionamiento de los scripts.

DESCARGA

domingo, 21 de septiembre de 2014

3D en consolas de 8 Bits. ROM para Gameboy

Bueno, pues como sabréis nunca ha existido ningún videojuego con gráficos en 3D para ninguna consola de 8 bits. La razón es que ademas de las grandes limitaciones que suponen los 8 bits, estas consolas nunca tuvieron una GPU que les ayudase a procesarlos.
¿Quiere decir esto que no pueden existir graficos 3D en estas consolas? Pues me puse una tarde a intentar averiguarlo con el kit de desarrollo de GB el cual ya usé en otras ocasiones. Para ello cree un "motor grafico" si se le puede llamar así que procesa polígonos por software (obviamente al no tener ningun chip grafico para 3d) en perspectiva isometrica en wireframe. Como ejemplo de poligonos puse un ejemplo muy simple, no fuese que luego tardase una eternidad en funcionar: dos piramides unidas.
Para conseguír esto, dado que la GB funciona con mapas y sprites, usé una libreria que incluye GBDK llamada <gb/drawing.h> La cual permite trazar lineas, puntos, etc.
Y lo cierto es que tuve muchas complicaciones, ya que el procesador de 8 bits de la GB no permite operaciones en coma flotante ni operaciones trigonometricas (seno,coseno,tangente,...) que me habrian sido de mucha utilidad. (Esto no es tan importante en el 2D). Esto me impidió por ejemplo que pudieran haber rotaciones en el modelo, lo cual ya deja mi "demo" bastante limitada.
Asi que viendo que mi demo iba a ser una p... m... le añadí la posibilidad de poder mover los puntos del modelo, permitiendo poder modificar el modelo en tiempo real.

Lo cierto es que lo conseguí, funciona, aunque dudo que se hubiese podido sacar ningun juego en 3d real, ya que como podreis comprobar si descargais la ROM, la velocidad es muy baja, a pesar de que no hay ningun bucle innecesario, utilizando la CPU de la GB al 100%.
No obstante tampoco me calenté mucho la cabeza porque lo quise hacer en una tarde. Procesa el modelo dos veces cada vez que se mueve, uno para dibujarlo y otro para borrarlo, haciendo que no sea para nada optimo. Ademas tiene muchos glitches, A veces las lineas se mueven incorrectamente por causas que supongo que será por desbordamiento aritmetico (8 bits no dan para mucho). Ademas no puse ninguna restriccion de "fuera de limites" por lo que si os salis de la pantalla la demo fallará (se os colgará o saldran cosas raras por la pantalla).

En fin, nada mas que comentar. para manejarlo, cada vez que pulsais START cambiais de punto, con A y B subis y bajais el punto por el eje Z, y con el pad lo moveis por los ejes XY.
Os adjunto el ROM. Me gustaría adjuntaros tambien el codigo fuente ya que eso os permitiría cambiar el modelo a procesar con gran facilidad (en vez de las dos piramides) e incluso hacerle cambios, pero se que no teneis ni idea asi que me olvido -.-'
Link del ROM

jueves, 7 de agosto de 2014

Extension de Ask.fm para Google chrome 2.0

Bueno, pues si os acordais de la extension que hice hace unos meses de Ask.fm para el navegador Google Chrome, vereis que lo unico que hacia era darle transaprencia a la barra de menu. Asi que recientemente la he rediseñado totalmente para darle una apariencia totalmente distinta igual que hice con la extensión de Twitter.
Ademas de mejorar la apariencia tambien oculta la barra de publicidad, esto lo he conseguido todo con inyeccion CSS, ya que esta extension no incluye ningun tipo de JavaScript.
Bueno, pues en principio las mejoras son:

- Publicidad ocultada
- Fotos de perfil con mayor tamaño
- Tipo de letra cambiado
-Tamaño de ventanas aumentado
-Transparencias everywhere...

Os recuerdo que podeis sugerirme cualquier cambio que os gustase en la extensión.
La podeis descargar aqui.

lunes, 28 de julio de 2014

Mis redes sociales

Bueno, pues viendo que en el blog no había hablado antes de esto, voy a hablaros de las redes sociales con las que cuento actualmente, mi opinion acerca de ellas, y una introduccion a su funcionamiento por si os animais a usarlas.
Me centrare en los enlaces a mis paginas que hay en uno de los widgets de mi blog a la derecha:

Ask.fm:
Una de mis redes sociales mas usadas. A pesar de tener un diseño simple, una seguridad deficiente, y ser una red social problematica. Su funcionamiento se basa en preguntas y respuestas que te puede enviar cualquier usuario identificandose junto a la pregunta o de forma anonima. Ultimamente esta ganando mucha popularidad, y ha empezado a ser usada por algunos famosos como Katy Perry o Miley Cyrus. En las respuestas puedes añadir fotos, videos de Youtube, y recientemente le puedes añadir GIFs, lo cual ha hecho que adquiera parte del espiritu de Tumblr. No obstante es una red problematica ya que las preguntas anonimas dejan las puertas abiertas a bullying, no hay ninguna restriccion a palabras ofensivas, etc, etc.

Twitter:
Una red de la cual creo que no hay mucho que explicar. Probablemente sea la mas usada a dia de hoy junto con Facebook. Tambien la uso bastante, si tuviera que destacar algo seria simplemente, que es una red donde seguro te van a leer, no como en otras redes menos usadas.

Tumblr:
Esta seria sin duda mi red social favorita si no fuese porque es la menos popular de todas. Es triste ver que no puedes encontrar a gente conocida aquí. Lo que mas me gusta, en cuanto a funcionamiento, es que al contrario que por ejemplo ask.fm o twitter, en las cuales insertas un texto junto con una imagen/video opcional, aqui puedes insertar diversos contenidos (La mayoria de ellos suelen ser imagenes) junto con un texto que lo describe. Estos contenidos pueden ser fotos, videos (Que puedes coger de Youtube o subir tu mismo), musica (Que puedes subir de tu ordenador), Conversaciones (Formato de texto especial), Citas celebres (Tambien con formato de texto especial), GIFs (Lo que mas identifica a Tumblr), o enlaces.
Ademas de la multitud de contenido, mi parte favorita es la personalización. ¡No hay limite! Puedes personalizar la pagina como te de la gana, editar HTML, meterle Javascript, CSS, ¡todo!
A las malas si no sabes, tambien tengo que decir que el 95% de los perfiles tienen configurados temas (Un HTML ya predefinido) y el 4% restante tienen temas junto con alguna personalizacion simple como añadirle un cursor distinto, o el ya conocido reproductor multimedia SCM.
Mi perfil es del 1% que tiene todo personalizado y unico. Ademas, es el primer tumblr en incorporar un fondo dinamico HTML5, compatible solo en los navegadores mas actuales. En principio tenia pensado que interactuase con el movimiento del raton, pero lo descarté ya que mareaba un poco y hacia que nos fijasemos menos en los contenidos, que es lo que realmente importa.
Este fondo consiste en el tipico cielo "Tumblr", una imagen que va moviendose, solapandose consigo misma, dando una sensacion de nubes que nunca antes se habia visto en ninguna web.
tambien incluye el reproductor SCM, letras que cambian de color, letras transparentes, posts transparentes que se fusionan con el fondo dinamico, cursor personalizado (al estilo MacOs), y mas.

Instagram:
Otra red social al estilo hipster. La usaria más si se pudiera usar también desde el ordenador ademas de en el movil, pero por razones que no entiendo, la version web no permite ni siquiera ver a tus seguidores.
Es tambien bastante popular, consiste en subir fotos desde el movil, aplicarles filtros, y asignarles hashtags igual que en Twitter. Cualquier usuario podra encontrar tus fotos buscando ese hashtag, y todas las fotos tienen formato cuadrado.

Facebook;
Empecé a usarlo por los juegos cuando no lo usaba nadie. Hoy dia parece haber remplazado junto con el Whatsapp a Tuenti.
Facebook siempre ha tenido muchas mas opciones y funciones que Tuenti, de hecho yo lo preferia antes que Tuenti, el problema es que entonces en España la gente joven no lo usaba.

Badoo:
La red social donde se reunen todos los canis y chonis del mundo, y donde tu perfil se resume a tu foto. No os la recomiendo.

Tuenti:
Red social que actualmente esta practicamente muerta. A mi nuca me gustó, como he comentado usaba Tuenti y no Facebook debido a que aquí es donde estaba todo el mundo. Tardó mucho tiempo en implementar funciones que Facebook ya implementaba hace tiempo, como los chats en grupo o las videoconferencias, y todo ello, siempre copiando a Facebook. El "nuevo Tuenti", versión nueva que a nadie gustó, la aparicion de Whatsapp y la creacion de perfiles de Facebook para jugar al Candy Crush (Lo se, es muy triste) hicieron que Tuenti cayera en el olvido rapidamente en practicamente menos de un año entre el 2013 y el 2014. Estoy planteando copiar todas las fotos subidas por mi a Tuenti y resubirlas a Facebook, con tal de que estas fotos no caigan en el olvido, ya que no me extrañaria que Tuenti cerrara en el momento menos esperado dejandonos sin la posibilidad de recuperar nuestras fotos subidas.

Wikiloc:
Red social relacionada con actividades deportivas (Running, ciclismo,...) Te permite subir, ver, y recomendar rutas junto con Google Maps. Antes tenia mas popularidad gracias a su integracion con Google Earth, yo en esos momentos tenia miles de visitas a mis rutas subidas. Aunque parezca mentira lo que acabó con su popularidad, fue precisamente, su popularidad: Los nuevos usuarios que aparecieron empezaron a subir rutas y mas rutas, algunas repetidas, otras mal hechas, otras de Spam, etc, etc. Haciendo que dejase de ser intuitivo a la hora de hacer una ruta de alli. Esta red sigue existiendo y lo sigue usando la gente, pero ya no oigo hablar de ella tanto como hace 2-3 años.

Blogger:
Esta red en la que os encontrais ahora mismo. Lamentablemente la escasez de popularidad ha hecho que me plantee abandonarla este mismo año. Asi es, este año tengo pensado dejar de darle soporte a mi blogger, debido a que no tengo apenas visitas, y la mayoria ni siquiera son del pais en el que me encuentro, cuando lo que tenia pensado es que tuviera publico cercano a Hellín.
Os agradezco toda la atencion a la gente que me ha leido todo este tiempo desde que me cree este blog.

viernes, 25 de julio de 2014

Vulnerabilidades y fallos de seguridad en Badoo

Badoo... La red social donde todos los canis y chonis del mundo se encuentran en una misma pagina... Donde el 90% de los usuarios solo se meten con el movil porque ni tienen ordenador... (Y así podría seguir)
Bueno, pues esta claro que esta pagina me decepcionó bastante, no voy a volver a explicarlo.
La cuestión es que recientemente me reactivé la cuenta, únicamente con el objetivo de comprobar hasta que punto tenia la red social fallos de seguridad.
A pesar de que Badoo tiene millones de usuarios por todo el mundo, se nota que aun tiene algunos fallos de este tipo, en parte debido a que dado el tipo de usuarios que usan Badoo a nadie le interesaría explotarlos, y a que tampoco tiene la popularidad que tiene por ejemplo Facebook.
No obstante en general es muy muy seguro. Ademas de usar cifrado HTTPS en toda la pagina es imposible por ejemplo visualizar las fotos privadas de una persona sin pedírselo, obtener el perfil de una persona que te aparece en "Encuentros", u obtener el perfil / imagen original de las fotos pixelizadas.

Seguridad de cuenta:
En cuanto a la seguridad de la cuenta, el mayor fallo es permitir el acceso mediante un "secret": una cadena de unicamente 10 caracteres que incluye unicamente numeros y letras mayusculas y minusculas. Este "secret" puede reemplazar a la contraseña totalmente, y puede ser obtenido rapidamente con fuerza bruta.
¿De donde sale este secret? Cuando recibes los emails de Badoo con alguna notificación te aparece un enlace que te hace login automaticamente en Badoo. Asi es, un enlace URL que te hace automaticamente login. Estos enlaces serian de la forma: https://eu1.badoo.com/access.phtml?UID=387680439&secret=xxxxxxxxxx
Donde el UID es el numero de identificacion de usuario unico de cada usuario de Badoo, el cual es el que te aparece al acceder a tu perfil. Ej: mi pagina de perfil es https://badoo.com/0349823157/ (Con un 0 delante).
Como habeis visto es un fallo de seguridad muy grave, dado lo fácil que es acceder por fuerza bruta a una cuenta.

Tambien este UID nos muestra una caracteristica que Badoo nos oculta a los usuarios, que es el momento de creación de una cuenta. En el ejemplo del secret puse la cuenta de Yana, la nueva "mascota" de Badoo, que es la tia que ahora aparece en los videos de la pantalla de inicio como la "chica mas popular de Badoo". La cuestión es que si os fijais, el UID es muy actual, lo que demuestra que esa cuenta se creó practicamente en las mismas fechas que los videos. Esto demuestra que esta cuenta fue creada de forma intencionada, y la popularidad que dicen los de Badoo, se la ganó con los videos que enlazan a su cuenta a todos los usuarios del mundo.

Vulnerabilidades (Glitches) del servidor:
A la hora de configurar tu perfil, la pagina te permite seleccionar los valores que quieras para tu descripcion, atributos, intenciones...
La cuestion es que muchas opciones son cerradas, pero... ¿Que pasa si le envías respuestas al servidor de forma manual?
Y eso es lo que hice, mediante el programa Fiddler del que ya hablé anteriormente pude descubrir que el servidor es muy vulnerable a estas respuestas alteradas. Aqui os pongo varios ejemplos:

Edades de interes: Una vulnerabilidad que afecta plenamente a la funcionalidad de Badoo. En tu perfil debes poner que estas buscando: Chatear, conocer gente, ligar... Y unas edades cuyo rango debe de tener por lo menos 4 años de rango. Ej: "Quiero tener una cita con una chica entre 18 y 22 años" (Ese sería el minimo). Si estas centrad@ unicamente en personas de por ejemplo hasta 20 años, la pagina no te permite configurarlo, ya que eso implicaria que tu perfil apenas pueda aparecer a nadie. Peeeero como no, hay una vulnerabilidad en los servidores que permite configurarlo como quieras enviando la respuesta manualmente. Si veis mi perfil comprobareis que tengo puesto para conocer gente entre 18 y 19 años, una configuración imposible dentro de la pagina, y que ademas afecta a la funcionalidad de la pagina en funciones como "Encuentros".

Autodescripcion: Uno de los campos mas importante de tu perfil es la autodescripcion, un campo de texto de un maximo de 150 caracteres en el que te describes a ti mismo para que lo pueda ver el resto del mundo.
La cuestion es que no puedes escribir mas de 150 caracteres en la pagina, una pena, ¿no? pero... que pasaria si manualmente con Fiddler le envias una descripcion de 5.000 caracteres (por ejemplo). Pues lo que pasa es que el servidor lo recibe... y lo publica! Esto es un fallo muy grave, puesto que hace que paginas como la mia tengan una longitud enorme, y ademas si accedes a esta descripcion desde la app movil, la app hace crash directamente.

Atributos: Si comprobais mi campo de apariencia donde deberia aparecer mi altura y peso, comprobareis que aparece (5'4"). WTF? Normalmente la altura la pone en metros, y entre parentesis apareceria la medida en pulgadas. Los valores se envian al servidor en mm y en la pagina se pueden elegir como 170cm, 171cm... Siempre de 10 en 10mm. ¿Que pasa si se envia por ejemplo 1805mm? Pues lo que habeis visto en mi perfil. El servidor no logra interpretar mi valor de altura en cm y unicamente muestra la conversión a pulgadas entre parentesis.

Seguramente hayan mas fallos, pero como esto no lo leera nadie lo dejo aqui XD.

martes, 3 de junio de 2014

Extensiones Google Chrome

Bueno, mi ultimo proyecto en cuanto a software se refiere han sido dos extensiones para el navegador Google Chrome: Una para Ask.fm y otra para Twitter.
Estas extensiones lo unico que hacen es modificar la apariencia de estas dos paginas mediante inyección de CSS, sin modificar para nada el funcionamiento. La mayor dificultad que he tenido ha sido el tema de la creatividad, ya que no he contado con ningun tester (sois mu' malos) y no he tenido opiniones, ademas de que tampoco quería que el resultado final fuese muy cargado y cansase (Tengo pensado instalarme mis propias extensiones)

Extension para Ask.fm:
La extension de Ask.fm simplemente permite ver la barra de Menu junto con las listas de likes y respuestas de forma transparente. Como podeis ver en la siguiente imagen:

La extensión la podéis descargar aquí: http://bit.ly/S2NL5v
En esta ocasión no he decidido hacer ningún otro cambio en la apariencia de la pagina.

Extension para Twitter:
Bastante mas currada, añade transparencia a la barra de menú igual que en la extensión de Ask.fm, ademas de añadirle color azul. Ademas cambia las fuentes para que sean mas agradables a la vista que las actuales (Bastante feas para mi gusto). También colorea la barra de tweets y le da cierta transparencia. Añade una imagen de fondo y otra imagen de tonos blancos sobre la que aparecen los tweets, tendencias, etc.
Os podéis descargar la extensión para Twitter en el siguiente enlace: http://bit.ly/UmC1wH

Como instalarlas:
Para instalarlas debéis descargar las extensiones que queráis desde los enlaces que os he puesto. En Google Chrome en el menu de opciones vais a >Herramientas>Extensiones y en la pagina que se os abre debéis arrastrar y soltar el archivo descargado.

Ahora una pregunta muy simple: ¿Porque no lo subo a la tienda de Chrome? Pues resulta que para crearte un perfil para subir extensiones a la tienda, hay que hacer un pago de 5€, al parecer con el objetivo de pagar a los empleados de Google para que comprueben que no tienen malware o yoquese.
En fin, Google apoyando a los desarrolladores, claro que sí.

Pero bueno, yo os las adjunto aquí, así que no problem. Me gustaría que la probarais y me dieseis vuestra opinión, grax... madafakas.

miércoles, 21 de mayo de 2014

¿Que opinais de mi blog, b*tches?

Vamos a ver chic@s, viendo el poco éxito del blog, me gustaría que me dieseis vuestra opinión acerca de él. De hecho no tengo pensado escribir mas posts hasta que no haya recibido por lo menos 5-10 respuestas, así que aquí sin mas os dejo la encuesta de mi blog. No es necesario que contestéis todos los campos si no queréis. Cuando hayáis terminado pulsad el botón enviar y podréis ver un breve resumen de todas las respuestas recibidas. Gracias por vuestras respuestas :')