Hace 3 años | Por geralt_ a microsiervos.com
Publicado hace 3 años por geralt_ a microsiervos.com

A MatKC un día le asaltó la duda de si sería posible meter un programa en un código QR. A fin de cuentas un QR no deja de ser un «dispositivo» de almacenamiento. Así que en Can you fit a whole game into a QR code? cuenta sus peripecias hasta que por fin consiguió meter el mítico juego de la serpiente en uno. Por supuesto Matt no se refería a meter una dirección web en el QR, lo que es trivial, sino a meter el código del programa allí. Así que lo primero que hizo fue averiguar la capacidad máxima de almacenamiento de un QR...

Comentarios

danimourinho

el pro'ximo sera' el DOOM

D

#5 o otro Skyrim very special edition roll

Ako3

Interesante... Más ahora, que en vez de carta en los bares hay códigos QR para que te la descargues.

D

Os recomiendo pegarle un vistazo a la videoconsola virtual Pico8 cuyos cartuchos son imágenes PNG.

D

Un gusano es más pequeño que una serpiente... y un virus mucho más.

D

#2 Ya lo indican al final del artículo:

...que lo haya logrado es también inquietante porque, como él dice, eso hace posible meter malware en un QR cualquiera que una personas con malas intenciones puede ir dejando por ahí.

D

#3. Si lo he leído, y lo de comprimir y meter el compresor en el código (cosa que habría que analizar). Lo de no 'hacer trampas' con Java o el navegador es más preocupante, quien programe un gusano no tendrá esas limitaciones éticas.

Aunque puestos, una simple URL que apunte a una dirección maliciosa ya basta.

emilio.herrero

#6 Evidentemente eso es el código binario del juego y hay que compilarlo de alguna manera, y un lector QR convencional ni de lejos tiene esa capacidad.

Manolitro

#3 Bueno, esa posible mala utilización, aunque más primitiva, realmente ya existía, llevándote a alguna página web que te pidiera descargar alguna pieza de software malicioso

También hay que tener en cuenta que para que cupieran los 3 KB del vídeo, ha necesitado usar el QR "Versión 40" que es enorme, y altamente sospechoso si estás acostumbrado a mirar códigos QR de los tipos estándar

D

#3 No le veo mayor problema la verdad. El lector lee un stream de bytes y lo guarda en un archivo, no se va a poner a ejecutar el código porque si.

Solo si hubiese una vulnerabilidad en el lector que permitiese ejecutar código aleatorio, y ya sería que justo te toque porque encima para leer QRs hay un huevo de librerías, zbar, zxing, google vision, apple imagino que también tendrá otra para iphone y sabe dios cuantas más habra por ahí. Malo será que alguien sea capaz de hacer un QR que permita ejecutar código aleatorio en todas y cada una de ellas.

meneandro

#3 Desde que un QR puede enlazar a una web arbitraria ya pueden colarte lo que sea, así que tampoco es que sea una amenaza más gorda que lo que era antes.

Por otro lado, si el programa lector de QR es medianamente bueno, lo primero que hace es interpretar el código y preguntar al usuario qué hacer con él. Si detecta algo que no es una url, ni debería continuar...

mudit0

Noticias de verano. Mañana veremos el Doom compilado para un ventilador Xiaomi

knzio

#11 como el bulo aquel que decía que las baterías de los iPhone se podían cargar metiéndolos en el microondas. Y era parcialmente cierto, se cargaba los iphones y lo que hubiera lol

sillycon

Yutuber que se da importancia.
Hay concursos de eso y menos en la scene y salen unas cosas expectaculares.

D

pouet.net es un repositorio de estas producciones y concursos. Podéis ver a qué se refiere #8:

Aquí un listado de las mejores demos de 1k. En muchas de ellas hay un enlace a youtube donde podéis ver (más o menos) lo que hacen, aunque para verlo con la mejor calidad lo suyo es ejecutar la demo.

http://www.pouet.net/prodlist.php?type%5B0%5D=1k&page=1&order=thumbup

Siempre me gustó la demoscene :_

prejudice

Tranquilos, puede que metiera un programa en C (Y encima comprimido), pero un apk de android no le cabría ni de broma.

sillycon

#7 Bueno, puedes poner el en QR la URL a un sitio malicioso que te descargue de todo y te deje el movil como un solar. La imprimes, la pegas encima del QR de la carta del bar de abajo y Voilá!

prejudice

#9 O directamente pones un mensaje que diga:
"PARA VER LA CARTA, LANCE SU MÓVIL CONTRA EL SUELO"
Si hubo gente que bebió desinfectante cuándo lo dijo Trump, hay gente capaz de cualquier cosa.

D

Por lo general un compilador siempre va a hacer binarios más pequeños y más rápidos, es muy muy dificil escribir ensamblador eficiente hoy en día con SIMD, hay demasiadas extensiones AVX, SSE, MMX, etc. y demás como para poder altamente paralelas.

Solo gente que sepa muy bien lo que hace y en partes muy concretas y muy críticas del código puede ganar al compilador. El 99% de veces el compilador lo va a hacer bastante mejor.

meneandro

#18 Es que ni siquiera es práctico. A día de hoy, si haces cualquier programa (diría cualquiera mínimamente complejo, pero ya para cualquier cosa tiras de librerías... ya eso es impráctico de usar con ensamblador) usar ensamblador es morirse. Sólo para cosas muy concretas y específicas: drivers/firmwares (cada día menos), cálculo (cada día menos) y procesado de datos (cada día menos). Sólo en sitios donde optimizar a bajo nivel (o sea, gastar días, semanas o meses de un ingeniero de medio-alto nivel) ahorra cientos de miles de euros.

D

#20 Si, obviamente. En userspace salvo el tema de locks (a nivel de librería), debuggers, profilers no hay mucho más donde tenga sentido.