Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615

    [C# 2005] Protezione applicazioni mediante seriale (grazie)

    Carissimi,
    raccogliendo le vostre indicazioni che ho cercato a lungo su varie discussioni sono giunto alla conclusione che il modo migliore (ovviamente non perfetto) per proteggere una propria applicazione da utilizzi fraudolenti è fare in modo che al primo avvio ‘legga’ il seriale dell’hard disk; quindi il cliente me lo comunica, ed io elaborandolo con un mio algoritmo gli fornisco il relativo codice di sblocco che andrà bene solo su quella macchina. Ho trovato molte discussioni nelle quali si parlava però di un codice dell’hard disk che dovrebbe cambiare ad ogni formattazione. Vi chiedo quindi, potete indicarmi in C# 2005 una riga di codice per ‘ottenere’ un numero seriale ‘fisico’ davvero affidabile, dell’hard disk o di altro componente hardware, purché rimanga uguale per tutta la durata della vita della macchina (o del componente)?
    Grazie a tutti ed auguri in anticipo di buona Pasqua!
    Shadow

  2. #2
    Leggi con più attenzione le discussioni di cui parli: c'è scritto a chiare lettere che non è possibile ottenere con metodi standard (comuni cioè a tutti i dischi fissi) il seriale del disco.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    MItaly innanzitutto grazie per la tua rapidità e cortesia. Ok, allora lasciamo stare l'hard disk, scusa forse avevo letto in modo superficiale. Potresti allora consigliarmi un codice per acquisire qualche numero davvero univoco, ad esempio qualche seriale del processore o altro che faccia al caso mio ? Grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    MItaly correggo il tiro: potresti indicarmi come acquisire QUALUNQUE numero interno del PC che non cambi? Oggi ho letto da qualche parte che tale codice dovrebbe esistere ma non ho letto nulla di preciso. Se ritrovo l'articolo in giro per la rete ti faccio sapere, nel frattempo grazie infinite.

  5. #5
    Ne abbiamo già parlato abbondantemente in questa discussione... leggila con attenzione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Grazie MItaly... Sempre puntuale e disponibile. Come al solito ho seguito i tuoi consigli, ho studiato molto bene tutti i codici ed ho sfoltito e selezionato tutti gli esempi menzionati. Sono giunto al codice sotto, credo faccia al mio caso in quanto mi dà proprio il vero seriale. Il problema è che sul mio notebook ho due hard disk e quando lo 'chiamo' mi dà entrambi i numeri seriali. Tu come trasformeresti questo breve codice per ottenere solo il seriale del primo (ovvero l'hd principale, col sistema operativo)? Grazie infinite e buona serata.

    foreach (ManagementObject wmi_HD in searcher.Get())
    {
    int ing = 0;
    HardDrive hd = new HardDrive();
    MessageBox.Show((hd.SerialNo = wmi_HD["SerialNumber"].ToString()));

    }

  7. #7
    Al di là del fatto che credo che questo sia il seriale della formattazione, eseguendo questo codice ti vengono fuori tante messagebox quanti sono gli harddisk? Che query WMI viene effettuata prima di tale codice?
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    esatto, due messaggi. la query è

    managementobjectsearcher searcher = new managementobjectsearcher ("select * from Win32_DiskDrive")

    grazie

  9. #9
    codice:
    string HDSerial =  new ManagementObjectSearcher ("select * from Win32_DiskDrive").Get()[0]["SerialNumber"].ToString();
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da MItaly
    Ne abbiamo già parlato abbondantemente in questa discussione... leggila con attenzione.
    ...e ovviamente continuala. Non viene segnalata a caso.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.