Che cos’è il design della camera bianca?

La progettazione di una camera bianca è una strategia particolare nell’ingegneria IT. Con un design di una camera bianca, i lavoratori possono “reverse engineering” di un programma software in varie fasi procedurali, senza sapere come è stato originariamente costruito. Questo processo a ritroso è simile a smontare un motore o un altro dispositivo meccanico complesso per capire come funziona e come è assemblato. I programmatori lo fanno “decifrando” ogni passaggio di un processo di codice e ottenendo un’immagine più chiara di come è stato originariamente scritto.

Un altro tipo di idea di programmazione chiamata “codice pulito”, differisce in modo critico dalla strategia della camera bianca. Il codice scritto in modo chiaro è chiaro e conciso, con poco o nessun codice superfluo. Un design di una camera bianca, d’altra parte, è una tecnica per manipolare il codice esistente. Il design della camera bianca è stato storicamente una scappatoia intorno alle leggi sul copyright e alle accuse di violazione del copyright del prodotto. La difesa del design della camera bianca può o meno essere efficace nell’aiutare un’azienda a evitare la responsabilità per le accuse di aver copiato qualche tipo di software o prodotto IT. Quando il caso del copyright si basa sull’uso di “codice proprietario”, può essere utile una difesa del design della camera bianca.

“muro cinese” è un termine spesso associato alla tecnica di progettazione delle camere bianche. Questo tipo di procedura non gestisce il codice proprietario. Gli ingegneri che non conoscono un prodotto potrebbero teoricamente ricrearlo utilizzando questa tecnica.

Nell’implementare il reverse engineering della progettazione di camere bianche, i professionisti possono utilizzare uno strumento software chiamato “decompilatore”. Il decompilatore è fondamentale per il processo di reverse engineering, a causa del modo in cui il codice del computer viene compattato e riorganizzato per il “tempo di esecuzione”. Molti programmi per computer sono scritti in linguaggi come MS Visual Basic o “C Suite”. Quando sono incorporati in “eseguibili”, il codice a livello di lingua viene semplificato in quello che viene chiamato codice macchina. Al suo livello più elementare, questo è ridotto al linguaggio binario, composto esclusivamente da una serie di uno e zero.

In molti casi, non è possibile decodificare il codice macchina nel codice a livello di lingua originale. Quando è possibile farlo, tuttavia, la strategia della camera bianca è spesso una componente della tecnica utilizzata dagli ingegneri. Riprendendo il codice attraverso un processo inverso, la natura del codice originale può diventare ovvia.

L’utilizzo della tecnica della camera bianca a volte mette le aziende in situazioni legali complicate su ciò che costituisce i diritti intellettuali sui prodotti software. La maggior parte dei professionisti sarebbe d’accordo sul fatto che questo tipo di situazione è meglio evitare, ma in alcuni casi, il reverse engineering può essere utile per un’azienda o un’impresa. Poiché l’avvento dell'”ingegneria open source” cambia il numero di persone che guardano il software, c’è più possibilità che le tecniche della camera bianca e il reverse engineering possano diventare più utili poiché le leggi severe sulla proprietà intellettuale possono essere allentate a causa del principio del codice open source , che postula l’idea che il codice dovrebbe essere condiviso e non protetto dai programmatori.