Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-07-2017, 10:22   #1
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
Controllo su seriale hard disk

Ciao a tutti,
ho un programmino (non creato da me) su ubuntu, è una specie di app che gira su tomcat con pagine jsp.
Siccome dovrei sostituire l'SSD della macchina con uno più capiente, ho clonato il disco con clonezilla. L'avvio avviene correttamente ma ad un certo punto si blocca e mi dà un errore di sicurezza. Ho provato a clonare pure con DD e pure su un SSD preciso identico ma l'errore è sempre lo stesso.

Il problema grosso è che il programmatore che ha creato questo accrocchio non lavora più, oltretutto è pure irreperibile, per cui non ci sono speranze di chiedergli come l'abbia creato.

Io penso ci sia un controllo sul numero seriale del disco... altre idee?

Grazie a tutti!
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2017, 00:47   #2
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Ma quindi non hai il file del pacchetto di installazione?
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2017, 10:02   #3
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
No, purtroppo non ho in mano nulla... non so nemmeno come sia installato.
E' tutto in una sottodirectory di /home e ci sono file .sh, .obj, e ovviamente .jsp e fin qui, aprendoli qualcosa ci capisco ma non trovo nessun controllo.

Ci sono anche 3 ulteriori subdirectory: /app /lib /util con alcuni file .class .jar e .so che ovviamente non riesco ad editare.

Grazie, a presto.
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2017, 17:54   #4
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Possibile che non ci sia qualche altro file di configurazione, magari un bellissimo .conf ?
Se c'è probabilmente è da qualche altra parte... dentro /etc ? Troppo facile?
Sperando che questo presunto controllo di seriale / uuid, non sia hard-coded.
Non ho mai usato tomcat, ma c'è anche un database?
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2017, 12:29   #5
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
Quote:
Originariamente inviato da DooM1
Possibile che non ci sia qualche altro file di configurazione, magari un bellissimo .conf ?
Se c'è probabilmente è da qualche altra parte... dentro /etc ? Troppo facile?
Sperando che questo presunto controllo di seriale / uuid, non sia hard-coded.
Non ho mai usato tomcat, ma c'è anche un database?
Ci sono una marea di .conf, anche in /etc e li ho aperti tutti ma non ho trovato nulla...
Penso ci sia un database, non ho visto mySQL o cose simili ma devo verificare bene.


Quote:
Originariamente inviato da Bellaz89 Guarda i messaggi
Domanda scema: non e' che magari e' il secure boot? provato a disattivarlo dal pannello delle opzioni di boot?
Altra domanda: ma come e' possibile che la vostra azienda non abbia il sorgente di un programma sviluppato internamente?! Mi sembra una situazione abbastanza critica: se avete un bug nel programma o dovete cambiarlo che fate??
EDIT: guarda qua https://askubuntu.com/questions/587463/how-to-solve-boot-in-insecure-mode-error non e' che hai qualcosa di simile?
E' un programma sviluppato nel 2010 di cui purtroppo si sono perse tutte le tracce, o sono state volutamente eliminate da chi è andato via dall'azienda.
Non è il secure boot purtroppo... il programma si avvia fino a questo famigerato controllo, dopodiché si blocca... quindi sicuramente è un controllo nel software.

Faccio un passo indietro: visto che come detto il clone è identico, secondo voi è sicuro che sia un controllo sul seriale del disco o potrebbe essere qualche altro tipo di controllo (non so, UUID, hash o altre cose...)?

Grazie a tutti.
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2017, 14:25   #6
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Eh qui purtroppo si tratterebbe di fare reverse engineering .
Se invece tenessi il vecchio SSD e montassi il nuovo nelle cartelle dove ti serve spazio? Insomma fai un po' di overlay nelle cartelle che sai che crescono.
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2017, 14:39   #7
zappy
Senior Member
 
L'Avatar di zappy
 
Iscritto dal: Oct 2001
Messaggi: 20780
Quote:
Originariamente inviato da Mr Carlo Guarda i messaggi
...E' un programma sviluppato nel 2010 di cui purtroppo si sono perse tutte le tracce, o sono state volutamente eliminate da chi è andato via dall'azienda. ....
la vendetta del programmatore. L'avete licenziato/sottopagato?
__________________
Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza (O.W.)
zappy è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2017, 15:25   #8
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Il presunto controllo potrebbe anche essere effettuato semplicemente dallo script di avvio.
Controllerei su /etc/init.d/ se si vede qualcosa nel relativo script di avvio, provando anche ad avviare il programma manualmente per vedere se viene fuori qualche errore più specifico.
Inoltre controllerei su /var/log/ se c'è qualche log che riporti il problema e dia qualche indizio.
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2017, 10:13   #9
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
Ciao a tutti,
ho guardato dappertutto ma non ho trovato nulla.
A questo punto il sospetto è che sia compilato in qualche .class
Ho decompilato alcuni files e, come già avevo intuito dal log, ho scoperto che c'è un securitycheck che può assumere valore 0 o -1. Quando assume valore 0 tutto ok, quando è -1 blocca l'esecuzione.
Ho visto nel file principale che spesso c'è un controllo su questa variabile, esempio:
Codice:
   if (Configuration.getSecurityCheck() == 0) {
            Bootstrap.startThread();
        }
oppure, caso negativo

Codice:
  if (Configuration.getSecurityCheck() != 0) {
                        SocketListener.showSecurityViolation();
                    }
in un file di configurazione ho trovato questa, che dovrebbe essere la funzione:
Codice:
  public static int getSecurityCheck()
  {
    if (DEBUG) {
      securityCheck = Integer.valueOf(0);
    }
    if (securityCheck == null) {
      if ((model.equals("fox-g20")) || (platform.equals("ARM-BeagleBone"))) {
        securityCheck = Integer.valueOf(0);
      } else {
        File f = new File("/home/programma/eseguibile");
        if (f.exists()) {
          securityCheck = Integer.valueOf(new ShellInterpreter().exec(f.getAbsolutePath(), new String[] { "" }));
        }
        else
          securityCheck = Integer.valueOf(-1);
      }
      log("Configuration.getSecurityCheck - securityCheck is " + securityCheck);
    }
    
    return securityCheck.intValue();
  }
}
Grazie a tutti.
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2017, 13:32   #10
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Quote:
Originariamente inviato da Bellaz89 Guarda i messaggi
'/home/programma/eseguibile'
Si, la chiave è qui credo.
Se si capisce che fa questo programma magari si riesce a correggere il comportamento, sarebbe la cosa migliore.
Bisogna vedere se è compilato o no, e se ha qualche file di configurazione.

Altrimenti bypasserei il controllo con questo programma, e lascerei il resto dei controlli del securitycheck.
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2017, 08:29   #11
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
Leggendo questo IF
Codice:
  if (f.exists()) {
          securityCheck = Integer.valueOf(new ShellInterpreter().exec(f.getAbsolutePath(), new String[] { "" }));
        }
        else
          securityCheck = Integer.valueOf(-1);
non è un controllo sull'esistenza del file eseguibile? Se è così, il file è sempre presente, non capisco come faccia a restituire "-1".

Ultima modifica di Mr Carlo : 25-07-2017 alle 08:45.
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2017, 13:30   #12
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13496
Quote:
Originariamente inviato da Mr Carlo Guarda i messaggi
non è un controllo sull'esistenza del file eseguibile? Se è così, il file è sempre presente, non capisco come faccia a restituire "-1".
No, non solo.
Leggi meglio il codice.
Se il file esiste viene eseguito e viene assegnato alla variabile il valore che il programma resituisce.
Se il file non esiste (blocco else) questo controllo non può venire eseguito, e alla variabile viene assegnato un valore arbitrario di -1.

Se pensi che quel controllo non ti serva potresti semplicemente cancellare/rinominare il programma, e cambiare a piacimento il valore che c'è nel blocco else.
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ

Ultima modifica di DooM1 : 25-07-2017 alle 13:34.
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 26-07-2017, 09:52   #13
Mr Carlo
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 348
Ho capito.
Non ho idea circa cosa faccia l'eseguibile, a parte restituire il valore che poi viene processato dall'if.
Altrimenti, creare un eseguibile che restituisca il valore che vuole l'if?
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
La società europea Isar Aerospace...
Samsung anticipa gli obiettivi delle mem...
iPhone 18 Pro e Pro Max, il prezzo aumen...
Anthropic scava, NVIDIA vende i picconi:...
I 5 brand di Anker si uniscono: un solo ...
Motorola moto g67 a 229,90€ e edge 70 a ...
Scontata di oltre 50€ reali, a 179€ Robo...
Final Fantasy VII Revelation ha una data...
Super venduta perché va benissimo...
Torna a soli 34,19€ grazie a un coupon: ...
Samsung ci riprova? Nel 2027 potrebbe ar...
Questo portatile HP da 469€ in offerta &...
Fujifilm ha annunciato il nuovo super-te...
Il drone NASA Dragonfly atterrerà...
Il telescopio spaziale Hubble ha ripreso...
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:29.


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