Introducción
Recién estoy comenzando el viaje hacia la ingeniería inversa de circuitos integrados (ICRE), pero ya estaba completamente abrumado por la pasión por la industria. Además de los aspectos informáticos y eléctricos de ICRE, se requiere un amplio conocimiento de física y química para trabajar en esta área. Al principio, el componente químico me asustó, ya que apenas sabía química. Sin mencionar lo peligroso que es trabajar con productos necesarios para la apertura (desencapsulado) y la preparación capa por capa de las virutas.
Créame, me preparé durante unos 2 años antes de invertir en un laboratorio. No quería pasar al primer experimento hasta que hubiera adquirido todo el equipo necesario para operar de manera segura y hubiera tomado las precauciones necesarias. La primera regla de la química es bien conocida: en todas las situaciones, excepto en las anormales, en cada paso debe saber qué hacer a continuación. Sin embargo, soy una persona tan absorta que si veo una meta, nada puede hacerme desviarme del camino hacia ella.
Preparación
Lo primero que tenía que hacer era ordenar toda una gama de disolventes y cosas muy caras que tenía que comprar. Aquí hay una lista del equipo y los consumibles que compré.
¿Por qué necesitaba un microscopio metalúrgico y no un estereomicroscopio o un microscopio compuesto? Debido a que la mayoría de los microscopios tienen iluminación desde la parte inferior y la luz se refleja en la placa XY, no se puede trabajar con circuitos integrados como ese, ya que no son de doble cara. Las capas de cristal consideradas deben estar debidamente iluminadas para que la luz se refleje correctamente de arriba a abajo. Los microscopios metalúrgicos utilizan iluminación EPI, un tipo único de iluminación también conocido como epifluorescencia . La solución permite no solo iluminar el objeto / muestra de CI; además, el objetivo del microscopio recoge la luz reflejada de la superficie de la muestra.
. , – . , – , . , , , , .
, CH340G Arduino Nano v3, , , , . , , , , , . , , – , .
Arduino , , . , , , . , , ATmega328P, , - , , , , -.
, (SiO₂ / ), , , .
: , : siliconpr0n.
- .
, , - , ? . (MROM) , . . :
, , . n- , , p-, .
, - . 1 != 1 . , , - «», , , . , . - : , , «» «»[1] [2] , , . «», , , – , , . , , , .
, ( , ) ( ), , .
, , -, . , , . , . , , . - , . , .
- . , , , () . , , , , .
, ( ) , . Extracting ROM Constants, , . , , , 1 . , NOR ( , ) , , , .
. 16- MUX 4 , . , , HIGH, . ( ) , LOW.
: CH340G , , .
Arduino Nano, CH340G . 200°C . , .
, , . , .
, . ( H₂SO₄) 20 98% 100- . , , .
170°C, 150°C, , . , H₂SO₄ . , . , , . , , .
, – , :
1. , . .
2. (SO₂), , , . , . , , . , (HNO₃), (NO₂) HNO₃ .
– ? ; , , SOP-16, 1,50 . .
, – ; , . .
: , SO₂, , , . , , – ((C₂H₄)ₙ), . , , H₂SO₄ SO₂, CO₂ H₂O. : 6H₂SO₄ + (C₂H₄)ₙ → 6SO₂ + 2CO₂ + 8H₂O. 337°C, . (S), (O) (H₂O), (SO₂); S + O₂ → SO₂, (SO₃), (V₂O₅), 2SO₂ + O₂ + V₂O₅ ⇌ 2SO₃. , SO₃ + H₂O → H₂SO₄. , , , , (II) (CuSO₄) (HBr) .
, H₂SO₄ , .
, . , .
, , (C₃H₆O). , , , , . ? , .
, , , , .
, , ; , , . , , - , - . , , . , .
50- , , . , 14 , , 14 . 16:1. , 16 .
14 – , 14- , . , 4 , 8 , 16 32 . , , , , .
. -, . 10 , 6 , 6 4 . , , 4 2⁴ = 16 , . 6 , 64 , 16 x 14 . 10 .
, . – , , , .
, . , . (HCl), (HF) , . , , HCl , HF – .
: . HCl, HF , , , , . HCl , , HF . , . , . , … , HF . , , . HF , HF . , , , .
, , ? , : (Al) 6061 / (Cu). , , Al, Cu. , , .
Cu, HCl, HF Cu , , , . Cu HF. , HCl Cu, , , (H₂O₂), Cu ( ), pKa ( ) . pkA . 1:1 (HOCl) (H₂O). Cu , HOCl, (II), . , (CuCl₂).
H₂O₂ (aq.) + HCl (aq.) → H₂O + HOCl (aq.)
2HOCl + Cu → Cu(HOCl)₂
, CH340, Al, (SiO₂) . HF. HF 40°C, , Whink. 3%, , . 15 , , . Al, SiO₂.
SiO₂ + 4HF → SiF₄ + 2H₂O
, , . :
, . siliconpr0n. , .
, , , . , , . , , , .
rompar, . , , . , Gimp, . : , .
, . 14 , 16 , , 224 . – , , -, 64 . , , , 1,7 .
rompar 3 ; , .
➜ python3 rompar.py image1-50x-ROM.jpg 16 1
Changing edit mode to GRID
Changing edit mode to GRID
Image is 11694x4318; 3 channels
process_image time 0.18801593780517578
read_data: computing
grid line redraw time: 6.4373016357421875e-06
grid circle redraw time: 1.1920928955078125e-05
render_image time: 0.22574210166931152
16x1? – . , , , 14 , . , -, - , .
(GUI), , , , . , CV Options -> Pixel Threshold. , :
, , 0000001, 01110101. , 1, 0. , . Display -> Base Image -> Original. , ctrl+click 1, 16 . , . :
, . . cmd+click , :
, , , Edit -> Mode -> Data Edit Mode. ctrl+click , . ‘1’, ‘0’. , , , , , Data -> Export Data as Text. , , Github.
, , . , zorrom bitviewer. , , zorrom, , . README Zorrom, “, , (.txt) - . .bin , .., , ”. API, , ; , , , , .
, zorrom – , . , WCH, 14- . , , , , « », bitviewer. , – 16- . -, 14- , , , bin-, .
, , , , bin-. - , . , , . , , .
. 64 16 x 14 ; , – 2k. , 10 . 0 0. , . , 4 6 . , 16:1. , , , , 14 , .
, , 32 , , 16 , . – .
, - , . Byte view (hex). , , 1) , , 2) . , - , , .
- , Export Options. , , , , , . , , , : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. , , , : Reverse output bit order Address run right-to-left. .
05C0: FE 73 FF DB EF ... .s...t...t.b.|.j
05D0: FE 50 C6 5F D6 ... .P._._.Q...P....
05E0: DD 74 DF F8 ED ... .t...&.m...S.p..
05F0: FF 6D ED 00 FF ... .m...y...|.....>
0600: FF 7A FF 6A ED ... .z.j.<.g.Z.X.s..
0610: D9 74 CE 65 ED ... .t.e...W.p...[..
0620: E6 F0 F5 5B F0 ... ...[.W.W.W.W....
- . , … , /. , . , bitviewer ; Select all, . , Invert Sel.
, , , .
0770: 10 03 10 09 ... .............U..
0780: 10 53 10 00 ... .S...B...2......
0790: 10 30 10 00 ... .0...-..3...3...
07A0: 33 F3 10 00 ... 3...3...3...3...
07B0: 2F A4 10 00 ... /.....(.....+...
07C0: 10 23 29 08 ... .#)...../.. .'/.
07D0: 10 02 10 03 ... ..../.....+..P.S
07E0: 2F A4 10 72 ... /..r.e/..i.r/..n
07F0: 10 6D 2F A4 ... .i/..t.a+.. .l..
, , ! 0x0770 0x0780, USB 2.0. ? , – . Print Serial 0x07D0–0x07F0. , , / . , , .
, , , , , . bin- , Save bin. , , , .
: zorrom, , , . , , . API zorrom, - , . , CH340. :
➜ python3 txt2bin.py --arch ch340t ch340_binary.txt ch340_fw.bin
, zorrom , 16 , 14. , , . , , . , , , rotate, .
– , ? , , ? . IDA Pro , .
, , , . , , , .
, , :
– , . , , USB, USB USART. , . , : , , , , , . , , , , USB-.
python, , . , CALL- , . , , .
. , – « », « », - IDA WORD, « ». -, , , . , , , .
. -
(H₂SO₄) , (NaOH). NaOH, (Na₂SO₄) . - . , – 2:1.
2NaOH (aq) + H₂SO₄ (aq) → 2H₂O (l) + Na₂SO₄ (aq)
, , , 20 H₂SO₄ . NaOH , , 15 NaOH 150 ( 10%) . NaOH + H₂O Na+ OH-, . :
NaOH + 2H₂O → Na+ + OH- + H₂O (delta H < 0)
. , . , , , - . – « » . , , . , . , - 150 . 2 , .
: , , , (NaHCO₃), , . - , , - - (CO₂), . , , , .
, ! , , . , Instagram: @hackersclub Twitter: @ringoware
:)
● Ken Shirriff — http://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html, , , .
● John McMaster — https://siliconpr0n.org/archive/doku.php , , , , , .
● Chris Gerlinsky — , , , , . , .
● Elijah Hawk — , .
● — https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/s/Sulfuric_acid.htm
● (VLSI) — https://www.tutorialspoint.com/vlsi_design/vlsi_design_digital_system.htm
NAND Flash — https://www.simms.co.uk/nand-flash-basics/understanding-nand