rom:mask
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rom:mask [2016/02/04 07:41] – mcmaster | rom:mask [2018/02/12 20:18] (current) – mcmaster | ||
---|---|---|---|
Line 69: | Line 69: | ||
Above original caption: " | Above original caption: " | ||
- | Implant ROMs essentially work by starting with a mask that has a grid of normal, working | + | Implant ROMs essentially work by starting with a mask that has a grid of normal, working |
- | These can be read optically but requires some technique. | + | |
+ | ==== Reading out ==== | ||
+ | |||
+ | These can be tricky to read out, even on old chips, since they are not readily visible under a microscope. | ||
+ | |||
+ | |||
+ | === Electronic === | ||
+ | |||
+ | Try to find a test mode, glitch, etc by studying the die circuitry. | ||
+ | |||
+ | |||
+ | === Optical === | ||
+ | |||
+ | Generally | ||
+ | |||
+ | |||
+ | === Staining === | ||
+ | |||
+ | This is the generally preferred method to read these out. See [[: | ||
+ | |||
+ | |||
+ | === Scanning capacitance microscopy (SCM) === | ||
+ | |||
+ | AFM like technique that measures capacitance change by doping. | ||
+ | |||
+ | |||
+ | === Scanning Microwave Impedance Microscopy === | ||
+ | |||
+ | https:// | ||
+ | |||
+ | This is believed to work for ROMs, although we currently don't have any solid data on this. | ||
+ | |||
+ | |||
+ | === Energy-dispersive X-ray spectroscopy (EDS) === | ||
+ | |||
+ | Discussed this with someone and they think the dopants are too low concentration to be detected. | ||
Line 95: | Line 130: | ||
Above: unstained active area | Above: unstained active area | ||
- | {{: | + | {{: |
Above: stained active area | Above: stained active area | ||
Line 147: | Line 182: | ||
Very unusual diagonal pattern | Very unusual diagonal pattern | ||
+ | ===== Bandai Tamagotchi metal NOR ROM ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== HK HK628 active metal gate NAND ROM ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Intel 80486DX ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ====== Decoding ====== | ||
+ | |||
+ | I've created the [[https:// | ||
+ | * Use a tool to generate a spatially equivalent 2D array of 1's and 0's | ||
+ | * Use rompar as an individual | ||
+ | * Use djangoMonkeys to crowdsource | ||
+ | * Both of these tools can produce CV training data | ||
+ | * Feed into the zorrom library to decode into a binary | ||
+ | * Knows how to order bits | ||
- | ====== Automated decoding ====== | ||
===== rompar by Adam Laurie ===== | ===== rompar by Adam Laurie ===== | ||
+ | |||
+ | {{: | ||
[[http:// | [[http:// | ||
Line 156: | Line 217: | ||
Code is not yet released at the time of this writing but looks to be a good tool to try out. Good article highlighting some of the problems optically reading mask ROMs and how they get around it. | Code is not yet released at the time of this writing but looks to be a good tool to try out. Good article highlighting some of the problems optically reading mask ROMs and how they get around it. | ||
- | ===== Idea bucket | + | Video: https:// |
+ | |||
+ | |||
+ | ===== djangoMonkeys | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | ===== typingMonkeys ===== | ||
+ | |||
+ | Original MAME mask ROM crowdsourcing project. Written in PHP, deprecated in favor of djangoMonkeys | ||
- | I heard a rumor that I'm told is false that the MAME project crowd sourced ROM decoding by putting some sort of captcha on login screens. | ||
===== Misc ===== | ===== Misc ===== | ||
Line 169: | Line 239: | ||
* Horizontal projection profile, possibly using color differences. Very sensitive to angle though, so might not be practical | * Horizontal projection profile, possibly using color differences. Very sensitive to angle though, so might not be practical | ||
* Signal based: above design has additional images on top of base. Filter out signals from repeating pattern and analyse remainder | * Signal based: above design has additional images on top of base. Filter out signals from repeating pattern and analyse remainder | ||
+ | |||
+ | ===== Tool1 ===== | ||
+ | |||
+ | An unnamed tool. I (mcmaster) have a copy of it but was requested not to post binaries and/or screenshots. However, some general feedback: | ||
+ | * Their tool works by thresholding with misc tools to help see this | ||
+ | * Bits are selected by drawing a box on the center of where the bits go. Then you tell it how many in rows/cols | ||
+ | * Has pan and zoom, which made it much easier to use than rompar for the large dataset I was working with | ||
+ | * Author says that in their experience bits are always on the same grid pitch, even if there are gaps | ||
+ | * Distributed as Windows executable | ||
+ | |||
====== References ====== | ====== References ====== |
rom/mask.1454571690.txt.gz · Last modified: 2016/02/04 07:41 by mcmaster