Software di collegamento a un PC [chiuso]

1

Ho generato un .exe di uno script Python. Vorrei dare questo software come versione demo a pochi clienti.

Per lo stesso voglio legare il software a un particolare PC. Ad esempio, se installo il software su un particolare PC, il client non dovrebbe essere in grado di copiare l'exe dal suo PC su un altro PC e utilizzare il software.

Quali sono i modi in cui posso garantire questo. Ho sentito che legare l'indirizzo MAC del PC con il software è una delle opzioni. Per favore correggimi se ho torto o suggerisco altre metodologie per raggiungere il compito desiderato.

    
posta Rahul Patel 11.06.2015 - 18:29
fonte

2 risposte

20

Versione breve: non può essere fatto, quindi non preoccuparti.

Versione lunga: ciò che stai cercando di fare è stato provato sin dall'invenzione del dischetto. Lo chiamano "protezione dalla copia" o più recentemente "DRM", e non funziona, non ha mai fatto e mai può. Cercare di rendere i byte non copiabili è come cercare di fare acqua che non è bagnato. Ciò non impedisce alle persone di sottoporla a ricerche, in genere come uno schema antipirateria.

Microsoft, che spende più soldi su R & D ogni trimestre di quanto molti di noi vedranno nelle nostre intere vite, ci ha messo una grande quantità di lavoro per Windows 8. Un crack funzionante era disponibile prima che Windows 8 fosse anche rilasciato al pubblico. Se non riescono a farlo funzionare, con tutte quelle risorse disponibili, pensi davvero di avere anche la minima possibilità?

Copiare cose che "non dovrebbero" essere copiate non è un problema di tecnologia; è un problema sociale. Tu e la persona che fa la copia non sei d'accordo sull'opportunità o meno di copiarlo. Esiste un sistema consolidato per affrontare problemi sociali di questo tipo: il diritto contrattuale. Convincili a firmare un contratto che ponga loro delle responsabilità se lo usano in determinati modi, e ciò farà più di tutti i tentativi tecnici di rendere i byte non copiabili in tutto il mondo.

    
risposta data 11.06.2015 - 18:46
fonte
13

Questo è un problema secolare. L'unica soluzione funzionante è quella di rendere il tuo eseguibile fondamentalmente dipendente da un componente hardware che l'utente non controlla. Questo di solito è un server di rete che controlli o un dongle hardware. Entrambi dovrebbero fare alcuni calcoli non banali e vitali, altrimenti la dipendenza può essere cortocircuitata usando un debugger e poi una patch.

Solitamente questo approccio funziona ragionevolmente bene solo se si fanno soldi in abbondanza da ogni installazione (per compensare il costo del dongle), o si hanno abbastanza installazioni (per compensare il costo di creazione e manutenzione del server).

Se vuoi che la tua versione demo rimanga demo, rimuovi effettivamente un codice importante da esso, e crea un binario separato. Spesso i demo consentono di fare tutto ma non di salvare i risultati.

Inoltre, i programmi Python non sono particolarmente facili da proteggere da reverse engineering e modifiche.

In breve, dimentica i mezzi tecnici, ripensa il tuo modello di vendita.

    
risposta data 11.06.2015 - 18:44
fonte

Leggi altre domande sui tag