Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14165|Odgovoriti: 3

Danes bi vam rad predstavil odprtokodni .net obfuscator - ConfuserEx

[Kopiraj povezavo]
Objavljeno na 5. 01. 2016 23:28:23 | | | |
Ker se v projektu uporablja .net obfuscator, je veliko modelov iskanih na spletu, kot so Dotfuscator, xeoncode, foxit itd.

Večina stroškov pa je seveda v različicah crackanih, podjetje pa zahteva, da piratska programska oprema ne sme biti uporabljena.

Po dolgem iskanju sem končno našel ConfuserEX, ki je bil v redu za uporabo, zato sem ga hitro vzel ven in delil z vami.


Ker je na internetu malo uvodov v kitajščino, bom tukaj opravil test, da vam to pokažem:

1. Ustvariti novo knjižnico razredov v C#, imena ne bom spreminjal, samo poimenoval jo bom ClassLibrary1 in pod razred Class1.cs dodal preprosto metodo:




2. Ustvarite še eno konzolno aplikacijo ConsoleTest, dodajte referenčni ClassLibrary1.dll in pokličite testno metodo v ClassLibrary1. Class1 v glavni metodi:






Po prevajanju odprite ConsoleTest.exe z ILSpy in lahko vidite izvorno kodo, kot je prikazano spodaj:




3, Zdaj poskusimo zamenjati z ConfuserEx:

Po prenosu ConfuserEx ga razpakirajte in odprite ConfuserEx.exe, kot je prikazano na naslednji sliki:



4. Vidite poziv "Povleci vhodne module tukaj"?

Nato zdaj postavite ConsoleTest.exe, kot je prikazano na spodnji sliki:



5. Kliknite Nastavitve
  • Izberi Packer
  • Moduli->ConsoleTest.exe
  • Kliknite na znak + za pravila, res


Kot je prikazano spodaj:



6. Kliknite Protest!->Zaščitite! , ki sproži uspešen izvoz (v mapi Confused),



7. Začni z ILspy... Zmeden, poglejte ConsoleTest.exe izvorno kodo:




Če je metoda prazna, kopirajte ClassLibrary1.dll ConsoleTest.exe odvisnosti v mapo Confused, kliknite Run ConsoleTest.exe in izpišite pravilen rezultat.

Opomba

8. Če samo zamenjate exe datoteko, je to v redu, če zamenjate samo dll datoteko, boste videli naslednjo napako:



Napaka: Ni izvršljivega modula, ni telesa izvršljive datoteke?

Ali ni exe datoteke? Vstavimo ConsoleTest.exe in ga zamenjajmo s ClassLibrary1.dll, poglej.

9. Po prejšnji metodi sem ConsoleTest.exe in ClassLibrary1.dll potegnil in spustil v ConfuserEx, da bi ju zmedel skupaj.

Kot je prikazano spodaj:



Takojšnji uspeh.

10. Ampak smo ga spet odprli... Zmeden, najden le zmeden ConsoleTest.exe datotekah, kam ClassLibrary1.dll šel?

Ne moreš zamenjati datoteke dll?

Ne skrbi, kliknimo ConsoleTest.exe poskusimo, oh, grem, deluje uspešno, kot je prikazano na spodnji sliki:



Edina razlaga tukaj je, da ConfuserEx vgradi dll v exe.

Zdaj je zmedena ConsoleTest.exe 17KB, medtem ko je originalni ConsoleTest.exe 5KB, ClassLibrary1.dll pa prav tako 5KB.

11. Uporabimo ILSpy za ogled ConsoleTest.exe, ki nastane po zamenjavi ConsoleTest.exe in ClassLibrary1.dll hkrati.



Ne vidim metode, prav tako ne vidim referenčne dll datoteke.

No, to je za danes vse.

Priloženo: Ker nisem našel načina, da bi zamenjal dll ločeno opoldneva, je ta študent našel način popoldne @四毛的家, in dodal bom, kako zamenjati dll posebej.

Po koraku 8 smo ugotovili, da je bila napaka prijavljena pri zamenjavi dll po metodi EXE, zato bi morali slediti spodnjim korakom:

Ko povlečete dll v ConfuserEx, v nastavitvah ne morete izbrati Packerja, ampak kliknete gumb s svinčnikom na desni, kot je prikazano spodaj.



Po kliku na gumb s svinčnikom se odpre pogovorno okno Uredi pravila, izberem en element v Prednastavitvi, tukaj izberem Največ, nato kliknem gumb "+" spodaj, izberem anti ildasm (predvidevam, da preprečim prevajanje prek IL), in izvoz je uspešen.

Uporabljamo ILSpy za preverjanje ClassLibrary1.dll, ki je bil pravkar zmeden, kot je prikazano na spodnji sliki,



Nič ni videti.

Za testiranje zamegljenega dll, ki je na voljo na voljo, sem nezamegljeno ConsoleTest.exe in zamegljeno ClassLibrary1.dll postavil v eno imenik, kliknil Run ConsoleTest.exe in uspel.




Prejšnji:[Pro-test] C# izvaja shranjene postopke in vrne primarni ključ GUID
Naslednji:.net zmeda, shelling, confuserex v0.6.0 vodič za kitajsko različico
 Najemodajalec| Objavljeno na 5. 01. 2016 23:29:18 |
ConfuserEx podpira .NET ogrodja 2.0 - 4.5 in Mono (obstajajo tudi druga .NET ogrodja):

Preimenovanje simbola
Preimenovanje WPF/BAML
Zamegljanje krmilnega toka
Skrivanje referenčnih metod
Anti-razhroščevalci/profilerji
Protipomnilniško izlaganje
Protiposeganje
Vgrajene odvisnosti
Stalno šifriranje
Šifriranje virov
Kompresijski izhod
API za razširitvene vtičnike
Objavljeno na 6. 01. 2016 01:53:46 |
Hvala, ker si delil, prej sem uporabljal 4.0 in končno obstaja 6.0!
 Najemodajalec| Objavljeno na 6. 01. 2016 07:58:20 |
Lynx Objavljeno 6. 1. 2016 ob 01:53
Hvala, ker si delil, prej sem uporabljal 4.0 in končno obstaja 6.0!

No, komunicirajmo več o .net tehnologiji
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com