Tabla de contenido:

HackerBox 0047: Vieja escuela: 12 pasos
HackerBox 0047: Vieja escuela: 12 pasos

Video: HackerBox 0047: Vieja escuela: 12 pasos

Video: HackerBox 0047: Vieja escuela: 12 pasos
Video: #104 HackerBox 47: старая школа VGA 2024, Mes de julio
Anonim
HackerBox 0047: vieja escuela
HackerBox 0047: vieja escuela

¡Saludos a HackerBox Hackers de todo el mundo! Con HackerBox 0047, estamos experimentando con interfaces de teclado para microcontroladores, generación de señales de video VGA, computadoras con ROM BASIC de la vieja escuela, dispositivos de almacenamiento microSD, herramientas de bloqueo y memorias USB de arranque Ubuntu Linux.

Este Instructable contiene información para comenzar con HackerBox 0047, que se puede comprar aquí hasta agotar existencias. Si desea recibir un HackerBox como este en su buzón cada mes, suscríbase en HackerBoxes.com y únase a la revolución.

HackerBoxes es el servicio de caja de suscripción mensual para entusiastas de la electrónica y la tecnología informática - Hardware Hackers - The Dreamers of Dreams.

Paso 1: Lista de contenido para HackerBox 0047

  • Kit de PC VGA exclusivo de la vieja escuela
  • Dos módulos Nano Arduino 5V 16MHz
  • Kit LED de 200 piezas en caja de almacenamiento de plástico
  • Unidad flash USB de aluminio de 8 GB
  • Herramienta de bolsillo Locksport 6 en 1
  • Cortadores de alambre de precisión
  • Módulo de conexión MicroSD
  • Lector USB MicroSD
  • Dos cabezales separables macho de 40 pines
  • Jerséis DuPont hembra-hembra de 10cm
  • Etiqueta de Ubuntu Linux

Algunas otras cosas que serán útiles:

  • Soldador, soldadura y herramientas de soldadura básicas
  • Computadora para ejecutar herramientas de software
  • Monitor VGA recuperado (pruebe con una tienda de segunda mano o un antiguo almacén en el trabajo)
  • Teclado PS / 2 (pruebe con una tienda de segunda mano o un antiguo trastero en el trabajo)

Lo más importante es que necesitará sentido de la aventura, espíritu hacker, paciencia y curiosidad. Construir y experimentar con la electrónica, aunque es muy gratificante, puede ser complicado, desafiante e incluso frustrante en ocasiones. El objetivo es el progreso, no la perfección. Cuando persiste y disfruta de la aventura, se puede derivar una gran satisfacción de este pasatiempo. Dé cada paso lentamente, preste atención a los detalles y no tema pedir ayuda.

Hay una gran cantidad de información para miembros actuales y potenciales en las preguntas frecuentes de HackerBoxes. Casi todos los correos electrónicos de soporte no técnico que recibimos ya están respondidos allí, por lo que realmente agradecemos que se tome unos minutos para leer las preguntas frecuentes.

Paso 2: Locksport

Locksport
Locksport

Locksport es el deporte o la recreación de derrotar a las cerraduras. Los entusiastas aprenden una variedad de habilidades que incluyen abrir cerraduras, golpear cerraduras y otras técnicas utilizadas tradicionalmente por cerrajeros y otros profesionales de la seguridad. Los entusiastas de Locksport disfrutan del desafío y la emoción de aprender a derrotar todas las formas de candados y, a menudo, se reúnen en grupos deportivos para compartir conocimientos, intercambiar ideas y participar en una variedad de actividades recreativas y concursos.

Para obtener una buena introducción, consulte la Guía del MIT para seleccionar cerraduras.

Además, mire este video y vea los increíbles enlaces en la descripción del video.

TOOOL (The Open Organization Of Lockpickers) es una organización de individuos que se dedican al pasatiempo de Locksport, además de educar a sus miembros y al público sobre la seguridad (o la falta de ella) que brindan las cerraduras comunes. "La misión de TOOOL es promover el conocimiento del público en general sobre las cerraduras y la apertura de cerraduras. Al examinar cerraduras, cajas fuertes y otro hardware similar y al discutir públicamente nuestros hallazgos, esperamos aclarar el misterio con el que están imbuidos muchos de estos productos."

CONSIDERACIONES ÉTICAS:

Revise cuidadosamente e inspírese seriamente en el estricto código de ética de TOOOL, que se resume en las siguientes tres reglas:

  1. Nunca saque ni manipule con el objetivo de abrir un candado que no le pertenezca, a menos que el propietario legítimo del candado le haya otorgado un permiso explícito.
  2. Nunca divulgue el conocimiento o las herramientas de abrir cerraduras a personas que usted conozca o que tenga motivos para sospechar que buscarían emplear dichas habilidades o equipos de manera criminal.
  3. Tenga en cuenta las leyes pertinentes sobre ganzúas y equipos relacionados en cualquier país, estado o municipio en el que desee dedicarse a la apertura de cerraduras por aficionado o al deporte recreativo.

Paso 3: recorte todos los prospectos

Recorte todos los prospectos
Recorte todos los prospectos

Al soldar, siempre hay cables para recortar. Por no hablar de cortar el cable verde mientras desarma peligrosos accesorios de películas.

Utilice esta herramienta con buena salud. Preste atención a las advertencias del fabricante que se muestran aquí acerca de usar siempre protección para los ojos. No quieren que te saques los ojos. Nosotros tampoco.

Paso 4: Plataforma de microcontrolador Arduino Nano

Plataforma de microcontrolador Arduino Nano
Plataforma de microcontrolador Arduino Nano

¡A todos nos encanta el Arduino Nano y este mes vamos a necesitar dos de ellos! Las placas Arduino Nano incluidas vienen con pines de encabezado, pero no están soldados a los módulos. Deja las clavijas fuera por ahora. Realice estas pruebas iniciales en ambos módulos Arduino Nano antes de soldar los pines del cabezal. Todo lo que se necesita es un cable microUSB y ambas placas Arduino Nano tal y como salen de la bolsa.

Arduino Nano es una placa Arduino miniaturizada, compatible con protoboard y de montaje en superficie con USB integrado. Es increíblemente completo y fácil de piratear.

Características:

  • Microcontrolador: Atmel ATmega328P
  • Voltaje: 5 V
  • Pines de E / S digitales: 14 (6 PWM)
  • Pines de entrada analógica: 8
  • Corriente CC por pin de E / S: 40 mA
  • Memoria Flash: 32 KB (2 KB para el gestor de arranque)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Velocidad de reloj: 16 MHz
  • Dimensiones: 17 mm x 43 mm

Esta variante particular del Arduino Nano es el Robotdyn Nano negro. Incluye un puerto MicroUSB integrado conectado a un chip de puente serie / USB CH340G. Puede encontrar información detallada sobre el CH340 (y los controladores, si es necesario) aquí.

Cuando conecte por primera vez el Arduino Nano a un puerto USB de su computadora, la luz verde de encendido debería encenderse y poco después el LED azul debería comenzar a parpadear lentamente. Esto sucede porque el Nano está precargado con el programa BLINK, que se ejecuta en el nuevo Arduino Nano.

SOFTWARE: Si aún no tiene el IDE de Arduino instalado, puede descargarlo desde Arduino.cc

Conecte el Nano al cable MicroUSB y el otro extremo del cable a un puerto USB de la computadora. Inicie el software Arduino IDE. Seleccione "Arduino Nano" en el IDE en herramientas> placa y "ATmega328P (antiguo gestor de arranque)" en herramientas> procesador. Seleccione el puerto USB apropiado en herramientas> puerto (es probable que sea un nombre con "wchusb" en él).

Finalmente, cargue un fragmento de código de ejemplo: Archivo-> Ejemplos-> Conceptos básicos-> Parpadeo

Blink es en realidad el código que se precargó en el Nano y debería estar ejecutándose ahora mismo para hacer parpadear lentamente el LED azul. En consecuencia, si cargamos este código de ejemplo, nada cambiará. En cambio, modifiquemos un poco el código.

Mirando de cerca, puede ver que el programa enciende el LED, espera 1000 milisegundos (un segundo), apaga el LED, espera otro segundo y luego lo hace todo de nuevo, para siempre.

Modifique el código cambiando las dos declaraciones "delay (1000)" por "delay (100)". Esta modificación hará que el LED parpadee diez veces más rápido, ¿verdad?

Carguemos el código modificado en el Nano haciendo clic en el botón SUBIR (el icono de flecha) justo encima de su código modificado. Mire a continuación el código para ver la información de estado: "compilando" y luego "cargando". Finalmente, el IDE debería indicar "Carga completa" y su LED debería parpadear más rápido.

Si es así, ¡enhorabuena! Acaba de piratear su primer código incrustado.

Una vez que su versión de parpadeo rápido esté cargada y ejecutándose, ¿por qué no ver si puede cambiar el código nuevamente para que el LED parpadee rápidamente dos veces y luego espere un par de segundos antes de repetir? ¡Darle una oportunidad! ¿Qué tal algunos otros patrones? Una vez que logre visualizar un resultado deseado, codificarlo y observar que funciona según lo planeado, habrá dado un paso enorme para convertirse en un hacker de hardware competente.

Antes de soldarles algo, pruebe ambos módulos Arduino Nano cargando un programa personalizado en cada uno y asegurándose de que se ejecutan correctamente.

Si desea información introductoria adicional para trabajar en el ecosistema Arduino, le sugerimos que consulte la guía del Taller de inicio de HackerBoxes, que incluye varios ejemplos y un enlace a un libro de texto Arduino en PDF.

Paso 5: Kit de PC VGA de la vieja escuela

Kit de PC VGA de la vieja escuela
Kit de PC VGA de la vieja escuela

Contenido del kit de PC VGA de la vieja escuela:

  • Placa de circuito impreso de PC VGA de la vieja escuela
  • Dos módulos de microcontrolador Arduino Nano
  • Conector VGA HD15
  • Conector de teclado Mini-DIN PS / 2
  • Dos resistencias de 68 ohmios
  • Dos resistencias de 470 ohmios
  • Zumbador piezoeléctrico

En los siguientes pasos, ensamblará y explorará el kit de PC VGA de la vieja escuela. Obviamente, esto requerirá algo de soldadura. Hay muchas guías y videos geniales en línea sobre soldadura (por ejemplo). Si cree que necesita ayuda adicional, intente encontrar un grupo de creadores locales o un espacio de piratas informáticos en su área. Además, los clubes de radioaficionados son siempre excelentes fuentes de experiencia en electrónica.

Algunas notas de diseño: se sugiere que una vez que ambos Nanos estén instalados, solo conecte uno de ellos a la vez a la alimentación USB, nunca ambos a la vez. Del mismo modo, ambos Nanos pueden activar el zumbador desde su pin A0. Solo configure uno de los pines A0 como salida, nunca ambos al mismo tiempo. Hay una fila de pines de E / S (encabezado J1) justo debajo de las dos MCU (consulte el esquema para las asignaciones de pines). La fila inferior (encabezado J2) es solo un "espacio de tablero" y no se conecta a nada dentro de la PCB.

Paso 6: PC de la vieja escuela - Teclado PS / 2

PC de la vieja escuela - Teclado PS / 2
PC de la vieja escuela - Teclado PS / 2

Para probar la interfaz del teclado y la biblioteca, primero complete solo dos elementos en la PCB:

  1. MCU principal (Arduino Nano)
  2. Conector mini-DIN PS / 2

La MCU principal requiere las dos filas de encabezado negras largas. El encabezado de seis pines (2x3) no se utiliza.

Instale la biblioteca PS2Keyboard de Paul Stoffregen para Arduino.

Dentro del IDE de Arduino, abra Archivo> Ejemplos> PS2Keyboard> Simple_Test

En el esquema de PCB en el paso anterior, puede ver que KBCLK está en el pin D3 (no D5 como se supone en el ejemplo), así que asegúrese de que el pin definido en los ejemplos esté configurado como:

const int DataPin = 8; const int IRQpin = 3;

Luego programe ese código en la MCU principal, conecte un teclado PS / 2, abra el Monitor serial Arduino a 9600 bps y comience a escribir.

Códigos de escaneo del teclado desmitificados

Tenga en cuenta que la mayoría de los teclados USB más antiguos son una combinación de teclados USB y PS / 2 y se pueden utilizar con un adaptador o volver a cablear para conectarlos a un puerto PS / 2. Esos teclados de interfaz dual generalmente vienen con un pequeño enchufe adaptador USB a PS / 2. Sin embargo, los teclados USB más nuevos que no vienen con un adaptador PS / 2 generalmente no proporcionarán las señales PS / 2 y no funcionarán con dicho adaptador.

Paso 7: PC de la vieja escuela - Salida de video VGA

PC de la vieja escuela - Salida de video VGA
PC de la vieja escuela - Salida de video VGA

Suelde el otro Arduino Nano (VIDEO MCU), las cuatro resistencias (tenga en cuenta que hay dos valores diferentes), el zumbador y el conector VGA. Una vez más, no se utiliza el encabezado de seis (2x3) pines de MCU.

Instale la biblioteca VGAX de Sandro Maffiodo para Arduino. Conecte un monitor VGA. Disfrute de los archivos de ejemplo en archivo> ejemplos> VGAX

El repositorio de git para la biblioteca VGAX tiene información y recursos altamente educativos que enseñan cómo el humilde Arduino es pirateado para generar una señal de video VGA (ish).

Paso 8: PC de la vieja escuela - Lenguaje de programación BÁSICO

Image
Image

Estos bloques de procesamiento de teclado, video y MCU se pueden combinar en una PC VGA de 8 bits simple pero elegante, capaz de admitir el lenguaje de programación BASIC. Felicitaciones a Rob Cai por juntar todas estas piezas.

BASIC (Código de instrucción simbólico de uso múltiple para principiantes) es un lenguaje de programación de alto nivel y propósito general que enfatiza la facilidad de uso. Casi universalmente, las computadoras domésticas de la década de 1980 tenían un intérprete BASIC residente en ROM, que las máquinas arrancaban directamente. Estos micros de la vieja escuela incluyen varios tipos de máquinas Apple II, Commodore, TRS-80, Atari y Sinclair. (wikipedia)

Los diseños de MCU duales utilizan un primer Arduino como MCU PRINCIPAL, donde se cargan la biblioteca de teclado TinyBasic Plus y PS2. El segundo VIDEO MCU se utiliza como un generador de pantalla gráfica que ejecuta la biblioteca VGAX. El VIDEO MCU puede generar 4 colores, 10 filas x 24 columnas de caracteres ASCII.

La E / S de Arduino se puede controlar directamente desde programas BASIC. Como se muestra en este video, un LED parpadeante es impulsado por algunas líneas de programa. El código BÁSICO incluso se puede guardar en la EEPROM de la MCU.

EL CÓDIGO: bosquejado para ambos MCU y varios otros detalles están disponibles en Instructable de Rob Cai para el proyecto.

NOTA DE PROGRAMACIÓN: Al programar los módulos MCU después de que están en la PCB, a veces se encuentran problemas ya que las interfaces seriales están conectadas y pueden interferir con la programación. Simplemente mantenga presionado el botón de reinicio en la MCU principal mientras el cable USB programa la MCU de video, y viceversa mientras el cable USB programa la MCU principal.

Paso 9: Ejecute Ubuntu Linux a través de una memoria USB

Módulo de conexión MicroSD TF
Módulo de conexión MicroSD TF

Ubuntu es una distribución de Linux gratuita y de código abierto basada en Debian. Ubuntu se lanza cada seis meses, con versiones de soporte a largo plazo (LTS) cada dos años. Ubuntu es desarrollado por Canonical y la comunidad de usuarios. Ubuntu lleva el nombre de la filosofía africana de ubuntu, que Canonical traduce como "humanidad para los demás" o "soy lo que soy por lo que todos somos". (wikipedia)

¿Por qué no probar Ubuntu en una memoria USB?

  • Instalar o actualizar Ubuntu
  • Pruebe la experiencia de escritorio de Ubuntu sin tocar la configuración de su PC
  • Inicie Ubuntu en una máquina prestada o desde un cibercafé
  • Utilice las herramientas instaladas de forma predeterminada en la memoria USB para reparar o arreglar una configuración rota

Crear una memoria USB de arranque de Ubuntu es muy simple, especialmente desde el propio Ubuntu. El proceso se cubre en unos pocos pasos aquí.

ADVERTENCIA: Adquiera el hábito de no confiar nunca en dispositivos de almacenamiento USB aleatorios. Sí, incluso el incluido en esta caja. Nunca permita que nada se ejecute automáticamente desde un dispositivo de almacenamiento desconocido. La mayoría de los sistemas operativos no permiten la ejecución automática como parte de las prácticas de seguridad estándar, pero en una caja de Windows, debe deshabilitar la ejecución automática / reproducción automática. No ejecute ni abra nada que encuentre en el dispositivo de almacenamiento. Si desea utilizar el dispositivo de almacenamiento, límpielo y vuelva a formatearlo.

Paso 10: Módulo de conexión MicroSD TF

¿Cuál es la diferencia entre una tarjeta TF y una tarjeta MicroSD? (fuente)

El diminuto dispositivo de almacenamiento móvil conocido como tarjeta MicroSD fue producido por primera vez por SanDisk Corporation bajo el nombre TransFlash, en 2004, y en ese momento se presentó como el dispositivo de memoria externa más pequeño del mundo. Tras su éxito en el mercado de la telefonía móvil, la tarjeta TransFlash fue adoptada formalmente por la autoridad actual en almacenamiento digital, la SD Card Association, como parte del dispositivo de almacenamiento digital de tercera categoría en el paraguas oficial de Secure Digital. Los otros dos dispositivos son MiniSD y Tarjeta de memoria SD. En algún momento del camino, SanDisk Corporation cambió el nombre del dispositivo a Tarjeta MicroSD y comenzó a producir lo que ahora usamos como un chip de almacenamiento de memoria estándar, que la mayoría de los teléfonos móviles están diseñados para adaptarse.

Tenga en cuenta que los dispositivos de memoria MicroSD son dispositivos de 3.3V, por lo que el módulo de conexión simple que se muestra aquí debe usarse en sistemas de 3.3V. Por ejemplo, con microcontroladores de 3.3V. A menudo encontrará instancias en la naturaleza (ejemplo uno, ejemplo dos) de proyectos que simplemente atascan señales de E / S de 5V en tarjetas MicroSD. Por lo general, funcionan si te gusta vivir peligrosamente, pero pueden ser menos estables e incluso dañar la tarjeta MicroSD. Las soluciones más correctas / robustas para el uso de tarjetas MicroSD con microcontroladores de 5V incluyen cambiadores de nivel o redes de divisores de voltaje (ambos discutidos aquí).

Paso 11: Zoom de Mandelbrot - ¡No se caiga

Image
Image

Las imágenes del conjunto de Mandelbrot exhiben un límite elaborado e infinitamente complicado que revela detalles recursivos cada vez más finos con aumentos crecientes. El "estilo" de este detalle repetido depende de la región del conjunto que se examina. El límite del conjunto también incorpora versiones más pequeñas de la forma principal, por lo que la propiedad fractal de auto-semejanza se aplica a todo el conjunto, y no solo a sus partes. El conjunto de Mandelbrot se ha vuelto popular fuera de las matemáticas tanto por su atractivo estético como por ser un ejemplo de una estructura compleja que surge de la aplicación de reglas simples. Es uno de los ejemplos más conocidos de visualización matemática y belleza matemática. (wikipedia)

  • herramienta de zoom manual
  • tanto código
  • recursividad: n. ver recursividad

Paso 12: HackLife

Esperamos que esté disfrutando de la aventura de HackerBox de este mes en la electrónica y la tecnología informática. Comuníquese y comparta su éxito en los comentarios a continuación o en el grupo de Facebook de HackerBoxes. Además, recuerde que puede enviar un correo electrónico a [email protected] en cualquier momento si tiene una pregunta o necesita ayuda.

¿Que sigue? Únete a la revolución. Vive la HackLife. Reciba una caja fresca de equipo pirateable directamente en su buzón de correo cada mes. Navegue a HackerBoxes.com y regístrese para obtener su suscripción mensual a HackerBox.

Recomendado: