Oficiali svetainė: http://www.dnguard.net/index.aspx Oficialus dienoraštis: http://www.cnblogs.com/rick/ (Ilgą laiką nėra atnaujinti) Originalus http://www.anqn.com/jiamijiemi/gongjujiqiao/2009-12-22/a09121848.shtml DNGuard HVM yra .NET kodo saugos produktas, suteikiantis stiprų .NET programinės įrangos produkto kodo ir autorių teisių apsaugos sprendimą. DNGuard stiprios šifravimo, užmaskavimo funkcijos ir HVM virtualios mašinos apsaugos funkcijos tuo pačiu apsaugo jūsų produktus, dar labiau apsaugo jūsų teisėtus interesus nuo nusikaltėlių, ir gali puikiai apsaugoti jūsų šaltinio kodą nuo dekompiliavimo ir nulaužimo be jokių šaltinio kodo pakeitimų.
Produkto peržiūra:
Techniniai privalumai: Vienas iš klausimų, į kurį reikia atsižvelgti kuriant .NET programinės įrangos produktus, yra tai, kaip apsaugoti kodą nuo atvirkštinio nulaužimo. Atvirkštinės inžinerijos prieigos prie kodo technologija egzistuoja jau seniai, o iš tikrųjų .NET rinkiniuose yra IL kodas ir turtingi metaduomenys, kuriuos galima lengvai nulaužti, neteisėtai modifikuoti ir perkompiliuoti. Kūrėjams, norintiems apsaugoti savo intelektinę nuosavybę, šis lengvas įtrūkimas kelia labai svarbią saugumo problemą.
Lutz Roeder's Reflector, Microsoft ILDASTM ir kiti .NET dekompiliatoriai gali lengvai peržiūrėti jūsų asamblėjos IL kodą, kad jūsų šaltinio kodą galėtų išmokti žmonės, turintys slaptų motyvų, kurie gali perkompiliuoti jūsų programinės įrangos produktą į asmeninę versiją, o jūsų intelektinė nuosavybė nėra apsaugota.
DNGuard Pro užšifruoja jūsų agregatų IL kodą, kad apsaugotų jūsų intelektinę nuosavybę. Kai užšifruotas rinkinys paleidžiamas, jį iššifruoja ir kompiliuoja "just-in-time" kompiliatorius (JIT); DNGuard analizės variklis užtikrina, kad bet kuriuo metu atmintyje egzistuotų bent vienas metodas, o tai užtikrina, kad krekeriai negalėtų išmesti jūsų surinkimo šaltinio kodo iš atminties.
DNGuard Enterprise turi HVM technologiją, kuri konvertuoja agregato IL kodą į HVM pseudokodą ir užšifruoja pseudokodą, kad užtikrintų geriausią jūsų intelektinės nuosavybės apsaugą. Kai paleidžiamas užšifruotas rinkinys, HVM kompiliatorius perduoda pseudokodą greitajam kompiliatoriui ir padeda kompiliatoriui kompiliuoti vietinį kodą tiesiai iš pseudokodo. HVM analizės variklis užtikrina, kad atmintyje niekada nebūtų IL kodo, o tai užtikrina, kad krekeriai neturėtų galimybės išmesti jūsų surinkimo šaltinio kodo iš atminties.
Kodu pagrįsti šifravimo sprendimai:
Kodo šifravimas naudoja standartinius šifravimo algoritmus, kad užšifruotų MSIL kodą, kad dekompiliatorius negalėtų nuskaityti šaltinio kodo, neleidžiant krekeriams atvirkštinio nulaužimo jūsų surinkimo. Kadangi užšifruotame kode nebėra MSIL struktūros, nei ILdasm, nei kiti dekompiliatoriai negali išmesti asamblėjos. Šiuo atžvilgiu negalima palyginti tradicinių neryškių metodų. Tačiau .NET sistema gali analizuoti tik standartinius bendrosios kalbos sąsajos (CLI) rinkinius, o tai reiškia, kad užšifruotas kodas galiausiai iššifruojamas, kad būtų vykdomas .NET vykdymo metu. Dauguma kodo apsaugos įrankių visiškai užšifruoja visą rinkinį ir iššifruoja jį vykdymo metu; Paprastai jie naudoja vietinį kodo krautuvą, kad inkapsuliuotų įvesties rinkinį (rinkinį, kuriame yra programos įvesties taškas), kad panašios klasės, metodai ir kita metaduomenų informacija nebūtų matoma ir nebūtų peržiūrėta naudojant standartinius .NET įrankius. Tačiau, jei programa vykdoma, vietinis kodo krautuvas iššifruos kodą, o atmintyje bus visiškai iššifruotas kodas, kad .NET vykdymo laikas būtų analizuojamas ir paleistas, o tai yra kažkas, ko dauguma kodo apsaugos įrankių nesupranta; Kai kodas bus visiškai atskleistas atmintyje kaip MSIL, krekeris gali išmesti kodą iš atminties, o tai taip pat kelia saugumo problemų.
Kuo DNGuard skiriasi nuo kitų kodo apsaugos įrankių?
*DNGuard užtikrina, kad jūsų MSIL kodas visada yra užšifruotas, vykdymo metu paleidžiamas .NET analizės modulio, analizuojant tik vieną metodą vienu metu, o MSIL kodas niekada nerodomas visoje atmintyje vienu metu. *Mūsų apsaugos įrankis nenaudoja vietinio kodo įkėlimo įrenginio, kuris apgaubia visą mazgą, todėl jį taip pat galite naudoti ASP.NET žiniatinklio programai užšifruoti. *Metaduomenų informacija išsaugoma nepažeista ir gali būti peržiūrėta naudojant standartinius .NET įrankius, todėl trečiųjų šalių palaikymo komponentai puikiai paskirstomi naudojant mūsų apsaugos įrankius. Dabar galite suteikti savo klientui apsaugotą .NET komponentą, kad jis neišsaugotų jūsų IP adreso, kai kuria savo programą.
Kuo HVM skiriasi nuo kiekvieno metodo apsaugos įrankio?
HVM yra virtualios mašinos technologija, atsakinga už tik vieno metodo apdorojimą vienu metu programos kodu ir niekada neiššifruojant metodo į MSIL formą; Jis tik iššifruoja metodus į dinaminį pseudokodą prieš kompiliuojant HVM kompiliavimo variklį, padedant kompiliatoriams generuoti vietinį kodą tiesiai iš pseudokodo. HVM analizės variklis užtikrina, kad atmintyje niekada nebūtų viso IL kodo.
|