hardware hacking
Table of Contents
- 1. hardware hacking
- 1.1. hcon 2026 hardware ctf
- 1.2. Building a 3D Printed Atomic-Resolution Scanning Tunneling Microscope (STM) | DIY STM Explained - YouTube
- 1.3. Ingeniería inversa de PCBs
- 1.4. Ingeniería inversa de silicio
- 1.4.1. Microprobing
- 1.4.2. SiO2 oxidation colors
- 1.4.3. Microscopio
- 1.4.4. righto
- 1.4.4.1. Reverse engineering CMOS, illustrated with a vintage Soviet counter chip
- 1.4.4.2. Reverse-engineering a vintage power supply chip from die photos
- 1.4.4.3. Reverse-engineering a vintage comparator chip
- 1.4.4.4. Examining a vintage RAM chip, I find a counterfeit with an entirely different die inside
- 1.4.4.5. How to reverse engineer an analog chip: the TDA7000 FM radio receiver
- 1.5. Decapado
- 1.6. Proyecto decapado CD4000
- 1.7. sd card repair sd card repair
- 1.8. Andrew bunnie Huang - Hardware hacking
- 1.9. semiconductor manufacturing
1. hardware hacking
1.1. hcon 2026 hardware ctf
https://github.com/therealdreg/hcon2026hwctf
screen /dev/ttyACM0 picotool info -uf
1.3. Ingeniería inversa de PCBs
https://pcbtracer.com/
Se podría utilizar KiCad también? Se puede actualizar un esquemático desde la PCB
1.4. Ingeniería inversa de silicio
- How I reverse engineer a chip - YouTube
- Reverse engineering a simple CMOS chip - YouTube
- Uncovering the Silicon: Demystifying How Chips are Built and How They Work - YouTube
- Reading Silicon: How to Reverse Engineer Integrated Circuits - YouTube
- How to figure out internal state: Desconecta el circuito y mira a ver si da lo mismo (no hay estado interno) o no (sí que lo hay) → Power cycle
- Uncaging Microchips - media.ccc.de
- Epoxy to schematic: leaving the cubicle and entering the lab - John McMaster - ehsm - 2012 - YouTube
- How-To: expose flip chip CPU dies - YouTube
- Creating Intel CPU die shot without the need for sanding - YouTube
- Viaje al interior de un microchip: Pedro Julián at TEDxBahiaBlanca - YouTube
1.4.1. Microprobing
1.4.2. SiO2 oxidation colors
Los colores van con la profundidad de SiO2
1.4.3. Microscopio
Mirar PUMA
https://www.photomacrography.net/forum/viewtopic.php?t=47989
https://www.youtube.com/watch?v=cAEB10K8PqI
https://www.youtube.com/watch?v=uB48D5KueU8
Para colocar el manipulador de tilt usar muchas pinzas para pasar primero hasta un lado y luego hacia el otro. Primero cojer una pinza, estirar el muelle, coger otra y trabarlo para que no baje
Añadir un “agujero negro” al otro lado del divisor de haz
Hacerlo que se puedan acoplar distintas partes (pinhole y agujero negro) para poder probar distintas cosas
No me cierra bien el tapón rosca LED pero con
Problema de cómo enganchar el LED en la estructura, mucho calor da el LED
Añadir control de luminosidad al LED?
1.4.4. righto
1.4.4.1. Reverse engineering CMOS, illustrated with a vintage Soviet counter chip
PMOS transistors are generally larger than NMOS transistors because they are weaker. Another way to distinguish them is by their connection in circuits. As will be seen below, PMOS transistors in logic gates are connected to power while NMOS transistors are connected to ground.
1.4.4.2. Reverse-engineering a vintage power supply chip from die photos
Capacitors
1.4.4.3. Reverse-engineering a vintage comparator chip
Resistors
1.5. Decapado
- Layman’s Guide to IC Reverse Engineering
- https://www.powerwaywafer.com/sio2-films-color.html
- Learn IC Decapping | Hackaday
- Practical Methods for Decapping Chips
- Safe IC decapping while preserving bond wires | Hackaday.io
- DIY Laser Scanning Microscope from Blu-ray Player #3: Increasing the Resolution - YouTube
- Metallization: Making Conductive Traces on Silicon Chips. - YouTube
- Por qué salen las imágenes en blanco y negro?
- ZeptoBars
- https://siliconpr0n.org/archive/doku.php?id=felinefriendly:bosch:b30132
- Mechanically Decapping a Chip-On-Board (COB) - YouTube
- How to Decap ICs with Sandpaper - YouTube
- http://infosecdj.net/ Decapping services
- IRIS: Non-Destructive Inspection of Silicon - media.ccc.de
- bunnie/iris-stitcher: Stitching scripts for IRIS
- bunnie/iris-hw: CAD files for IRIS hardware designs
- IRIS (Infra-Red, in situ) Project Updates « bunnie’s blog
- bunnie/iris-integration: System Integration Recommendations for IRIS Inspection
- https://siliconprawn.org/archive/doku.php?id=tag:collection_bunnie&do=showtag&tag=collection_bunnie
- Hardwear.io NL 2025: [Keynote] Towards End-User Verifiable Silicon - Andrew ’Bunnie’ Huang - YouTube
- bunnie/iris-stitcher: Stitching scripts for IRIS
- Proprietary silicon ICs and dubious marketing claims? Let’s fight those with a microscope! - media.ccc.de
- https://media.ccc.de/search?p=giulioz charlas en general de guilioz sobre ingeniería inversa
- https://media.ccc.de/v/gpn24-616-mmo-chip-from-microscope-to-verilog-in-an-hour
- Reading Silicon: How to Reverse Engineer Integrated Circuits - YouTube
- 27c3: Reverse Engineering the MOS 6502 CPU (en) - YouTube
1.5.1. Project 54/74
1.5.3. Identificación de chips
https://www.ti.com/lit/sg/sdyu001ac/sdyu001ac.pdf
6 Appendix C: Logic Part Number Naming Conventions
De momento he visto XG479 para un CD4069BE
También GI9248 para uno de aliexpress
1.6. Proyecto decapado CD4000
- Empezar por los chips serie 4000 que son grandecitos y fáciles de hacer ingeniería inversa
- Montar el microscopio en la CNC que tengo para hacer fotos buenas stitcheando varias fotos en un mosaico
Manualmente mejor utilizar bcnc que puedes cambiar el parámetro de configuración para que tenga distintos pasos en eje XY y en eje Z, además de permitir definir tus pasos (50µm por ejemplo) en ~/.bCNC
- Automatizar el tomado de imágenes
- Automatizar el recorido de la CNC y pausar para tomar una foto y enfocar
- Automatizar sacar una foto: con pyuscope puedo sacar una foto (en blanco y negro, o a menor resolución)
- Para sacar una foto con la cámara, puedo poner un fsnotify que cuando se cree una imagen en la carpeta de guardado, dispare los infrarrojos
- Para sacar una foto con la cámara, puedo poner un fsnotify que cuando se cree una imagen en la carpeta de guardado, dispare los infrarrojos
Automatizar el ajuste enfoque tomando una foto y haciendo análisis de fourierya lo hace pyuscope
- Automatizar el recorido de la CNC y pausar para tomar una foto y enfocar
- Automatizar el tomado de imágenes
- Diseñar un mecanismo de altura ajustable para el tubo. No será justo de 160mm, se pueden tomar varias imágenes a ver cuál tiene menos aberración cromática
- Cuando ya tenga eso creo que me meteré con el ácido fluorhídrico del demonio para quitar la capa de SiO2 y aluminio y ver lo que hay debajo, y con eso ya puedo hacer ingeniería inversa completa
- Luego con ácido nítrico (quizás ya lo envío a algún sitio) puedo decaparlo y que siga funcionando, y podría hacer microprobing (pinchar señales intermedias) y sacarlas por un osciloscopio
- Creo que para poder pinchar silicio necesitaría agujas de tungsteno ( y probablemente eliminar con una máscara de manera selectiva el óxido de silicio, quizás depositar algo de metal como níquel a partir de una sal), tengo que ver cómo montarlas (probablemente también motores para micromanipulación, puedo utilizar proyectos ya hechos)
- semiconductor manufacturing también! Una vez que tengo algo para atacar el SiO2, puedo utilizar el láser de la CNC para fabricar máscaras y tengo todos los aparatos de tungsteno para hacer microprobing
https://www.richis-lab.de → chips explicados de este estilo
1.6.1. Cómo pegarlos
Pegar con cianocrilato, se disuelve en acetona
Especialmente las pastillas más diminutas son complicadas de pegar sin que se llegen de pegamento. Para ello, echar el CA en un destornillador plano y aplicar muuy poco
Las pastillas más diminutas también son las que más se angulan con el pegamento, lo que quiere decir que puede que necesiten ángulos un tanto extremos para estar rectas respecto al microscopio
1.6.2. stitcheado
Utilizo Fiji (no vale bajarselo de los repos de AUR, tiene que estar instalado)
Downsampleo x8 (en cada dirección, x64 en total) las fotos que me vienen, y uso la herramienta Grid/Collection Stitching con 0.15 de Regression Threshold (en vez de 0.30) y Tile Overlap 40% para movimientos de 100µm en la CNC para la foto de CD4053, con Subpixel accuracy
2.5 y 3.5 de max/avg y absolute displacement threshold que creo que son por defecto
La herramienta de MIST también está bien, para darte una idea de los overlaps en las dos direcciones, aunque los stitching no son tan buenos
Oneliners para renombrar y downsamplear
No me funcionó bien el downsampling de Fiji y tuve que hacerlo por fuera
python -c '[print("mv PIC-%.4i.jpg PIC-%.4i.jpg" % (f, f-412), end="\n") for f in range(413, 719)]' | xargs -I {} bash -c '{}'
ls PIC* | xargs -P 20 -I {} ffmpeg -i {} -vf "scale=iw/2:ih/2:flags=lanczos" downsampled/{}
CD4053 movimiento de 100µm y mosaico de 17x18 funcionó con downsampling de x2
1.6.3. https://github.com/Labsmore/pyuscope
1.6.3.1. Cómo lanzarlo
En KDE Wayland necesita esto:
w=$(xdotool search --name "pyuscope main" | head -1) xdotool windowunmap "$w"; sleep 0.5; xdotool windowmap "$w" Para lanzarlo todo de una vez: QT_QPA_PLATFORM=xcb app/argus.py --microscope 3018 &; sleep 5; w=$(xdotool search --name "pyuscope main" | head -1) 6s pyuscope 12:39:03 xdotool windowunmap "$w"; sleep 0.5; xdotool windowmap "$w"
Con la cámara puedo ver el feed con VLC
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg ! jpegdec ! videoconvert ! autovideosink
v4l2-ctl --list-devices
Webcam gadget: UVC Camera (usb-0000:00:14.0-1):
/dev/video0
/dev/video1
/dev/media0
USB2.0 HD UVC WebCam: USB2.0 HD (usb-0000:00:14.0-7):
/dev/video2
/dev/video3
/dev/media1
v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 320x240
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 2560x1440
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 3840x2160
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Jogging con WASD, E para subir y Q para bajar
Z y C para cambiar el feed, F para movimiento fino
https://www.youtube.com/watch?v=5_XhBqsafe8
Hay que ejecutar antes de lanzarlo:
G10 L2 P1 X0 Y0 Z0
G92.1
Para resetear los ejes
Formato para stichear
c{xxx}_r{yyy}.jpg
1.6.3.2. Mejoras que se me ocurren
- Botón para activar jogging en vez de con ratón
- Opción dry run parece que está desactivada en la interfaz
- Hay que abrirlo en las coordenadas de la CNC (0, 0) si quieres desactivar el homing automático
- Mirar en qué parte de la
1.6.4. Cómo importar a mmo-chip-a
- Abrir en Inkscape y dibujar líneas de alineación, lo mejor es utilizar los pads para alineamiento
- Para archivos muy grandes funciona mejor GIMP Image>Guides>New Guide from selection
1.6.5. Documentación
https://gitbuilding.io/ ?
Añadir la base al repositorio y link a lo de totesalaz
Hacer fotos y un vídeo explicando cómo montar el manipulador de totesalaz
- Pinzas en ángulo para estirar el muelle
- Poner unas pinzas de pala ancha en dos segmentos muy alejados del muelle, y luego llevarlos cerca, interesa que no tenga tensión para poner la barra
- Repetir para el otro porque si no luego es más complicado
- Estirar el muelle y volver a colocar las pinzas en medio, pero esta vez en dos segmentos muy juntos y estirando bien el muelle para que llegue hasta arriba
- Coger con las otras pinzas el muelle, e ir soltando poco a poco el muelle de debajo. Si tienes tres pinzas y tres manos, puedes evitar soltar el muelle de debajo (tip: no es imprescindible que tengas tres brazos, puedes utilizar una pinza o llamar a otra persona)
- Repetir pasos 1. y 2. y repetir para el otro lado
Para que sea más sencillo se puede abrir los ganchos de los muelles, aunque a costa de que sea más fácil que se te escurra la barra
También puedes estirar los muelles a costa de que luego no esté tan tenso el micromanipulador
Hacer fotos y un vídeo explicando cómo montar la epi-iluminación
Hacer un vídeo de tilting bajo epi-iluminación
Explicar que hay problemas con el LED
Añadir tornillos y tuercas al BOM. Quiero que sean nyloc?
1.6.6. Cómo guardar bien los TIFF
En Fiji: Image>Color>Stack to RGB (si no te sale una imagen en blanco y negro, con 3 distintas capas)
Convertirlos a tiff piramidal (puede que ocupen más pero cargan más rápido)
Usar vipsdisp o qupath para visualizarlos
for file in *.tif; do echo $file; vips tiffsave $file ${file%.tif}_pyr.tif --tile --pyramid --compression deflate; done
1.6.7. Alineamiento de imágenes
Para instalar:
Help → Update… → Manage update sites → tick BIG-EPFL → Apply changes → restart.
Para llamarlo:
Plugins → Registration → StackReg and TurboReg.
1.7. sd card repair
1.8. Andrew bunnie Huang - Hardware hacking
- adventures in manufacturing
small-volume production costs are dominated by setup and assembly, not parts, so that allows you to source less quality units, throw away 20% and get them quicker the story of chumby
The end of Chumby, new adventures
The question whether it would be faster for me to doit myself or to explain it to someone else, wait for them to do it, and possibly have to re-explain it and have them change it. That’s one reason I learned mechanical design […] being able to efficiently and effectively comunicate with a mechanical engineering team using their laguage was important to getting the job done right.
- Challenges with retail sales
- Dealing with the merchant buyers
they think in terms of revenue per shelf space […] tend to look at your product in terms of so many grams of plastic and so many wires. They multiply those numbers by the commodity price of the raw materials to set expectations for how much they’ll pay to have it on the shelf - Marging
Market development funds and other slush money have to be factored in. The shelf cost of a product is about three times your BOM cost - Cash flow
Retailers are notoriously bad at paying on time
This can be partially mitigated with financial instruments such as factoring insurance - Reverse logistics and returns
- Contracts
- Dealing with the merchant buyers
- Challenges with retail sales
- hardware hacking
three copies:
- one to tear apart and never put back (fully decaped)
- one to probe (functionally decaped)
- one to keep relatively pristine: sanity-check whether a certain behavior is due to your probing or just how the hardware behaves
- one to tear apart and never put back (fully decaped)