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

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-07-2017, 11: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, 01:47   #2
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 è online   Rispondi citando il messaggio o parte di esso
Old 19-07-2017, 11: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, 18:54   #4
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 è online   Rispondi citando il messaggio o parte di esso
Old 20-07-2017, 13: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, 15:25   #6
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 è online   Rispondi citando il messaggio o parte di esso
Old 20-07-2017, 15:39   #7
zappy
Senior Member
 
L'Avatar di zappy
 
Iscritto dal: Oct 2001
Messaggi: 20116
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, 16:25   #8
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 è online   Rispondi citando il messaggio o parte di esso
Old 24-07-2017, 11: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, 14:32   #10
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 è online   Rispondi citando il messaggio o parte di esso
Old 25-07-2017, 09: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 09:45.
Mr Carlo è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2017, 14:30   #12
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
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 14:34.
DooM1 è online   Rispondi citando il messaggio o parte di esso
Old 26-07-2017, 10: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


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Otto suicidi, un solo chatbot: si moltip...
'Windows fa schifo' perché ha dim...
Tesla aggiorna il camion Semi, e sposta ...
Come funziona la carta Klarna: tre livel...
I Funko Pop potrebbero sparire per sempr...
Windows 98 in crash davanti a migliaia d...
Samsung Smart TV 85'' Neo QLED Mini LED ...
TikTok rafforza la sicurezza degli acqui...
Samsung Galaxy S25 Ultra 256 GB a ...
Sanzione ridotta per TIM: l'azienda paga...
DJI Osmo 360 in super offerta su Amazon:...
Moto Watch Fit con Moto AI a metà prezzo...
Batterie ibride plug-in: la classifica d...
Ayaneo Next 2 è ufficiale: presta...
Windows 11 26H1 è ufficiale, ma &...
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: 13:35.


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