Torna indietro   Hardware Upgrade Forum > Networking e sicurezza > Networking > Guide e thread ufficiali

MG4, due settimane al volante dell'elettrica popolare: pregi, difetti e autonomia
MG4, due settimane al volante dell'elettrica popolare: pregi, difetti e autonomia
Abbiamo guidato per circa due settimane la MG4 Electric, l'auto elettrica cinese del rinato marchio europeo, che offre specifiche interessanti ad un prezzo competitivo
Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme
Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme
Siamo volati a Helsinki, in Finlandia, per testare a fondo il nuovo OnePlus Watch 2 Nordic Blue Edition. L'orologio ci ha convinti durante i test invernali a Helsinki, grazie al design raffinato, alle prestazioni impeccabili, alla resistenza agli ambienti estremi e all'ottima autonomia garantita dalla modalità intelligente.
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server
Edge9 ha visitato lo stabilimento produttivo di Lenovo nei pressi di Budapest in Ungheria, che serve tutta la zona EMEA per i prodotti “business”: PC, storage e server. Un impianto all’avanguardia, con altissimi tassi di efficienza ma anche una grande attenzione alle condizioni lavorative dei dipendenti e alla sostenibilità ambientale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-02-2018, 08:22   #1
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
[Thread Ufficiale] ambitImageEditor-Tool compressione/decompressione firmware Netgear

- Scopo del thread

Questo thread si occupa esclusivamente del tool ambitImageEditor.


- Che cos'è ambitImageEditor

ambitImageEditor è uno strumento di decompressione/compressione dei firmware Netgear creato da bignerd95 (Thanks!!!)

ambitImageEditor by bignerd95 (Github)

Guide all'uso di ambitImageEditor


- Requisiti sistema operativo

Per usare questo tool è necessario avere

- un PC con installato un sistema operativo Unix (installato standalone o virtualizzato cone programmi tipo VMWare)
- Emulatore Linux tipo Cygwin.


- Uso del tool (Linux)

- Attività prepratorie

Queste attività vanno eseguite solo la prima volta per installare i moduli e le librerie necessarie all'uso del tool.

Eseguire i comandi in neretto con utente con diritti di amministratore.

sudo apt-get install python3-pip - installazione modulo python3-pip

sudo -H pip3 install --upgrade pip - aggiornamento modulo pip3

sudo pip3 install -U crcmod - creazione libreria crcmod
sudo pip3 install -U construct - creazione libreria construct

ambitImageEditor si appoggia per la decompressione/ricomrpessione del firmware al programma binwalk.

binwalk

Consultare la guida di binwalk per le eventuali moduli da installare prima della compilazione di binwalk.

Scaricare l'archivioe compilarlo con i seguenti comandi (in neretto)

git clone https://github.com/ReFirmLabs/binwalk
cd binwalk && sudo python3 setup.py install

verrà creato il programma binwalk.
Per testare binwalk digitare il comando

binwalk

e verrà visualizzato la guida con le opzioni del comando.

- Modulo jefferson

Per estrarre i file JFFS2 serve il modulo jefferson. Per installarlo e compilarlo dare i seguenti comandi in neretto:

git clone https://github.com/sviehb/jefferson

modificare il file src/scripts/jefferson cambiando nella prima riga

#! /usr/bin/python2

in

#! /usr/bin/python3

installare il modulo jefferson con i comandi

cd jefferson && sudo python setup.py install)

- Uso del tool ambitImageEditor

Scaricare il tool aggiornato da

git clone https://github.com/BigNerd95/ambitImageEditor

Andare nella cartella tools, copiare nella cartella il file .chk del firmware e lanciare il comando

./auto.sh nomefilefirmware.chk dove nomefilefirmware.chk è il nome del file del firmware

verrà scompattao l'archivo e il batch rimarrà in attesa che vengano fatte le modifiche al file decompilato,.
Una volta fatte le modifiche al firmware decompilato, premere un tasto e il batch ricomprimerà e firmerà il firmware.


- Utilizzo del tool (con Cygwin)

- Attività prepratorie

Queste attività vanno eseguite solo la prima volta per installare i moduli e le librerie necessarie all'uso del tool.

Dal programma di configurazione di Cygwin installare il modulo.

python3-pip

Verificare qual'è la versione di python3 che viene installata (es. 3.6.xxx)
Verranno selezionati anche una serie di altri moduli.
Verificare che venga selezionata anche il modulo python3-setuptools.
Installare tutti i moduli richiesti.
Completare l'installazione.

Lanciare il terminale Cygwin.

dare i comandi

easy_install-3.6 pip - per creare il comando pip3 - valido se la versione di python3 è la 3.6
pip3 install --upgrade pip - aggiornamento modulo pip3
pip3 install -U crcmod - creaaizone libreria crcmod
pip3 install -U construct - creazione libreria construct

ambitImageEditor si appoggia per la decompressione/ricomrpessione del firmware al programma binwalk.
I sotrgenti di binwalk sono scaricabili in questa pagina di GitHub

ambitImageEditor by bignerd95 (Github)

Consultare la guida di binwalk per le eventuali moduli da installare priam della compialzione di binwalk.

Decomprimere l'archivio, posizionarsi nella cartella dove è stata effettuata l'estrazione e dare il comando

python3 setup.py install

verrà creato il programma binwalk.

Per testare binwalk digitare il comando

binwalk

e verrà visualizzato la guida con le opzioni del comando binwalk.

- Uso del tool ambitImageEditor

Scaricare il tool aggiornato da

ambitImageEditor by bignerd95 (Github)

e decomprimere l'archivio

Andare nella cartella tools, copiare nella cartella il file .chk del firmware e lanciare il comando

./auto.sh nomefilefirmware.chk dove nomefilefirmware.chk è il nome del file del firmware

verrà scompattao l'archivo e il batch rimarrà in attesa che vengano fatte le modifiche al file decompilato,.
Una volta fatte le modifiche al firmware decompilato, premere un tasto e il batch ricomprimerà e firmerà il firmware.


- Licenza Creative Commons

Il contenuto di questo post è rilasciato con licenza

Creative Commons Attribution-Noncommercial-Share Alike 2.5

Ultima modifica di Bovirus : 17-02-2018 alle 15:50.
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2018, 08:22   #2
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
Riservato ...

- Licenza Creative Commons

Il contenuto di questo post è rilasciato con licenza

Creative Commons Attribution-Noncommercial-Share Alike 2.5
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2018, 08:24   #3
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
Riservato .. ..

- Licenza Creative Commons

Il contenuto di questo post è rilasciato con licenza

Creative Commons Attribution-Noncommercial-Share Alike 2.5
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2018, 07:51   #4
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
@bignerd95

Per favore continuiamo la discussione sul tuo tool in questo nuovo thread.

Il tool richeide anche il programma esterno binwalk

Scaricadno il modulo ed installandolo riesco a proseguire la decompilazione ma ottengo questo errore.

$ ./auto.sh DGN2200v4-1.0.0.102.chk
** Ambit Image split **
Parsing file...
Creating directory: DGN2200v4-1.0.0.102.chk_extract
Extracting RootFS...
Extracting Kernel...
Done!
** Vtoken remove **
CRC: 0x4b0c51a2
Magic: 0x5732
Chip ID: 6328
Flash type: NAND16
Unused: 0x0

Vtoken removed!

DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------

WARNING: Extractor.execute failed to run external extractor 'jefferson -d 'jffs2-root' '%e'': [Errno 2] No such file or directory: 'jefferson': 'jefferson', 'jefferson -d 'jffs2-root' '%e'' might not be installed correctly
0 0x0 JFFS2 filesystem, big endian



Servono dei requisiti particolari per binwalk (librerie o altro)?

Ultima modifica di Bovirus : 17-02-2018 alle 14:17.
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2018, 10:30   #5
bignerd95
Member
 
Iscritto dal: May 2013
Messaggi: 88
Ecco la guida per installare tutto il necessario per binwlak

https://github.com/ReFirmLabs/binwal...ter/INSTALL.md

Se cerchi "jefferson" all'interno di quella pagina trovi i comandi per installarlo

Avresti poi voglia di farmi l'elenco dei tool che hai dovuto installare? Cosi lo aggiungo al mio readme
bignerd95 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2018, 15:21   #6
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
@bignerd95

Grazie delle indicazioni.

Per il jefferson ho dovuto modificare lo script jefferson in quanto fa riferimento a python2 (v2) mentre oggi si usa python3 (v3).

Ora la funzione di decompilazione la completa.

Ho problemi con Cygwin e il comando mkfs.jffs2.
Poi provo con il sistema Linux

Proposte per il batch auto.sh

- se viene lanciato senza riferimento al file del firmware visualizzare una pagina di help

- testare se il il file del firmware indicato esiste e se non esiste emettere un messaggio d'errore.

- verificare l'ambienete d'esecuzione (Linux/Cygwin, etc) e modificare alcuni comandi (es. sudo in Cygwin non esiste)

- testare se possibile la disponibilità dei moduli dipendenze (binwalk/jefferson)

- testare se la cartella di estrazione esiste già e se esiste rimuoverla.

- Visualizzare con dei messaggi i vari passaggi (estrazione, rimozione token, creazione token, compressione)


In Linux (Ububtu 16.04) ho riscontrato questo problema

Installato phython3 - OK
installato modulo crcmod - ok
installato jefferson - ok
scaricato e decomrpesso ambitImageEditor

quando lancio il comando auto,sh ottengo

root@ubuntu:/home/ubuntu/Desktop/ambitImageEditor/tools# pip3 install crcmod
Collecting crcmod
Installing collected packages: crcmod
Successfully installed crcmod-1.7

root@ubuntu:/home/ubuntu/Desktop/ambitImageEditor/tools# pip3 install construct
Collecting construct
Installing collected packages: construct
Successfully installed construct-2.9.31

root@ubuntu:/home/ubuntu/Desktop/ambitImageEditor/tools# ls
auto.sh DGN2200v4-1.0.0.102.chk mkfs.jffs2 nocomprlist

root@ubuntu:/home/ubuntu/Desktop/ambitImageEditor/tools# ./auto.sh DGN2200v4-1.0.0.102.chk
Traceback (most recent call last):
File "/home/ubuntu/Desktop/ambitImageEditor/tools/..//ambitImageEditor/ambitImageEditor.py", line 5, in <module>
import sys, os, Ambit
File "/home/ubuntu/Desktop/ambitImageEditor/ambitImageEditor/Ambit.py", line 29, in <module>
"board_id" / String(this.size - FIXED_HEADER_LEN, StringsAsBytes),
NameError: name 'StringsAsBytes' is not defined

Ultima modifica di Bovirus : 17-02-2018 alle 16:14.
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2018, 19:05   #7
bignerd95
Member
 
Iscritto dal: May 2013
Messaggi: 88
Devi aggiornare construct.

Se ti ricordi qualche giorno fa ti dava questo errore:
https://www.hwupgrade.it/forum/showp...postcount=7125

Perche hanno aggiornato construct e ora richiedono di specificare "StringsAsBytes".
E allora ho aggiornato il tool:
https://www.hwupgrade.it/forum/showp...postcount=7126

Qua puoi vedere il mio commit:
https://github.com/BigNerd95/ambitIm...b96f1fe0eafe01

Quindi o aggiorni construct o cancelli la modifica del mio tool.

Fammi sapere ;-)
bignerd95 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2018, 20:22   #8
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
@bignerd95

Grazie per la modifica del tuo tool.
Provvedo ad aggiornare il tuo tool.

Non cambia nulla.

Avevo già usato la versioen aggironata del tuo tool.
La csoa strabna come ho scritto che suando Cygwin non dà quell'errroe.

Come si fa a verificare il funzionamento della libreria construct?

Ultima modifica di Bovirus : 18-02-2018 alle 20:58.
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2018, 12:16   #9
bignerd95
Member
 
Iscritto dal: May 2013
Messaggi: 88
Purtroppo il mantainer di construct continua a modificare sta gestione delle stringhe

https://github.com/construct/constru...35a56823f12f22

Semplicememnte cancella StringAsByte dal mio tool per il moment
Come construct diventa nuovamente stabile lo fixo
Magari specificando la versione funzionante
bignerd95 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2018, 12:46   #10
Bovirus
Senior Member
 
L'Avatar di Bovirus
 
Iscritto dal: Nov 2003
Città: Milano
Messaggi: 30694
@bignerd95

Grazie.
Quando trovi una versione stabile di construct, potresti integrarla nel tuo repository o rendere lo zip del sorgente di construct in modo da suare quello.
Bovirus è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2018, 16:27   #11
bignerd95
Member
 
Iscritto dal: May 2013
Messaggi: 88
Aggiornato il mio repo con l'ultima versione di construct
Inoltre ho messo nel README il comando per installare la versione corretta delle librerie cosi da non avere piu problemi di compatibilita'
bignerd95 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MG4, due settimane al volante dell'elettrica popolare: pregi, difetti e autonomia MG4, due settimane al volante dell'elettrica pop...
Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme Tre giorni in Finlandia con OnePlus Watch 2 Nord...
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server Lenovo Factory Tour: siamo entrati nella fabbric...
Acer Nitro V 15, alla prova il notebook gaming essenziale con RTX 4050 Laptop Acer Nitro V 15, alla prova il notebook gaming e...
Stellar Blade: l'action RPG di Shift Up sfoggia uno stile (quasi) unico su PS5 - Recensione Stellar Blade: l'action RPG di Shift Up sfoggia ...
Asteroid Institute e Google Cloud hanno ...
NASA Perseverance ha catturato nuove imm...
L'IA generativa richiede nuove professio...
Se le formule vi annoiano, potete usare ...
Amazon Seconda Mano (ex Warehouse): ecco...
Warren Buffett: l'intelligenza artificia...
La serie Realme 12 5G arriva in Italia p...
Incentivi auto elettriche annunciati ma ...
SpaceX presenta le tute spaziali per l'a...
Splunk State of Security 2024: cos&igrav...
Boom di investimenti per la produzione d...
Come disabilitare gli annunci pubblicita...
Joby Aviation ha completato i test di pr...
Apple 'Let Loose': cosa aspettarsi dall'...
Proton 9 introduce il limite dei core: m...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v