See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 14165|Vastuse: 3

Täna tahaksin tutvustada teile avatud lähtekoodiga .net obfuscatorit – ConfuserExi

[Kopeeri link]
Postitatud 05.01.2016 23:28:23 | | | |
Kuna projektis kasutatakse .net obfuscatorit, otsitakse veebis palju mudeleid, nagu Dotfuscator, xeoncode, foxit jne.

Aga enamik tasudest on muidugi murtud versioonid ning ettevõte nõuab, et piraattarkvara ei tohi kasutada.

Pärast pikka otsimist leidsin lõpuks ConfuserEX-i ja seda oli okei kasutada, nii et võtsin selle kiiresti välja ja jagasin teiega.


Kuna internetis on vähe hiina tutvustusi, teen siin testi, et teile näidata:

1. Loo uus C# klassi teek, ma ei muuda nime, nimetan selle lihtsalt ClassLibrary1-ks ja lisan Class1.cs klassi alla lihtsa meetodi:




2. Loo teine konsoolirakendus ConsoleTest, lisa viite ClassLibrary1.dll ja kutsu testmeetod ClassLibrary1.Class1 peamise meetodi kaudu:






Pärast kompileerimist ava ConsoleTest.exe ILSpy-ga ja näed lähtekoodi allpool näidatud:




3, Nüüd proovime segamini ajada ConfuserExiga:

Pärast ConfuserExi allalaadimist avage see ja avage ConfuserEx.exe, nagu näidatud järgmisel joonisel:



4. Vaata prompti "Lohista siia sisendmoodulid"?

Siis pane ConsoleTest.exe just praegu, nagu alloleval pildil näha:



5. Klõpsa Seaded
  • Select Packer
  • Moodulid->ConsoleTest.exe
  • Klõpsa + märgile, et näha reeglid, õige


Nagu allpool näidatud:



6. Klõpsa Protest!->Kaitse! , mis viitab edukale ekspordile (segaduses kaustas),



7. Alusta ILspyga... Segaduses, vaata ConsoleTest.exe lähtekoodi:




Kui meetod on tühi, kopeeri ConsoleTest.exe sõltuvuste ClassLibrary1.dll segaduses kausta, klõpsa Run ConsoleTest.exe ja väljasta õige tulemus.

Märkus

8. Kui sa lihtsalt ajad exe-faili segamini, on see okei, kui sa ajad segamini dll-faili, näed järgmist viga:



Viga: Puudub käivitatav moodul, puudub käivitatav keha?

Kas exe-faili pole? Paneme ConsoleTest.exe sisse ja ajame ClassLibrary1.dll segamini, vaata.

9. Eelmise meetodi järgi lohistasin ja kukutasin ConsoleTest.exe ja ClassLibrary1.dll ConfuserExi, et need omavahel segamini ajada.

Nagu allpool näidatud:



Kiire edu.

10. Aga me avasime selle uuesti... Segaduses, leidis ainult segaduses ConsoleTest.exe failid, kuhu ClassLibrary1.dll kadusid?

Kas sa ei saa DLL-faili segamini ajada?

Ära muretse, klikkime ConsoleTest.exe proovime, oh, ma lähen, see töötab edukalt, nagu alloleval pildil näha:



Ainus seletus siin on see, et ConfuserEx manustab dll-faili exe-sse.

Nüüd on segane ConsoleTest.exe 17KB, algne ConsoleTest.exe 5KB ja ClassLibrary1.dll samuti 5KB.

11. Kasutame ILSpyt, et näha ConsoleTest.exe, mis tekib pärast ConsoleTest.exe ja ClassLibrary1.dll samaaegset segamist.



Ma ei näe meetodit ega viidatud dll faili.

Noh, tänaseks on kõik.

Kinnitatud: Kuna ma ei leidnud võimalust dll-i eraldi segamini ajada keskpäeval, leidis see õpilane @四毛的家 pärastlõunal viisi, ja lisan juurde, kuidas dll-i eraldi segamini ajada.

8. sammu järgi leidsime, et dll-i segamini ajamisel EXE meetodi järgi teatati viga ning oleksime pidanud järgima alljärgnevaid samme:

Pärast dll-i lohistamist ConfuserExi ei saa seadetes valida Packerit, vaid klõpsa paremal oleval pliiatsinupul, nagu allpool näidatud.



Pärast pliiatsinuppu vajutamist ilmub Edit reegli dialoogiaken, vali üks element Presetist, valin siin maksimumi ja siis vajutan allolevale "+" nupule, valin anti ildasm (ilmselt selleks, et vältida kompileerimist IL-i kaudu), ja siis eksport õnnestub.

Kasutame ILSpyt, et kontrollida just segamini ajatud ClassLibrary1.dll, nagu alloleval joonisel näidatud,



Midagi ei paista.

Et testida saadaolevat obfuscated dll-i, panin unobfuscated ConsoleTest.exe ja obfuscated ClassLibrary1.dll ühte kausta, klõpsan Run ConsoleTest.exe ja õnnestun.




Eelmine:[Pro-test] C# täidab salvestatud protseduurid ja tagastab GUID põhivõtme
Järgmine:.net segane, shelling, confuserex v0.6.0 Hiina versiooni õpetus
 Üürileandja| Postitatud 05.01.2016 23:29:18 |
ConfuserEx toetab .NET raamistikke 2.0–4.5 ja Mono (on olemas ka teisi .NET raamistikke):

Sümboli ümbernimetamine
WPF/BAML ümbernimetus
Juhtimisvoo varjamine
Meetodi viidete peitmine
Silurid/profiilijad
Anti mälu dumping
Manipuleerimise vastu
Manustatud sõltuvused
Konstantne krüpteerimine
Ressursside krüpteerimine
Väljundi tihendamine
Laienduse plugina API
Postitatud 06.01.2016 01:53:46 |
Aitäh jagamast, olen varem kasutanud versiooni 4.0 ja lõpuks on olemas ka 6.0!
 Üürileandja| Postitatud 06.01.2016 07:58:20 |
Lynx Postitatud 2016-1-6 01:53
Aitäh jagamast, olen varem kasutanud versiooni 4.0 ja lõpuks on olemas ka 6.0!

Noh, suhtleme rohkem .net tehnoloogiaga
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com