Licenze per un'applicazione desktop basata sul Web?

4

Ho creato un'applicazione desktop (winfoms) utilizzando C # .net 3.5, l'applicazione è un'applicazione SEO, quindi deve essere connessa a Internet, ho implementato una semplice procedura di licenza in cui ogni volta che l'applicazione viene avviata interrogare il servizio Web sul mio server con la chiave e l'hash della macchina da convalidare.

Ma di recente ho notato che alcuni "cracker" hanno disabilitato la verifica della licenza (semplicemente rimosse le righe di codice che lo fanno) dell'applicazione che ho offuscato, e la cosa triste è che lo stanno vendendo a un costo che è solo il 10% di quello che sto vendendo, non si sono nemmeno preoccupati di rimuovere il mio indirizzo del sito web e i dettagli della società dal box. L'applicazione ha una funzione di aggiornamento automatico, che i cosiddetti cracker hanno intenzionalmente lasciato nella versione crackata

Stavo solo cercando di capire un modo per uscire da questo, posso rilasciare un aggiornamento e disabilitare tutte le versioni portate dai cracker, ma senza una licenza appropriata si romperà di nuovo e la prossima volta, non lo farò t avere la garanzia che manterranno la funzione di aggiornamento automatico su

    
posta Vamsi 03.11.2011 - 12:26
fonte

4 risposte

2

Nel tuo prossimo aggiornamento, se viene spinto automaticamente verso le versioni danneggiate, aggiungi un aggiornamento all'app che avverte gli utenti che hanno acquistato una versione crackata.

Informali che la loro copia è illegale e sarà disabilitata in X giorni. Non lasciarli fuori al freddo. Offri una tariffa scontata per ottenere una copia valida. Qualcosa come il 50%. Invitali a diventare tuoi clienti.

Offrendo uno sconto, e non solo chiudendoli verso il basso, gli utenti sperano di prenderlo come un segno di buona fede e di passare. Alcuni non lo faranno.

Tuttavia, il loro software si sta aggiornando attraverso di te, quindi hai più controllo dei cracker e non continueranno a comprarlo da loro, né a ricevere assistenza. Capiranno se si tratta di un prodotto degno, è meglio ottenerlo da te.

Per quanto riguarda la prevenzione degli acquisti futuri dai cracker. Cerca di inserire un codice "univoco" in ciascuna versione scaricata. In questo modo puoi determinare quale persona sta acquistando il tuo software e rivendendolo. IANAL, quindi consultane uno, ma sarebbe di aiuto alle autorità se scegliessi un'azione legale.

Inoltre, migliora la verifica dell'autenticazione nella prossima versione. Lasciare parti dell'app e richiedere che vengano scaricate all'accesso. Alcuni file crittografati e richiedono che vengano inviati al server per essere decodificati. Quanto più devi fare i cracker, per crackare, meglio è.

    
risposta data 03.11.2011 - 14:38
fonte
1

Non esiste un modo sicuro per prevenirlo. Quello a cui vuoi veramente puntare è farlo diventare più lungo o più complicato per "hackerare" il tuo software piuttosto che semplicemente comprarlo da te.

Oppure, visto che l'applicazione deve sempre essere connessa al Web, è possibile implementare un sistema di accesso utente, in modo che tutti coloro che acquistano il software ottengano un nome utente e una password che si verificano sul server ogni volta che viene caricata l'applicazione.

Puoi fare in modo che una particolare combinazione di nome utente e password possa essere registrata in un posto solo in un determinato momento.

Se hai mai usato Steam, questo è fondamentalmente quello che fa.

Non impedirà a qualcuno di distribuire il nome utente e la password, ma se vengono continuamente avviati ogni volta che qualcun altro usa lo stesso, diventerà noioso.

Detto questo, non sono un avvocato e non sono sicuro che ci siano problemi legali riguardo al chiamare casa con un nome utente e una password ogni volta che l'applicazione viene avviata. Immagino tu debba dire chiaramente al tuo utente che devono essere d'accordo con questo, il software non funziona, ma è meglio esaminarlo. (Probabilmente stai bene visto che stai già interrogando un servizio web ogni volta che l'applicazione viene caricata).

Come per forzare un aggiornamento, non sono sicuro. Potresti dover tagliare le tue perdite e rilasciare tutte le versioni future con un nuovo sistema.

    
risposta data 03.11.2011 - 13:08
fonte
1

Sfortunatamente, fintanto che si tratta di un'applicazione client, probabilmente dovrai dedicare molto tempo a cercare di superare i "cracker".

Per ovviare a questo, un metodo sarebbe spostare una parte della "business logic" dell'applicazione sui propri server. Pertanto, per alcune funzionalità, è necessario chiamare il server (con i dettagli della licenza) per calcolare il risultato. Ciò aiuterebbe a impedire loro di eludere le licenze.

Ovviamente ciò significa costi di gestione più costosi per utente.

Se sono completamente fuori dall'opzione, prova il seguente approccio:

I parametri principali utilizzati nell'applicazione sono memorizzati sul lato server. Ogni volta che l'applicazione viene aperta, come parte del controllo delle licenze, restituisci questi parametri fondamentali utilizzati dal sistema.

Sono certo che tu abbia avuto l'idea qui. hai di avere qualcosa sui tuoi server che l'applicazione deve eseguire per impedire ai cracker di disabilitare semplicemente l'autorizzazione.

    
risposta data 03.11.2011 - 14:09
fonte
1

the problem is that there will be too much data to be handled by the server, as the application has already reached more than 500 users and the data each user processes is more than 5 MB per request and there are like 15 request by user on an average day

Considerando la dimensione delle tue richieste, l'aggiunta di qualche decina di caratteri in più per ogni richiesta di una chiave di licenza avrà un costo quasi pari a zero. Infatti, se non stai già includendo un identificatore che collega ogni richiesta all'utente, probabilmente dovresti esserlo. Non ci dici cosa fa la tua app, ma forse l'aggiunta di un identificatore di questo tipo ti consentirebbe di archiviare più dati sul tuo server, il che potrebbe ridurre in modo significativo la quantità di dati che devi trasferire con ciascuna richiesta.

    
risposta data 03.11.2011 - 14:30
fonte

Leggi altre domande sui tag