Romozte rozjet RO flashdisk

Romozte rozjet RO flashdisk
« kdy: 20. 12. 2018, 22:24:21 »
Ahoj mám v ruce flashdisk, který byl údajně jako read only HW klíč k nějakému zařízení nebo co. Zkouším ho přemluvit, aby se na něj dalo i zapisovat.
hdparm -r0 /dev/sda nepomohlo. Teda - teď můžu vytvářet a mazat diskové oddíly, ale na windows skončí pokus o formátování chybou a na linuxu ze zdánlivě souborový systém vytvoří, ale následně není rozpoznán.

hdparm -I /dev/sda je takové dost nešťastné:

Kód: [Vybrat]
/dev/sda:
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

ATAPI , with removable media
Model Number:       �|��t��L��|��
Serial Number:      ����!���8
                                         u
Firmware Revision:  u����
Standards:
Likely used: 3
Configuration:
DRQ response: unknown.
Packet size: Unknown
cache/buffer size  = unknown
Capabilities:
IORDY(may be)(cannot be disabled)
Buffer size: 16520.0kB bytes avail on r/w long: 65278
DMA: not supported
PIO: pio0

Máte někdo tip, jak ho rozjet?
« Poslední změna: 20. 12. 2018, 23:06:37 od Petr Krčmář »


Uuuu

Re:pomozte rozjet RO flashdisk
« Odpověď #1 kdy: 20. 12. 2018, 22:40:42 »
A co zkusit primy zapis zda to pujde?

dd if=/dev/urandom of=/dev/sdX count=10000

Re:Romozte rozjet RO flashdisk
« Odpověď #2 kdy: 20. 12. 2018, 23:45:28 »
Vyrobím deset mega náhodných dat:
Kód: [Vybrat]
dd if=/dev/urandom of=./pokus.data bs=1M count=10
10+0 záznamů přečteno
10+0 záznamů zapsáno
10485760 bajtů (10 MB, 10 MiB) zkopírováno, 1,33053 s, 7,9 MB/s
Zapíšu je na začátek disku:
Kód: [Vybrat]
dd if=./pokus.data of=/dev/sda bs=1M
10+0 záznamů přečteno
10+0 záznamů zapsáno
10485760 bajtů (10 MB, 10 MiB) zkopírováno, 0,790271 s, 13,3 MB/s
Přečtu do novýho souboru:
Kód: [Vybrat]
dd if=/dev/sda of=./pokus2.data bs=1M count=10
10+0 záznamů přečteno
10+0 záznamů zapsáno
10485760 bajtů (10 MB, 10 MiB) zkopírováno, 0,860205 s, 12,2 MB/s
A hle, je tam něco jinýho - nevim co, vypadá to náhodně, nejsou to třeba jen nuly
Kód: [Vybrat]
md5sum ./pokus.data
49d3ba85b09a262b1e37e16492dd1969  ./pokus.data
md5sum ./pokus2.data
b8baab349cdc836592adf1d173ec87dd  ./pokus2.data

RDa

  • *****
  • 2 830
    • Zobrazit profil
    • E-mail
Re:Romozte rozjet RO flashdisk
« Odpověď #3 kdy: 20. 12. 2018, 23:46:58 »
ja mel regularni flashku ktera se po case rozhodla ze bude po zapnuti reaodnly. pres hdparm jsem to mohl presvedcit do RW rezimu, ale to me flashka pak fungovala jen pod Linuxem. Pod win nebo osx to bylo RO a neslo to zformatovat...
Takze jsem dosel do ALZY a vyreklamovali to beze slova na miste.

Pokud je to "hw klic", tak neni jiste zda to je vubec mass storage s flash, nebo to virtualizuje nejaky procesor.

Jestli to je flaska, tak to musis rozebrat, podivat se co je tam za cip, pak stahnout z cerneho trhu tooly pro flashovani firmwaru, a tam mozna najdes option pro "RO by default".

Jednou jsem cetl taky nejaky clanek, jak reklamni flashky meli RO protected prvni partisny. Resi to asi stejny tool.

Tem amaterum co radi "dd" tady never, je videt ze netusi ktera bije. To co resis je vrstva pod tim.

Re:Romozte rozjet RO flashdisk
« Odpověď #4 kdy: 20. 12. 2018, 23:54:37 »
no, k předchozímu pokusu s dd ještě doplním, že pokud jsem zapsal deset mega nul, tak jsem následovně přečetl zase náhodná data.

A mechanicky vypadá dost nedobytně - teda je to otázka síly, ale bude to jistě esteticky nevratný proces :) tak jsem to chtěl zatím odložit, jestli někoho ještě něco nenapadne


David

Re:Romozte rozjet RO flashdisk
« Odpověď #5 kdy: 21. 12. 2018, 00:53:25 »
pokud jsem zapsal deset mega nul, tak jsem následovně přečetl zase náhodná data
A ta nahodna data po zapsani nul byla stejna, jako po zapsani nahodnych dat (viz vyse) nebo tam bylo neco jineho? Pokud tam bylo neco jineho, tak IMHO neni ani RO ani RW, ale RR (Read Random) cili vhodna tak akorat k fyzickemu odeslani do /dev/null.

moje jméno je rezervované

Re:Romozte rozjet RO flashdisk
« Odpověď #6 kdy: 21. 12. 2018, 07:02:25 »
Tady je ten zmiňovaný článek. Snad to pomůže. Už je 5 let starý
https://blog.root.cz/svatas/kdyz-usb-disk-neni-usb-disk/

Re:Romozte rozjet RO flashdisk
« Odpověď #7 kdy: 21. 12. 2018, 08:30:04 »
Hele a zkoušel jsi tomu přehrát firmware? Já něco podobného řešil s FLASH od Dellu kde byl jen system a reed only...

Tímhle https://www.usbdev.ru/files/chipgenius/ jsem si zjistil FW ID. A podle FW ID jsem použil tady https://www.usbdev.ru/files/smi/smimptool/ tam narval odemčený FW...

Lol Phirae

Re:Romozte rozjet RO flashdisk
« Odpověď #8 kdy: 21. 12. 2018, 08:42:14 »
Hele a zkoušel jsi tomu přehrát firmware?

Viz...

?

Re:Romozte rozjet RO flashdisk
« Odpověď #9 kdy: 21. 12. 2018, 09:06:11 »
pokud jsem zapsal deset mega nul, tak jsem následovně přečetl zase náhodná data
A ta nahodna data po zapsani nul byla stejna, jako po zapsani nahodnych dat (viz vyse) nebo tam bylo neco jineho? Pokud tam bylo neco jineho, tak IMHO neni ani RO ani RW, ale RR (Read Random) cili vhodna tak akorat k fyzickemu odeslani do /dev/null.
Mno tak generátor náhodných dat se může taky hodit.

RDa

  • *****
  • 2 830
    • Zobrazit profil
    • E-mail
Re:Romozte rozjet RO flashdisk
« Odpověď #10 kdy: 21. 12. 2018, 10:22:03 »
Co ti napise dmesg pri pripojeni? (jestli tedy mas zapnuto vypisovani vid/pid/model/sn v kernelu). Pripadne zkus lsusb, lsusb -v ... zajima nas pid/vid a pripadne textovy nazvy, nezminujes ani detekovanou kapacitu.

Re:Romozte rozjet RO flashdisk
« Odpověď #11 kdy: 21. 12. 2018, 19:32:49 »
Tak mám výpis z toho programu ChipGenius:
Je mi podezřelý, že všude se ten flashdisk hlásí jako 16GB, ale ten ChipGenius v něm vidí jen 8GB čip, jestli tomu dobře rozumím.
Kód: [Vybrat]
Description: [E:]Velkokapacitní paměťové zařízení USB(JetFlash Transcend 16GB)
Device Type:        Mass Storage Device

Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 300mA

USB Device ID: VID = 8564 PID = 1000
Serial Number: ZEU54A71D4HJMM4I

Device Vendor: JetFlash
Device Name: Mass Storage Device
Device Revision: 1100

Manufacturer: JetFlash
Product Model: Transcend 16GB
Product Revision: 1100

Controller Vendor: SMI
Controller Part-Number: SM3270AB - ISP 180329-0AC
Flash ID code:      AD5A14F3 - Hynix - 1CE/Single Channel [MLC] -> Total Capacity = 8GB

Tools on web:       http://dl.mydigit.net/special/up/smi.html

A výpis lsusb -v
Kód: [Vybrat]
Bus 001 Device 015: ID 8564:1000 Transcend Information, Inc. JetFlash
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x8564 Transcend Information, Inc.
  idProduct          0x1000 JetFlash
  bcdDevice           11.00
  iManufacturer           1 JetFlash
  iProduct                2 Mass Storage Device
  iSerial                 3 ZEU54A71D4HJMM4I
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

A dmesg po připojení:
Kód: [Vybrat]
[ 1717.155826] usb 1-1.3.3: new high-speed USB device number 15 using dwc_otg
[ 1717.288194] usb 1-1.3.3: New USB device found, idVendor=8564, idProduct=1000
[ 1717.288218] usb 1-1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1717.288232] usb 1-1.3.3: Product: Mass Storage Device
[ 1717.288242] usb 1-1.3.3: Manufacturer: JetFlash
[ 1717.288251] usb 1-1.3.3: SerialNumber: ZEU54A71D4HJMM4I
[ 1717.306783] usb-storage 1-1.3.3:1.0: USB Mass Storage device detected
[ 1717.323459] scsi host0: usb-storage 1-1.3.3:1.0
[ 1718.900926] scsi 0:0:0:0: Direct-Access     JetFlash Transcend 16GB   1100 PQ: 0 ANSI: 4
[ 1718.910346] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 1718.911758] sd 0:0:0:0: [sda] 30818304 512-byte logical blocks: (15.8 GB/14.7 GiB)
[ 1718.913047] sd 0:0:0:0: [sda] Write Protect is off
[ 1718.913073] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 1718.914205] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1718.929952] sd 0:0:0:0: [sda] Attached SCSI removable disk

Re:Romozte rozjet RO flashdisk
« Odpověď #12 kdy: 21. 12. 2018, 20:24:25 »
Hlásím, že se mi po troše zkoumání nástrojů, na které jste mě zde nasměrovali, podařilo přeflešovat FW a flashka jede!   :)
Díky, borci!  8)

Lol Phirae

Re:Romozte rozjet RO flashdisk
« Odpověď #13 kdy: 22. 12. 2018, 10:16:47 »
A kolik to teda má kapacitu?  ;D

Re:Romozte rozjet RO flashdisk
« Odpověď #14 kdy: 14. 03. 2019, 22:36:13 »
Tak zkusím obnovit toto vlákno, protože se to nepodařilo úplně na sto procent.
Fleshoval jsem firmware pomocí SMI Mass Production Tool, flashka má nyní neformátovatovanou kapacitu 15480 MB, před přehráním FW měla 15100 MB. Problémem ale je, že nejsou nyní všechny bloky funkční. Tváří  se, že bez problému zapisuje a čte, ale u některých bloků čte nesmysly. Zapsal jsem celou flešku pseudonáhodnými daty, přečetl je zpět, rozdělil na megové intervaly, spočítal checksumy, u několika málo intervalů ty checksumy nesedí, při opakování se chová stejně - stejné bloky jsou špatné.
Takže má otazka zní, může mě někdo nakopnout, jak tu flashku otestovat a flashnout upravený firmware tak, aby nepoužíval nespolehlivé bloky (popř. byly i nějaké dobré rezervní, pokud to jde)?