Lecture 3: Depackaging - Computer Security Group at...
Transcript of Lecture 3: Depackaging - Computer Security Group at...
![Page 1: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/1.jpg)
CSCI 4974 / 6974Hardware Reverse Engineering
Lecture 3: Depackaging
![Page 2: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/2.jpg)
QUIZ 1: CMOS logic, packaging
● Quiz● Discussion
![Page 3: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/3.jpg)
Desoldering
● If the target device is on a PCB, remove it● Standard desoldering techniques, mostly● COB isn't soldered - special care needed!
May need to process on the PCB
![Page 4: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/4.jpg)
Depackaging
● We need to see the die to reverse it● Some of the package (usually) has to come off!● How much, and how we do it, varies
![Page 5: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/5.jpg)
Bare die decap
● Destroys the entire package, wire bonds, etc● May be able to probe, but awkward● Generally used before destructive analysis● Requires less skill● Can sometimes rebond
![Page 6: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/6.jpg)
Live decap
● Keep leadframe and bonds intact● Requires more skill● Typically used for probing● Can be hard to get optics in close● LWD obj helps
![Page 7: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/7.jpg)
Non-selective techniques
● Mechanical cutting and grinding● Laser ablation● Thermal shock● Good for removing bulk material quickly● Can easily destroy sample if careless
![Page 8: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/8.jpg)
Selective techniques
● Plasma / reactive ion etching (RIE)● Wet chemical etching
![Page 9: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/9.jpg)
Explosive decap
● Some of you have probably done this already!● Abuse chip until it blows up● Works on almost anything!● Very easy● Very risky● Results unpredictable
![Page 10: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/10.jpg)
Wet chemical etch
● Target: Plastic / epoxy packages
● Fuming HNO3
● Concentrated H2SO
4
● Solvents?– None have worked in my experience
![Page 11: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/11.jpg)
Wet chemical etch
● All of these chemistries attack the epoxy. Glass particles wash off during cleans.
● Etching the glass is possible (HF) but...– Toxic and dangerous to handle
– Non-selective: also eats glass on the die
– So almost never used
![Page 12: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/12.jpg)
Safety considerations
● Acids are corrosive. They'll “decap” your fingers or face if you give them a chance.
● Heated acids can fume, spatter, etc● Flammable solvents● Work in a fume hood● Gloves, goggles, lab coat
![Page 13: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/13.jpg)
Safety considerations
● Drop of hot H2SO4 on a paper towel
![Page 14: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/14.jpg)
Bare die recovery: conc. H2SO
4
● Materials cheap and common● Optional: Cut/grind off extra plastic● Drop packaged chip in acid, heat to ~200C● Takes several minutes● Decant acid, filter die(s) out● Clean with acetone● Downside: Hard to see
![Page 15: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/15.jpg)
Bare die recovery: conc. H2SO
4
● Dehydration
– H*C
*O
* => *C + *H
2O
– Acid does not react, just induces decomposition
● Oxidation
– C + 2H2SO
4 => 2H
2O + CO
2 + 2SO
2
● Only some of the carbon is oxidized
– Lots of black sludge left over!
![Page 16: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/16.jpg)
Bare die recovery: HNO3
● Can use 65% or higher● Drop packaged chip in, heat to 75-80C● Lower conc. attacks metal● NO2 fumes from leadframe● Clear solution, easy to see
![Page 17: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/17.jpg)
Bare die recovery: HNO3
● Oxidation only
– Hydrocarbon + HNO3 => H
2O + CO
2 + NO
2
– Attacks metals when dilute forming nitrate salts● Cu
xNO
x from leadframe causes green tint
– Does not release free carbon
![Page 18: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/18.jpg)
Mechanical pre-milling
● Use precision milling machine● Mill almost to die surface over logic area● Leave small amount of package over bonds● Finish off with acid or plasma
![Page 19: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/19.jpg)
Laser pre-milling
● Same idea as mechanical● Use pulsed high-power laser● CW lasers just melt :(
![Page 20: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/20.jpg)
Live decap: HNO3
● Stronger acid is better, weak eats leadframes● 70% can work with care, fuming is better
![Page 21: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/21.jpg)
Live decap: HNO3
● Pre-drilled PDIP
![Page 22: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/22.jpg)
Live decap: HNO3
● Heat package to 125C (chip heats acid)● Drop acid in cavity
![Page 23: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/23.jpg)
Live decap: HNO3
● Rinse with acetone between drops
![Page 24: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/24.jpg)
Live decap: HNO3
● Do not allow acid to dry up on sample● Water or dilute acid will damage leadframe● Allow solvent to evaporate before next drop
● HNO3 + alcohol = BOOM. Avoid at all cost.
● HNO3 + acetone is exothermic. Need lots of
solvent to keep temps under control● Indirect blow-dry after final clean
![Page 25: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/25.jpg)
Live decap: conc. H2SO
4
● Roughly same process as nitric live decap● Common, cheap materials● Run much hotter, around 225C● Sulfuric is much more viscous than nitric
– Harder to clean off sample
● Acid must be completely removed before returning to heat - dilute acid bubbles epoxy
![Page 26: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/26.jpg)
Live decap: conc. H2SO
4
● If you see this, old acid wasn't removed fully● Too late, chip is probably a writeoff
![Page 27: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/27.jpg)
Successful live decap
![Page 28: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/28.jpg)
Dirty decap
![Page 29: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/29.jpg)
Plasma etching
● Mostly used by professional shops● Oxygen plasma eats organics● Periodically remove from etch chamber and
remove glass particles
![Page 30: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/30.jpg)
Thermal shock
● Target: CERDIP● Somewhat risky to die● Cheap and easy
![Page 31: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/31.jpg)
Thermal shock
● Heat up with torch for 5-10 sec● Splash with water (do not submerge)● Break parts apart with pliers
![Page 32: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/32.jpg)
Thermal shock
![Page 33: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/33.jpg)
Grinding
● Target: Metal-can packages or metal lids● Makes a big mess● Low skill● Super cheap
![Page 34: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/34.jpg)
“Can opener”
● Target: Metal-can packages or metal lids● Requires special equipment and more skill● Does not leave particles on die
![Page 35: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/35.jpg)
Soldered lids
● Heat up package with heat gun● Pick lid off with tweezers● Avoid dropping solder on die
![Page 36: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/36.jpg)
Glass lids
● Same process as soldered lids, but usually requires a lot more heat (torch)
● Can also work on CERDIPs held together with low-melt glass
![Page 37: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/37.jpg)
Cleaning
● Many decap processes leave junk on die● Can cause artifacts when delayering● Interferes with imaging
![Page 38: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/38.jpg)
Mechanical swabbing
● Gently brush die with corner of acetone-soaked lab wipe
● Must use lint-free to avoid contaminating die● Lint-free microfiber swabs also work● Risk of scratching sample or knocking bond
wires loose
![Page 39: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/39.jpg)
Overly aggressive swabbing
![Page 40: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/40.jpg)
Spray cleaning
● Fill large syringe with acetone● Attach very fine blunt-tip needle● Spray particles off die● Wash bottles are less precise and may be
lower pressure
![Page 41: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/41.jpg)
Ultrasonic cleaning
● Can use water, detergent, or solvent● If using detergent, must be lab-grade (no
moisturizers/perfumes etc)● May be too strong - often destroys bonds● Usually safe for bare dies
![Page 42: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/42.jpg)
Acid cleaning
● Sometimes a little more time in clean decap acid will remove organic residues.
● Must be fresh acid - otherwise no point!
![Page 43: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/43.jpg)
Solvent practices
● Do not allow dirty solvent to dry on die● Wash off with clean solvent● Blow dry● Avoid technical grade solvents/duster sprays -
lots of impurities
![Page 44: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/44.jpg)
Bond wire removal
● For bare-die decaps, bond wires are a nuisance● Need to remove to get flat surface for polishing
![Page 45: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/45.jpg)
Wire Plucking
● Target: All metals● Grab wire with tweezers and yank● Only ~3 grams force required● Use care not to scratch die surface● May rip metal off bond pad
![Page 46: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/46.jpg)
Ultrasound
● Target: All metals● Ultrasonic cleaning sometimes damages bond
wires anyway● If you want them gone, just turn up the juice!● Risk of damage to die is similar to plucking
![Page 47: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/47.jpg)
Hydrochloric acid
● Target: All metals● Bond pads are copper or aluminum● If you don't need them preserved, etch the
metal out from around the wire● Destroys bond pads, acid may also damage
adjacent wires on die if there are any cracks
![Page 48: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/48.jpg)
Solder
● Target: Gold bonds on Al pads● Au is soluble in molten Pb● Trim off as much wire as possible beforehand● Drag a bead of lead-based solder back and
forth over the bonds until they dissolve● Solder will not harm Al bond pads, but may
stick to (or dissolve) Cu
![Page 49: Lecture 3: Depackaging - Computer Security Group at RPIsecurity.cs.rpi.edu/.../Lecture3_Depackaging.pdf · 3 Do not allow acid to dry up on sample Water or dilute acid will damage](https://reader034.fdocuments.in/reader034/viewer/2022042310/5ed82c030fa3e705ec0df832/html5/thumbnails/49.jpg)
Questions?
● TA: Andrew Zonenberg <[email protected]>
● Image credit: Some images CC-BY from:
– John McMaster <[email protected]>