ProHoster > Blog > Pulega > Toe fesuia'i ma hacking Aigo e fa'ailogaina e ia lava le ta'avale HDD fafo. Vaega 2: Aveina o se lapisi mai Cypress PSoC
Toe fesuia'i ma hacking Aigo e fa'ailogaina e ia lava le ta'avale HDD fafo. Vaega 2: Aveina o se lapisi mai Cypress PSoC
O le vaega lona lua ma le faai'u lea o le tala e uiga i le talepeina o ta'avale fa'ailoga a le tagata lava ia. Sei ou faamanatu atu ia te oe o se paaga na aumai ia te au se Patriot (Aigo) SK8671 hard drive, ma na ou filifili e toe fesuiai, ma o lea ua ou faasoa atu le mea na sau mai ai. A'o le'i faitau atili, ia mautinoa e faitau vaega muamua tusiga.
4. Ua amata ona matou ave se lafoai mai le PSoC flash drive i totonu
O lea la, o mea uma e faʻaalia (e pei ona matou faʻatuina i le [vaega muamua]()) o loʻo teuina le PIN code i le loloto o le PSoC. O le mea lea, e tatau ona tatou faitau i nei faʻamatalaga loloto. Luma o galuega manaʻomia:
pulea le “fesootaiga” ma le microcontroller;
saili se auala e siaki ai pe puipuia lenei "fesootaiga" mai le faitau mai fafo;
saili se auala e alo ese ai le puipuiga.
E lua nofoaga e talafeagai e su'e ai se PIN code aoga:
manatuaga moli totonu;
SRAM, lea e mafai ona teuina ai le pine code e faʻatusatusa i le pine code na faʻaogaina e le tagata faʻaoga.
I le vaʻavaʻai i luma, o le a ou matauina na mafai lava ona ou faʻaaogaina le faʻaogaina o le PSoC flash drive i totonu - le faʻaogaina o lona puipuiga malu e faʻaaoga ai se osofaʻiga meafaigaluega e taʻua o le "cold boot tracing" - ina ua uma ona toe fesuiaʻi le gafatia e le faʻamaonia o le ISSP protocol. O lea na mafai ai ona ou lafo sa'o le PIN code.
$ ./psoc.py
syncing: KO OK
[...]
PIN: 1 2 3 4 5 6 7 8 9
"Fesootaiga" ma se microcontroller e mafai ona faauigaina mea eseese: mai le "faʻatau atu i le faʻatau" i fegalegaleaiga e faʻaaoga ai se faʻasologa faʻasologa (mo se faʻataʻitaʻiga, ICSP mo Microchip's PIC).
O Cypress e iai lana lava faʻasalalauga faʻapitoa mo lenei mea, e taʻua o le ISSP (in-system serial programming protocol), lea o loʻo faʻamatalaina vaega i totonu. faʻamatalaga faʻapitoa. Pateni US7185162 tuuina mai foi nisi faamatalaga. O lo'o iai fo'i se OpenSource tutusa e ta'ua o le HSSP (matou te fa'aaogaina i se taimi mulimuli ane). O lo'o galue le ISSP e fa'apea:
toe fa'afouina PSoC;
tu'u le numera fa'ataulāitu i le pine fa'amaumauga o lenei PSoC; e ulufale atu i fafo faiga polokalame;
auina atu poloaiga, o manoa uumi e ta'ua o "vectors".
O faʻamaumauga a le ISSP o loʻo faʻamatalaina ai nei vectors mo naʻo ni nai faʻatonuga:
E tutusa uma le umi o vectors: 22 bits. O fa'amaumauga a le HSSP o lo'o iai nisi fa'amatalaga fa'aopoopo i luga ole ISSP: “O le ISSP vete e leai se mea e sili atu nai lo sina fa'asologa e fa'atusalia se seti o fa'atonuga."
5.2. Vectors Demystifying
Se'i tatou va'ai po o le a le mea o lo'o tupu iinei. I le taimi muamua, na ou manatu o nei lava vectors o ni faʻamatalaga mataʻutia o faatonuga a le M8C, ae ina ua uma ona siaki lenei manatu, na ou iloa ai e le fetaui le opcodes o gaioiga.
Ona ou su'e lea o le vector i luga ma sau i luga lenei o se suʻesuʻega lea e le tusitala, e ui lava na te le o auiliiliina, o loʻo tuʻuina mai ai ni fautuaga aoga: "O faatonuga taʻitasi e amata i ni vaega se tolu e fetaui ma se tasi o le fa mnemonics (faitau mai le RAM, tusi i le RAM, faitau tusi resitala, tusi resitala). Ona i ai lea o le 8 address bits, sosoo ai ma le 8 data bits (faitau pe tusi) ma mulimuli ane tolu vaega taofi.
Ona mafai lea ona ou aoina mai ni faamatalaga aoga tele mai le vaega Supervisory ROM (SROM). tusi fa'atekinisi. O le SROM o se ROM fa'amalo i le PSoC o lo'o tu'uina atu ai galuega fa'aoga (i se auala fa'atusa ma Syscall) mo le fa'ailoga o le polokalame o lo'o fa'agaoioi i avanoa fa'aoga:
00h:SWBootReset
01h: Faitau Block
02h: Tusi Tusi
03h: Tape poloka
06h: Faitau Laulau
07h: Su'esu'ega
08h: Fa'avasega0
09h: Fa'avasega1
I le fa'atusatusaina o igoa ve'a i galuega a le SROM, e mafai ona tatou fa'afanua fa'agaioiga 'ese'ese o lo'o lagolagoina e lenei fa'atonuga ile fa'amoemoe ole SROM. Faʻafetai i lenei mea, e mafai ona tatou faʻavasegaina vaega muamua e tolu o le ISSP vectors:
100 => “wrem”
101 => “rdmem”
110 => “mea leaga”
111 => “taulaga”
Ae ui i lea, o le malamalama atoatoa i luga ole masini e mafai ona maua e ala i fesoʻotaʻiga tuusaʻo ma le PSoC.
5.3. Fesootaiga ma PSoC
Talu ai o Dirk Petrautsky ua uma utaina Cypress's HSSP code i Arduino, na ou faʻaogaina Arduino Uno e faʻafesoʻotaʻi i le ISSP fesoʻotaʻiga o le laupapa keyboard.
Faamolemole ia maitauina i le faagasologa o laʻu suʻesuʻega, na ou suia le code a Dirk i sina mea itiiti. E mafai ona e mauaina laʻu suiga ile GitHub: iinei ma le tusitusiga Python fetaui mo le fesoʻotaʻi ma Arduino, i laʻu fale teu oloa cypress_psoc_tools.
O lea la, i le faʻaaogaina o Arduino, na ou faʻaaogaina muamua naʻo le "official" vectors mo le "fesoʻotaʻiga". Na ou taumafai e faitau le ROM i totonu e faʻaaoga ai le VERIFY command. E pei ona faamoemoeina, sa le mafai ona ou faia lenei mea. Masalo ona o le mea moni o loʻo faʻagaoioia vaega o le puipuiga i totonu o le flash drive.
Ona ou faia lea o nai aʻu lava vete faigofie mo le tusitusi ma le faitau manatua / resitala. Faamolemole ia matau e mafai ona tatou faitauina le SROM atoa e ui lava e puipuia le flash drive!
5.4. Fa'ailoaina o tusi resitala i luga ole masini
Ina ua uma ona tilotilo i le "disassembled" vectors, na ou iloa ai o loʻo faʻaogaina e le masini tusi resitala e leʻi faʻamaonia (0xF8-0xFA) e faʻamaonia ai M8C opcodes, lea e faʻatinoina saʻo, e ala i le puipuia. O lenei mea na mafai ai ona ou faʻatautaia opcodes eseese e pei o le "ADD", "MOV A, X", "PUSH" poʻo le "JMP". Faʻafetai ia i latou (e ala i le vaʻavaʻai i aʻafiaga o loʻo i ai i luga o tusi resitala) na mafai ai ona ou iloa poʻo fea o tusi resitala e leʻi faʻamaonia o ni resitala masani (A, X, SP ma PC).
O se taunuuga, o le "disassembled" code na gaosia e le HSSP_disas.rb meafaigaluega e foliga mai lenei (Na ou faʻaopoopoina faʻamatalaga mo le manino):
I lenei laʻasaga ua mafai ona ou fesoʻotaʻi ma le PSoC, ae ou te leʻi maua lava faʻamatalaga faʻatuatuaina e uiga i vaega saogalemu o le flash drive. Na ou matua ofo lava i le mea moni e le maua e Cypress le tagata faʻaogaina le masini soʻo se auala e siaki ai pe faʻaagaoioia le puipuiga. Na ou su'esu'e loloto i totonu o Google e iu ai ina ou malamalama o le HSSP code na saunia e Cypress na toe fa'afouina ina ua uma ona fa'ailoa e Dirk lana suiga. Ma o lea! O lenei vete fou ua aliali mai:
I le fa'aogaina o lenei vete (silasila i le read_security_data i le psoc.py), matou te maua uma le puipuiga malu i le SRAM i le 0x80, lea e lua paʻu i poloka puipuia.
O le taunuuga e faʻavaivai: o mea uma e puipuia i le "faʻamalo le faitau ma le tusitusi i fafo" mode. O le mea lea, e le gata e le mafai ona tatou faitau i se mea mai le flash drive, ae e le mafai foi ona tatou tusia se mea (mo se faʻataʻitaʻiga, faʻapipiʻi se ROM dumper iina). Ma na o le pau lava le auala e faʻamalo ai le puipuiga o le tape atoa o le pu. 🙁
6. Muamua (le manuia) osofaʻiga: ROMX
Ae ui i lea, e mafai ona tatou faʻataʻitaʻiina le togafiti lenei: talu ai o loʻo ia i tatou le malosi e faʻatino ai opcodes faʻapitoa, aisea e le faʻatinoina ai le ROMX, lea e faʻaaoga e faitau ai le manatuaga flash? O lenei faiga e iai se avanoa lelei e manuia ai. Ona o le galuega ReadBlock e faitau faʻamatalaga mai le SROM (lea e faʻaaogaina e vectors) siaki pe valaʻau mai le ISSP. Ae ui i lea, o le ROMX opcode atonu e leai se siaki faapena. O lea la o le code Python (pe a uma ona faʻaopoopo ni nai vasega fesoasoani i le Arduino code):
for i in range(0, 8192):
write_reg(0xF0, i>>8) # A = 0
write_reg(0xF3, i&0xFF) # X = 0
exec_opcodes("x28x30x40") # ROMX, HALT, NOP
byte = read_reg(0xF0) # ROMX reads ROM[A|X] into A
print "%02x" % ord(byte[0]) # print ROM byte
Ae paga lea e le aoga lenei code. 🙁 Pe sili atu e aoga, ae matou te maua a matou lava opcodes i le gaioiga (0x28 0x30 0x40)! Ou te le manatu o le gaioiga tutusa o le masini o se elemene o le puipuiga faitau. E sili atu lenei mea o se togafiti fa'ainisinia: pe a fa'atino opcodes fafo, o le pasi ROM e toe fa'afeiloa'i i se pa'u le tumau.
O lenei mea e taʻua ai le SROM galuega 0x07, e pei ona tuʻuina atu i totonu o faʻamaumauga (italics mine):
O lenei galuega fa'amaonia siaki siaki. O lo'o fa'atatauina se su'ega 16-bit o le aofa'i o poloka fa'apitoa a tagata fa'aoga i totonu o le faletupe moli e tasi, e amata mai le leai. O le BLOCKID parameter e faʻaaogaina e pasi ai le numera o poloka o le a faʻaaogaina pe a faʻatatau le siaki tupe. Ole tau ole "1" ole a na'o le su'eina ole poloka ole poloka; a o "0" o le a mafua ai ona fuafua le aofaʻi o siaki uma o poloka uma e 256 o le flash bank e fuafua. O le siaki tupe 16-bit e toe faafoi mai ile KEY1 ma KEY2. O le fa'ailoga KEY1 e teu ai le 8 bits maualalo o le siaki tupe, ma o le KEY2 parameter e teu ai le 8 bits maualuga. Mo masini e tele faletupe moli, o le siaki siaki e valaʻauina taʻitasi taʻitasi. O le numera o le faletupe o le a galue ai o loʻo faʻatulagaina e le FLS_PR1 resitala (e ala i le setiina o le bit i totonu e fetaui ma le faletupe flash target).
Manatua o se siaki faigofie lenei: o bytes e faʻaopoopoina tasi ma le isi; leai ni fa'ailoga CRC. E le gata i lea, i le iloaina o le M8C autu o loʻo i ai se seti laʻititi o tusi resitala, na ou manatu pe a faʻatusatusa le siaki tupe, o le a faʻamauina tulaga taua i totonu o fesuiaiga tutusa o le a iu lava ina alu i le gaosiga: KEY1 (0xF8) / KEY2 ( 0xF9).
O lea la i le teori o laʻu osofaʻiga e pei o lenei:
Matou te faʻafesoʻotaʻi e ala ile ISSP.
Matou te amataina le faʻatusatusaga o siaki e faʻaaoga ai le vector CHECKSUM-SETUP.
Matou te toe faʻafouina le gaioiga pe a maeʻa se taimi faʻapitoa T.
Matou te faitau le RAM e maua ai le siaki siaki C.
Toe fai le Laasaga 3 ma le 4, faatele laititi T i taimi taitasi.
Matou te toe maua faʻamaumauga mai le flash drive e ala i le toesea o le siaki muamua C mai le taimi nei.
Ae ui i lea, o loʻo i ai se faʻafitauli: o le Initialize-1 vector e tatau ona matou lafoina pe a uma ona toe faʻafou e sui ai KEY1 ma KEY2:
O lenei code e faʻauluina a tatou siaki taua e ala i le valaʻau Calibrate1 (SROM galuega 9) ... Atonu e mafai ona na o le auina atu o le numera faʻailoga (mai le amataga o le code i luga) e ulufale ai i le polokalame polokalame, ona faitau lea o le SRAM? Ma ioe, e aoga! O le Arduino code o loʻo faʻaaogaina lenei osofaʻiga e faigofie lava:
Fa'asolo le fa'atatauga o siaki tupe (send_checksum_v).
Faatali mo se vaitaimi patino; amana'ia ai fa'alavelave nei:
Na ou faamaumauina le tele o le taimi seia oo ina ou iloa le mea e tupu tuaiMicroseconds galue sa'o na'o le tuai e le sili atu i le 16383 μs;
ona toe faʻaumatia lea o le taimi lava e tasi seia oʻo ina ou iloa o le tuaiMicroseconds, pe a tuʻuina atu le 0 e fai ma faʻaoga, e matua le saʻo lava le galue!
Toe faʻafou le PSoC i le faʻatulagaina o polokalame (naʻo le lafoina o le numera faʻailoga, e aunoa ma le tuʻuina atu o vectors amata).
Fa'ailoga mulimuli ile Python:
for delay in range(0, 150000): # задержка в микросекундах
for i in range(0, 10): # количество считывания для каждойиз задержек
try:
reset_psoc(quiet=True) # перезагрузка и вход в режим программирования
send_vectors() # отправка инициализирующих векторов
ser.write("x85"+struct.pack(">I", delay)) # вычислить контрольную сумму + перезагрузиться после задержки
res = ser.read(1) # считать arduino ACK
except Exception as e:
print e
ser.close()
os.system("timeout -s KILL 1s picocom -b 115200 /dev/ttyACM0 2>&1 > /dev/null")
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=0.5) # открыть последовательный порт
continue
print "%05d %02X %02X %02X" % (delay, # считать RAM-байты
read_regb(0xf1),
read_ramb(0xf8),
read_ramb(0xf9))
I se faapuupuuga, o le a le mea e fai e lenei code:
Toe fa'afou le PSoC (ma lafo i ai se numera fa'ataulāitu).
Auina atu vectors amata atoa.
Valaau le galuega Arduino Cmnd_STK_START_CSUM (0x85), lea e pasia ai le tuai i microseconds e fai ma parakalafa.
Faitau le su'ega (0xF8 ma le 0xF9) ma le resitala e le'i fa'amauina 0xF1.
O lenei code e faʻatino 10 taimi i le 1 microsecond. 0xF1 o loʻo aofia ai iinei ona e naʻo le pau lea o le resitala na suia pe a faʻatatau le siaki tupe. Masalo o se ituaiga o fesuiaiga le tumau o loʻo faʻaaogaina e le numera numera numera. Manatua le hack leaga ou te faʻaaogaina e toe faʻaleleia ai le Arduino e faʻaaoga ai le picocom pe a taofi le Arduino faʻaalia faailoga o le ola (leai se manatu pe aisea).
7.2. Faitau le i'uga
O le taunuuga o le Python script e pei o lenei (faʻafaigofie mo le faitau):
DELAY F1 F8 F9 # F1 – вышеупомянутый неизвестный регистр
# F8 младший байт контрольной суммы
# F9 старший байт контрольной суммы
00000 03 E1 19
[...]
00016 F9 00 03
00016 F9 00 00
00016 F9 00 03
00016 F9 00 03
00016 F9 00 03
00016 F9 00 00 # контрольная сумма сбрасывается в 0
00017 FB 00 00
[...]
00023 F8 00 00
00024 80 80 00 # 1-й байт: 0x0080-0x0000 = 0x80
00024 80 80 00
00024 80 80 00
[...]
00057 CC E7 00 # 2-й байт: 0xE7-0x80: 0x67
00057 CC E7 00
00057 01 17 01 # понятия не имею, что здесь происходит
00057 01 17 01
00057 01 17 01
00058 D0 17 01
00058 D0 17 01
00058 D0 17 01
00058 D0 17 01
00058 F8 E7 00 # Снова E7?
00058 D0 17 01
[...]
00059 E7 E7 00
00060 17 17 00 # Хмммммм
[...]
00062 00 17 00
00062 00 17 00
00063 01 17 01 # А, дошло! Вот он же перенос в старший байт
00063 01 17 01
[...]
00075 CC 17 01 # Итак, 0x117-0xE7: 0x30
O le fa'apea, o lo'o i ai so matou fa'afitauli: talu ai o lo'o matou fa'agaoioia ma se siaki moni, o le null byte e le suia le tau faitau. Ae ui i lea, talu ai o le faagasologa atoa o le faʻatulagaina (8192 bytes) e 0,1478 sekone (faʻatasi ai ma sina suiga i taimi uma e taʻavale ai), lea e tutusa ma le 18,04 μs i le paita, e mafai ona tatou faʻaogaina le taimi lenei e siaki ai le tau o siaki i taimi talafeagai. Mo le taʻavale muamua, e faigofie lava ona faitau mea uma, talu ai o le umi o le faʻasologa o faʻasologa e toetoe lava tutusa. Ae ui i lea, o le faaiuga o lenei lafoai e le sa'o ona o le "mea laiti o le taimi o suiga" i luga o taʻaloga taʻitasi e faʻaopoopo e avea ma mea taua:
134023 D0 02 DD
134023 CC D2 DC
134023 CC D2 DC
134023 CC D2 DC
134023 FB D2 DC
134023 3F D2 DC
134023 CC D2 DC
134024 02 02 DC
134024 CC D2 DC
134024 F9 02 DC
134024 03 02 DD
134024 21 02 DD
134024 02 D2 DC
134024 02 02 DC
134024 02 02 DC
134024 F8 D2 DC
134024 F8 D2 DC
134025 CC D2 DC
134025 EF D2 DC
134025 21 02 DD
134025 F8 D2 DC
134025 21 02 DD
134025 CC D2 DC
134025 04 D2 DC
134025 FB D2 DC
134025 CC D2 DC
134025 FB 02 DD
134026 03 02 DD
134026 21 02 DD
E 10 lafoa'i mo ta'i microsecond tuai. Ole aofa'i ole taimi ole fa'agaoioiga mo le lafoa'iina uma ole 8192 paita ole ta'avale uila e tusa ma le 48 itula.
7.3. Toe fa'afouina fa'alua
Ou te leʻi maeʻa le tusiaina o le code lea o le a toe faʻaleleia atoatoa ai le code program o le flash drive, ma amanaʻia taimi uma. Ae ui i lea, ua uma ona ou toe faʻaleleia le amataga o lenei code. Ina ia mautinoa na ou faia saʻo, na ou faʻaaogaina le m8cdis:
0000: 80 67 jmp 0068h ; Reset vector
[...]
0068: 71 10 or F,010h
006a: 62 e3 87 mov reg[VLT_CR],087h
006d: 70 ef and F,0efh
006f: 41 fe fb and reg[CPU_SCR1],0fbh
0072: 50 80 mov A,080h
0074: 4e swap A,SP
0075: 55 fa 01 mov [0fah],001h
0078: 4f mov X,SP
0079: 5b mov A,X
007a: 01 03 add A,003h
007c: 53 f9 mov [0f9h],A
007e: 55 f8 3a mov [0f8h],03ah
0081: 50 06 mov A,006h
0083: 00 ssc
[...]
0122: 18 pop A
0123: 71 10 or F,010h
0125: 43 e3 10 or reg[VLT_CR],010h
0128: 70 00 and F,000h ; Paging mode changed from 3 to 0
012a: ef 62 jacc 008dh
012c: e0 00 jacc 012dh
012e: 71 10 or F,010h
0130: 62 e0 02 mov reg[OSC_CR0],002h
0133: 70 ef and F,0efh
0135: 62 e2 00 mov reg[INT_VC],000h
0138: 7c 19 30 lcall 1930h
013b: 8f ff jmp 013bh
013d: 50 08 mov A,008h
013f: 7f ret
E foliga mai e talafeagai!
7.4. Su'e le tuatusi PIN code e teu ai
I le taimi nei e mafai ona tatou faitau le siaki tupe i taimi tatou te manaʻomia, e faigofie ona tatou siaki pe faʻafefea ma pe o fea e suia pe a tatou:
ulufale sese le PIN code;
sui le pine code.
Muamua, ina ia su'e le tuatusi e teu ai, na ou ave se siaki siaki i le 10 ms faʻaopoopoga pe a uma le toe faʻafouina. Ona sese lea o lau PIN ma fai le mea lava e tasi.
E leʻi manaia tele le iʻuga, talu ai sa tele suiga. Ae i le faaiuga na mafai ona ou iloa na suia le siaki tupe i le va o le 120000 µs ma le 140000 µs o le tuai. Ae o le "pincode" na ou faʻaalia iina e matua le saʻo lava - ona o se mea faʻapitoa o le faʻatuai o le microseconds procedure, lea e faia ai mea uiga ese pe a tuʻuina atu i ai le 0.
Ma, ina ua uma ona faʻaaluina toetoe 3 itula, na ou manatua o le SROM system call CheckSum maua se finauga e fai ma faʻaoga e faʻamaonia ai le numera o poloka mo le siaki tupe! lena. e mafai ona faigofie ona tatou vaʻaia le tuatusi teuina o le PIN code ma le "taumafaiga sese", faʻatasi ai ma le saʻo e oʻo atu i se poloka 64-byte.
O aʻu taʻavale muamua na maua ai le iʻuga nei:
Ona ou suia lea o le PIN code mai le "123456" i le "1234567" ma maua:
O le mea lea, o le PIN code ma le fata o taumafaiga le saʻo e foliga mai o loʻo teuina i le poloka Nu. 126.
7.5. O le lafoaia o le poloka Nu.126
Block #126 e tatau ona tu i se mea e tusa ma le 125x64x18 = 144000μs, mai le amataga o le siaki siaki, i loʻu lafoai atoa, ma e foliga mai e talafeagai. Ma, ina ua maeʻa ona faʻamama ma le lima le tele o lapisi le aoga (ona o le faʻaputuina o "tulaga laiti taimi"), na iu ina ou mauaina nei bytes (i le latency o le 145527 μs):
E matua manino lava o le PIN code o loʻo teuina i se faʻailoga e le faʻamaonia! O nei tau, ioe, e le o tusia i tulafono a le ASCII, ae e foliga mai, latou te atagia ai faitauga na maua mai le keyboard capacitive.
Mulimuli ane, sa ou faia nisi su'ega e su'e ai po o fea na teu ai le fata taumafaiga leaga. O le i'uga lea:
0xFF - o lona uiga "15 taumafaiga" ma e faʻaitiitia i taumafaiga uma e le manuia.
Faamolemole ia matau o le latency values na ou faaaogaina e foliga mai e talafeagai i se tasi PSoC patino - le tasi na ou faaaogaina.
8. O le ā le isi mea?
O lea, seʻi o tatou aoteleina i le itu PSoC, i le tulaga o la tatou taavale Aigo:
e mafai ona tatou faitau SRAM tusa lava pe faitau puipuia;
E mafai ona tatou pasia le puipuiga o le anti-swipe e ala i le faʻaaogaina o se osofaʻiga o seevae malulu ma faitau saʻo le PIN code.
Ae ui i lea, o la matou osofaʻiga e iai ni faʻaletonu ona o faʻafitauli faʻatasi. E mafai ona faaleleia e pei ona taua i lalo:
tusi se mea aoga e fa'avasega sa'o ai fa'amaumauga o fa'amatalaga na maua ona o se osofa'iga o le "fa'ailoga malulu";
fa'aoga se masini FPGA e fa'atupu ai ni fa'atuai sa'o o le taimi (po'o le fa'aogaina o masini masini Arduino);
taumafai se isi osofaʻiga: faʻapipiʻi se PIN code sese ma le loto i ai, toe faʻafou ma lafoai le RAM, ma le faʻamoemoe o le PIN saʻo o le a faʻasaoina i le RAM mo faʻatusatusaga. Ae ui i lea, e le faigofie tele ona fai i Arduino, talu ai o le maualuga o le faailo o le Arduino e 5 volts, ae o le laupapa o loʻo matou suʻesuʻeina e galue i le 3,3 volt.
O se tasi o mea manaia e mafai ona faʻataʻitaʻiina o le taʻalo i le maualuga o le voltage e pasi ai le puipuiga faitau. Afai e aoga lenei faiga, o le a mafai ona tatou maua faʻamatalaga saʻo atoatoa mai le flash drive - nai lo le faʻalagolago i le faitauina o se siaki tupe faʻatasi ai ma le faʻatuai o le taimi.
Talu ai atonu e faitau e le SROM ia pusi leoleo e ala i le telefoni o le ReadBlock system, e mafai ona matou faia le mea lava e tasi faamatalaina i luga o le blog a Dmitry Nedospasov - o se toe faʻatinoina o le osofaʻiga a Chris Gerlinski, faʻasalalau i le konafesi. "REcon Brussels 2017".
O le isi mea malie e mafai ona fai o le togi ese lea o le mataupu mai le pu: ave se SRAM lafoai, faʻamaonia telefoni feaveaʻi ma faʻafitauli.
9. Faaiuga
O le mea lea, o le puipuiga o lenei taʻavale e tele mea e manaʻomia, aua e faʻaaogaina se microcontroller masani (e le "faʻamaʻaina") e teu ai le PIN code ... Ma le isi, ou te leʻi vaʻavaʻai (i le taimi nei) pe faʻafefea mea o loʻo i ai faʻamaumauga. fa'ailoga i luga ole masini!
O le a se mea e mafai ona e fautuaina mo Aigo? Ina ua uma ona suʻesuʻeina ni nai faʻataʻitaʻiga o faʻailoga HDD faʻailoga, i le 2015 na ou faia ata i luga ole SyScan, lea na ia suʻesuʻeina ai faʻafitauli saogalemu o le tele o taʻavale HDD fafo, ma faia fautuaga i mea e mafai ona faʻaleleia i totonu. 🙂
Sa ou faaaluina le lua faaiuga o vaiaso ma ni nai afiafi e fai ai lenei suesuega. Aofa'i pe a ma le 40 itula. Faitau mai le amataga (ina ua ou tatalaina le disk) seia oo i le faaiuga (PIN code dump). O le 40 itula tutusa e aofia ai le taimi na ou faʻaaluina i le tusiaina o lenei tusiga. O se malaga fiafia tele.