Articole - xenocode postbuild pentru

Articole - xenocode postbuild pentru

Inovatiile se nasc la intersectia stiintelor. Produse interesante de software - la intersecția dintre tehnologii.

Xenocode Postbuild for .NET este un hibrid de două tehnologii. Pe de o parte, acesta este un obfuscator de calitate cu caracteristici extinse de protecție și optimizare a codului. Pe de altă parte, este un sistem de virtualizare. Vă permite să transformați aplicația în toate ansamblurile și DLL-ul într-un singur fișier executabil, care nu trebuie să fie instalat pentru a funcționa chiar și pentru .NET Framework. Postbuild pentru NET este capabil de a proteja codul aplicației împotriva inginerie inversă și decompilare, optimiza performanta aplicatiilor, reduce dimensiunea cererii de pe disc și în memorie pentru a simplifica procesul de distribuție și de depanare.







Funcționalitate extrem de utilă pentru dezvoltatori. Funcționalitatea care rezolvă două probleme: problema protecției și problema distribuției aplicației .NET.

Protecția aplicațiilor este un proces netrivial. Protecția aplicațiilor .NET este doar o durere de cap. Codul dezvoltat pentru .NET Framework este compilat în limba intermediară IL. Codul compilat conține metadate care descriu structura codului, clase, metode, evenimente. În practică, metadatele au un beneficiu enorm. În același timp, acestea dau un efect secundar neplăcut: în codul compilat, se salvează prea multe informații despre codul sursă al programului. Folosind un program special decompilator, oricine poate extrage această informație și poate recupera majoritatea codului sursă al aplicației. Deci, dacă ați lansat un program scris sub .NET și nu ați avut grijă de protecția acestuia, puteți presupune că ați publicat codul sursă în open source.

Cu această problemă, obfuscate codul. Obfuscatorii transformă codul aplicației compilate astfel încât să facă dificilă sau imposibilă decompilarea acesteia. Codul obosit poate fi teoretic decomprimat și studiat. Dar acest proces nu este mult mai ușor decât decompilarea codului mașinii, adică este dificil, durează mult timp și efort. Obfuscatorii distrug majoritatea informațiilor la nivel înalt despre programul dvs., păstrând în același timp programul 100% funcțional.

Distribuirea unei aplicații .NET implică următoarele aspecte. În primul rând, versiunea necesară .NET Framework trebuie instalată pe mașina client. Al doilea - tehnologia de dezvoltare în cadrul .NET presupune "multibandness". Aplicația trebuie dezvoltată ca un set de ansambluri separate - fișiere. În principiu, nimic teribil. Aplicațiile cu un singur fișier, din anumite motive, cauzează utilizatorilor mult mai multă simpatie decât aplicațiile, formate din sute de fișiere mici. În cele din urmă, multe aplicații includ componente COM care trebuie să fie înregistrate în registrul Windows când se instalează, ceea ce înseamnă că aveți nevoie de drepturi de administrator, astfel încât să nu puteți implementa instalări cu un singur clic.

Problemele de distribuție similare au rezolvat cu mult și cu succes virtualizarea aplicațiilor. Aplicația este un container virtual, care devine un intermediar între sistemul de operare și aplicație. Containerul "împinge" aplicația cu versiuni virtuale ale sistemului de registru și de fișiere. Aplicația pare să scrie în registru, pare să creeze un fișier pe unitatea C și de fapt toate modificările sunt rezolvate de container într-un director special - caseta de nisip. Sistemul de operare nu vede toate aceste modificări. Și pentru aplicație, totul pare întotdeauna ca și cum schimbările s-au produs în sistemul de operare. Pentru această tehnologie sunt create versiuni portabile de aplicații, atât de populare în ultima vreme.

Virtualizarea rezolvă toate problemele de distribuție de mai sus. Aplicația poate funcționa fără drepturi de administrator. Aplicația nu trebuie instalată - toate componentele COM, bibliotecile, ansamblurile din aplicația virtuală sunt deja înregistrate. O aplicație virtuală arată ca un fișier executabil care include toate fișierele necesare, chiar și .NET Framework. Fugiți și lucrați.

Postbuild pentru .NET este capabil să transforme cu ușurință cererea dvs. de la ordinare la portabil. Și nu este surprinzător - unul dintre produsele lansate de Xenocode este Virtual Application Studio, un concurent direct pentru VMWare ThinApp. Sistemul de virtualizare integrat în Postbuild oferă avantaje suplimentare față de sistemele de virtualizare individuale. Postbuild este capabil să determine care fișiere .NET Framework sunt de fapt utilizate de aplicația dvs. și să le includeți numai în containerul virtual. Deci, aveți o mare oportunitate de a minimiza dimensiunea aplicației dvs. portabile.







Deci, protecția și distribuția, obfuscația și virtualizarea. Ne uităm cât de convenabil este Postbuild în practică.

Protejarea unei aplicații utilizând Postbuild pentru .NET

Fila principală este Aplicație. Aici specificați ansamblurile pe care doriți să le protejați. Aici alegeți una dintre presetările prestabilite, cea mai potrivită pentru aplicația dvs. Postbuild oferă șapte seturi: protecție față de lumină, agresivă, protecție pentru aplicații distribuite prin Faceți clic o dată, aplicații ASP.NET, aplicatii NET Compact Framework, pentru protecția ansamblurilor de resurse și un set de opțiuni pentru depanare. Un clic - proiectul este configurat pentru tipul de aplicație selectat. Apăsând butonul Xenocode Application - Postbuild creează o versiune sigură a aplicației. Nu se întâmplă mai repede.

Articole - xenocode postbuild pentru

Fereastra pentru selectarea ansamblurilor aplicației protejate

Dacă doriți, puteți ajusta aplicația. Pentru a face acest lucru, Postbuild are patru file suplimentare - pentru a configura parametrii de obfuscation, optimizare, virtualizare și asamblare a aplicației.

Articole - xenocode postbuild pentru

Parametrii de confuzie a codului

Postbuild vă permite să optimizați codul aplicației. Este posibil să optimizați atât performanța, cât și cantitatea de memorie utilizată. Postbuild este capabil să recunoască și să șterge porțiuni de cod neutilizate - este suficient să specificați posibilele puncte de intrare Postbuild la aplicație. Postbuild poate chiar să elimine informațiile neutilizate din metadate pentru a reduce dimensiunea acestora. În plus, dimensiunea metadatelor poate fi redusă prin înlocuirea numelor simbolurilor de cod cu nume mai scurte. De exemplu, clasa de nume MyClass poate fi înlocuită cu numele "a".

Articole - xenocode postbuild pentru

Opțiunile de optimizare a codului

Postbuild acceptă așa-numitul mod de obfuscare incrementală. În acest mod, confuzia stochează legăturile dintre ansambluri în forma corectă. Obfuscarea tuturor numelor se face pe baza unei parole comune, astfel încât aceleași nume în diferite ansambluri să fie transformate uniform și să se păstreze conexiunile între ansambluri.

Fila Virtualize specifică opțiunile de virtualizare a aplicațiilor. Aveți opțiunea de a seta metadatele aplicației finite (nume, descriere, numărul versiunii), parametrii aplicației de vizualizare la pornire (imagine pentru splash ecran la pornire, domeniul de aplicare al transparenței), precum și opțiunile de virtualizare. Setul de parametri, apropo, este destul de amplu. Puteți selecta comportamentul dorit de procese copil (le execută într-un mediu virtual sau în sistemul de operare gazdă), pentru a da comanda pentru a șterge automat spațiul de siguranță atunci când aplicația, refuza cererea de a face schimbări în mediul virtual și așa mai departe.

Articole - xenocode postbuild pentru

Setările procesului de virtualizare

Ultima fila, Ieșire, vă permite să setați parametrii pentru generarea aplicației. Steagurile pot specifica asocierea tuturor ansamblurilor aplicației într-un fișier, includerea informațiilor de diagnosticare în aplicație, conversia codului gestionat în codul nativ. Puteți specifica numele fișierului MSI rezultat, selectați directorul în care va fi plasat fișierul rezultat.

Articole - xenocode postbuild pentru

Setări de generare de coduri

Rămâne să adăugăm că fila Application are o caracteristică interesantă - de a încorpora așa-numitele filigrane în codul aplicației. informații de utilizator (numele, numărul de serie) pot fi încorporate într-o aplicație într-o formă vizibilă (afișată în „Despre“ sau de startare) codul binar de asamblare, precum și în. Hackerii au spart și au prezentat aplicația dvs. pe Internet? Prin filigran, puteți urmări utilizatorul care a fost vândut instanței ulterioare hacked a aplicației.

Integrarea cu Visual Studio

Postbuild se integrează în Visual Studio, astfel încât procesul de procesare a ansamblului folosind Postbuild este ușor de automatizat.

Fișierul proiectului Postbuild este specificat în setările pluginului. În mod implicit, toate ansamblurile de proiecte sunt prelucrate automat de Postbuild după fiecare compilare reușită. Postbuild actualizează ansamblul de intrare (le exemplare din directorul bin în locația specificată în fișierul de proiect), apoi asamblare Postbuild prelucrate și fișierele rezultate sunt salvate într-un subdirector este creat automat în directorul proiectului Xenocode. Toate aceste automatizări, dacă doriți, pot fi dezactivate în setările pluginului.

Articole - xenocode postbuild pentru

Postbuild setările plug-in în Visual Studio

Postbuild oferă capabilități de depanare pentru ansamblul obosit. De exemplu, este capabil să convertească informațiile despre stiva de apel din vizualizarea obfuscată la normal.

Postbuild vă permite să specificați setările procesului de obfuscare chiar în textul aplicației. Acest lucru se face folosind atributele speciale declarate în Xenocode.Client.dll. Utilizarea atributelor pot fi definite setările de redenumire obiecte alege presetări controlul fluxului de control includ confuzia mintală suprimarea și așa mai departe dezasambla.

Postbuild acceptă lucrul din linia de comandă. Prin urmare, procesul de protejare a aplicației poate fi ușor inclus în procesul de asamblare automată.

Postbuild pentru .NET. Pro și contra

Postbuild pentru .NET este un produs foarte interesant. Abilitatea de a împărtăși obfuscările, optimizarea și virtualizarea aplicațiilor .NET oferă oportunități largi dezvoltatorilor. Capacitatea de a proteja în mod fiabil codul aplicație NET de ochii indiscreti, instalarea și distribuirea de aplicații ușor, ușor de utilizat interfață, integrare completă cu Visual Studio - toate acestea, în opinia mea, face Postbuild pentru NET unul dintre cele mai bune moduri de a proteja aplicațiile .NET.

În ceea ce privește neajunsurile, aș observa lipsa unui manager de licență. Folosind Postbuild numai pentru .NET, va fi totuși dificilă protejarea completă a aplicației.







Trimiteți-le prietenilor: