Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14165|Atsakyti: 3

Šiandien norėčiau supažindinti jus su atvirojo kodo .net obfuscator - ConfuserEx

[Kopijuoti nuorodą]
Paskelbta 2016-01-05 23:28:23 | | | |
Kadangi projekte naudojamas .net obfuscator, internete ieškoma daugelio modelių, tokių kaip Dotfuscator, xeoncode, foxit ir kt.

Tačiau dauguma mokesčių, žinoma, yra nulaužtos versijos, o įmonė reikalauja, kad piratinė programinė įranga nebūtų naudojama.

Ilgai ieškojęs pagaliau radau "ConfuserEX" ir jį naudoti buvo gerai, todėl greitai jį išėmiau ir pasidalinau su jumis.


Kadangi internete yra nedaug kinų įžangų, aš čia padarysiu testą, kad parodyčiau jums:

1. Sukurkite naują C# klasės biblioteką, aš nekeisiu pavadinimo, tiesiog pavadinkite ją ClassLibrary1 ir pridėkite paprastą metodą pagal Class1.cs klasę:




2. Sukurkite kitą konsolės programą ConsoleTest, pridėkite nuorodos ClassLibrary1.dll ir iškvieskite bandymo metodą ClassLibrary1.Class1 pagrindiniame metode:






Sukompiliavę atidarykite ConsoleTest.exe naudodami ILSpy ir pamatysite šaltinio kodą, kaip parodyta toliau:




3, Dabar pabandykime supainioti su "ConfuserEx":

Atsisiuntę "ConfuserEx", išpakuokite jį ir atidarykite ConfuserEx.exe, kaip parodyta šiame paveikslėlyje:



4. Žiūrėkite raginimą "Vilkite įvesties modulius čia"?

Tada įdėkite ConsoleTest.exe tik dabar, kaip parodyta paveikslėlyje žemiau:



5. Spustelėkite Nustatymai
  • Pasirinkite Pakuotoją
  • Moduliai->ConsoleTest.exe
  • Spustelėkite ženklą + Taisyklės, teisinga


Kaip parodyta žemiau:



6. Spustelėkite Protestuoti!->Apsaugoti! , raginantis sėkmingai eksportuoti (kataloge Supainiotas),



7. Atidarykite su ILspy... Sutrikęs, pažvelkite į ConsoleTest.exe šaltinio kodą:




Jei metodas tuščias, nukopijuokite ConsoleTest.exe priklausomybių ClassLibrary1.dll į katalogą Supainiotas, spustelėkite Vykdyti ConsoleTest.exe ir įveskite teisingą rezultatą.

Banknotas

8. Jei tiesiog supainiosite exe failą, tai gerai, jei tiesiog supainiosite dll failą, pamatysite šią klaidą:



Klaida: nėra vykdomojo modulio, nėra vykdomojo teksto?

Ar nėra exe failo? Įdėkime ConsoleTest.exe ir supainiokime jį su ClassLibrary1.dll, žiūrėk.

9. Pagal ankstesnį metodą nutempiau ConsoleTest.exe ir ClassLibrary1.dll į ConfuserEx, kad juos supainiočiau.

Kaip parodyta žemiau:



Greita sėkmė.

10. Bet mes vėl jį atidarėme... Sutrikęs, rado tik supainiotas ConsoleTest.exe failus, kur ClassLibrary1.dll dingo?

Ar negalite supainioti DLL failo?

Nesijaudinkite, spustelėkime ConsoleTest.exe pabandykite, oi, aš einu, jis sėkmingai veikia, kaip parodyta paveikslėlyje žemiau:



Vienintelis paaiškinimas čia yra tas, kad ConfuserEx įterpia dll į exe.

Dabar painus ConsoleTest.exe yra 17 KB, o originalus ConsoleTest.exe yra 5 KB, o ClassLibrary1.dll taip pat yra 5 KB.

11. Naudokime ILSpy, kad pamatytume ConsoleTest.exe, sugeneruotą supainiojus ConsoleTest.exe ir ClassLibrary1.dll tuo pačiu metu.



Nematau metodo, taip pat nematau nurodyto dll failo.

Na, tai viskas šiandien.

Pridedama: Kadangi vidurdienį neradau būdo, kaip supainioti dll atskirai, šis studentas rado būdą po pietų @四毛的家, ir aš pridėsiu, kaip supainioti dll atskirai.

Atlikdami 8 veiksmą, nustatėme, kad buvo pranešta apie klaidą supainiojant dll pagal EXE metodą, ir turėjome atlikti toliau nurodytus veiksmus:

Nuvilkę dll į ConfuserEx, nustatymuose negalite pasirinkti Packer, bet spustelėkite pieštuko mygtuką dešinėje, kaip parodyta toliau.



Spustelėjus pieštuko mygtuką, pasirodo dialogo langas Redaguoti taisyklę, pasirinkite vieną elementą iš anksto, čia pasirenku Maksimalus, tada spustelėkite žemiau esantį mygtuką "+", pasirinkite anti-ildasm (manau, kad užkirstumėte kelią kompiliavimui per IL), ir tada eksportas sėkmingas.

Mes naudojame ILSpy, kad patikrintume ką tik supainiotą ClassLibrary1.dll, kaip parodyta paveikslėlyje žemiau,



Nieko nematyti.

Norėdami išbandyti galimą užmaskuotą DLL, įdėjau neužmaskuotą ConsoleTest.exe ir užmaskuotą ClassLibrary1.dll į vieną katalogą, spustelėkite Vykdyti ConsoleTest.exe ir pavyks.




Ankstesnis:[Pro-test] C# vykdo saugomas procedūras ir grąžina GUID pirminį raktą
Kitą:.net painus, apvalkalas, confuserex v0.6.0 kinų versija pamoka
 Savininkas| Paskelbta 2016-01-05 23:29:18 |
ConfuserEx palaiko .NET frameworks 2.0 - 4.5 ir Mono (yra ir kitų .NET sistemų):

Simbolio pervardijimas
WPF/BAML pervadinimas
Valdykite srauto užmaskavimą
Metodo nuorodos slėpimas
Apsaugos nuo derintuvų / profiliavimo įrenginių
Anti-atminties dempingas
Apsauga nuo klastojimo
Įdėtosios priklausomybės
Nuolatinis šifravimas
Išteklių šifravimas
Išvesties glaudinimas
Plėtinio papildinio API
Paskelbta 2016-01-06 01:53:46 |
Ačiū už pasidalinimą, aš naudoju 4.0 prieš, ir pagaliau 6.0 egzistuoja!
 Savininkas| Paskelbta 2016-01-06 07:58:20 |
Lūšis Publikuota: 2016-1-6 01:53
Ačiū už pasidalinimą, aš naudoju 4.0 prieš, ir pagaliau 6.0 egzistuoja!

Na, leiskite komunikuoti daugiau .net technologijos
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com