[RISOLTO]Firmware-linux-nonfree decompilazione

Quando la scelta di un programma, di un sistema operativo non è solo legata alla preferenza o al budget...
La filosofia che sta dietro a Linux
Rispondi
Avatar utente
paolo89
Newbie
Newbie
Messaggi: 28
Iscritto il: 12/06/2013, 11:16

[RISOLTO]Firmware-linux-nonfree decompilazione

Messaggio da paolo89 »

Salve a tutti, premetto di non essere sicuro di essere nella sezione corretta, in caso di necessità prego i moderatori di spostarmi nella sezione che giudicheranno più appropriata.
Ho notato che per far funzionare alcuni hardware si usano dei firmware binari, un pacchetto chiamato "firmware-linux-nonfree", al cui interno ci sono dei codici binari rilasciati sotto varie licenze.
Vorrei capire perché ove la licenza lo permetta tali binari non siano stati decompilati, mi sono avvicinato al problema avendo una scheda video Ati (o AMD se preferite), leggendo il copyright compreso nel pacchetto .deb ho capito che i driver che m'interessano non possono essere decompilati in maniera legale:

Codice: Seleziona tutto

Files: linux-nonfree/r128/r128_cce.bin, linux-nonfree/radeon/*_cp.bin,
 linux-nonfree/radeon/R600_me.bin, linux-nonfree/radeon/R600_pfp.bin,
 linux-nonfree/radeon/RS780_*.bin, linux-nonfree/radeon/RV*.bin
Copyright: 2000-2009, Advanced Micro Devices, Inc.
License: Binary redistribution (AMD permissive)
 All Rights Reserved.
 .
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
 to deal in the Software without restriction, including without limitation
 the rights to use, copy, modify, merge, publish, distribute, sublicense,
 and/or sell copies of the Software, and to permit persons to whom the
 Software is furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice (including the next
 paragraph) shall be included in all copies or substantial portions of the
 Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Ma ci sono altri blob binari che vengono rilasciati sotto licenze libere compatibili con la GPL come ad esempio la BSD a 3 o a 2 clausole, ma anche con licenze libere non conformate ad altre come ad esempio:

Codice: Seleziona tutto

Files: linux-nonfree/dabusb/*
Copyright: 1999, BayCom GmbH
License: Permissive (BayCom)
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that redistributions of source
 code retain the above copyright notice and this comment without
 modification.
La mia domanda è quindi la seguante, se è possibile ottenere un sorgente da un binario con un decompilatore e normalmente non si svolge tale azione perché illegale, perché non farlo ove è legale? I binari sono forse offuscati?
Ultima modifica di paolo89 il 17/02/2014, 10:25, modificato 1 volta in totale.
Aki
Hero Member
Hero Member
Messaggi: 9970
Iscritto il: 27/12/2007, 16:59

Re: Firmware-linux-nonfree decompilazione

Messaggio da Aki »

paolo89 ha scritto:se è possibile ottenere un sorgente da un binario con un decompilatore e normalmente non si svolge tale azione perché illegale, perché non farlo ove è legale?
Se non erro, stai facendo esplicito riferimento al firmware, quindi a dati binari che una periferica richiede per poter essere utilizzata (in parte o in toto) da un sistema operativo.

Un file binario non necessariamente contiene codice eseguibile e, quindi, non necessariamente è "decompilabile".

Qualora contenga codice eseguibile dalla periferica, le caratteristiche del contenuto dipendono dall'architettura hardware della periferica su cui sarà utilizzato, spesso proprietaria e non documentata. In tal caso, possono mancare gli strumenti software per risalire dal codice binario al codice sorgente, oppure può essere sconosciuta l'architettura hardware.
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀
Avatar utente
paolo89
Newbie
Newbie
Messaggi: 28
Iscritto il: 12/06/2013, 11:16

Re: Firmware-linux-nonfree decompilazione

Messaggio da paolo89 »

Capisco, sono ignorante in materia, a malapena scrivo brevi programmini testuali in C, mai usato un decompilatore, credevo bastasse sapere l'architettura del processore, non dell'oggetto hardware a cui il firmware fa riferimento, del resto se si conoscesse l'hardware in questione non si decompilerebbero i firmware, si scriverebbero da zero.
Grazie per la risposta rapida ed esaustiva
Avatar utente
s3v
Hero Member
Hero Member
Messaggi: 5964
Iscritto il: 31/12/2008, 11:54

Re: [RISOLTO]Firmware-linux-nonfree decompilazione

Messaggio da s3v »

Letto il file "LICENSE" all'interno dei sorgenti?

Codice: Seleziona tutto

$ apt-get source firmware-free
Avatar utente
paolo89
Newbie
Newbie
Messaggi: 28
Iscritto il: 12/06/2013, 11:16

Re: [RISOLTO]Firmware-linux-nonfree decompilazione

Messaggio da paolo89 »

s3v ha scritto:Letto il file "LICENSE" all'interno dei sorgenti?
Si s3v, ho letto il file LICENSE, proprio per questo mi ponevo la questione, gli esempi di licenza che avevo riportato nel primo post erano proprio presi da quel file.
Il problema non è solo legale (nel caso Ati/AMD lo è visto che non permettono la distribuzione se non in maniera binaria, altri hanno rilasciato i blob sotto BSD), ma soprattutto pratico, non capisco nulla di decompilazione, ma Aki ha spiegato in maniera chiara il problema.
I firmware non sono decompilabili, anche nel caso che la licenza lo permetta.
Rispondi