Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 14165|Válasz: 3

Ma szeretném bemutatni egy nyílt forráskódú .net obfuszkátort – a ConfuserEx-et

[Linket másol]
Közzétéve 2016. 01. 05. 23:28:23 | | | |
Mivel a projektben a .net obfuszkátort használják, számos modellt keresnek online, például Dotfuscator, xeoncode, foxit stb.

De a legtöbb díj természetesen feltört verziók is vannak, és a cég előírja, hogy kalóz szoftvereket ne használhassanak fel.

Hosszú keresés után végül megtaláltam a ConfuserEX-et, és használható volt, ezért gyorsan elővettem, és megosztottam veled.


Mivel kevés kínai bevezetés van az interneten, itt egy tesztet fogok elvégezni, hogy megmutassam nektek:

1. Hozz létre egy új C# osztálykönyvtárat, nem változtatom meg a nevet, csak ClassLibrary1-nek hívom, és egy egyszerű metódut adok hozzá az Class1.cs osztály alá:




2. Hozzon létre egy másik konzolalkalmazást ConsoleTest, adjon hozzá egy hivatkozási ClassLibrary1.dll, és hívja a teszt metódust a ClassLibrary1.Class1 Fő metódusban:






Fordítás után nyisd meg az ConsoleTest.exe-t az ILSpy-vel, és megnézheted a forráskódot az alábbiak szerint:




3, Most próbáljuk összekeverni a ConfuserEx-szel:

A ConfuserEx letöltése után bontsd ki a csomagot, és nyisd ki a ConfuserEx.exe-t, ahogy az alábbi ábrán látható:



4. Látod a "Húzd be a modulokat ide" promptot?

Aztán tedd a ConsoleTest.exe most, ahogy az alábbi képen is látható:



5. Kattints a Beállításokra
  • Select Packer
  • Modulok->ConsoleTest.exe
  • Kattints a + jelre a szabályokhoz, igaz


Ahogy az alábbiakban látható:



6. Kattints Tiltakozás!->Védj! , ami sikeres exportot eredményez (a Zavart könyvtárban),



7. Nyisd meg az ILspy-vel... Összezavarodva, nézd meg ConsoleTest.exe forráskódot:




Ha a metódus üres, másold ki a ConsoleTest.exe függőség ClassLibrary1.dll a Zavaros könyvtárba, kattints a Run ConsoleTest.exe gombra, és a helyes eredményt add ki.

Megjegyzés

8. Ha csak összekevered az exe fájlt, az rendben van, ha csak egy dll fájlt keversz, a következő hibát fogod látni:



Hiba: Nincs futtatható modul, nincs futtatható test?

Nincs exe fájl? Tedd be a ConsoleTest.exe, és keverjük össze ClassLibrary1.dll-vel, nézd.

9. Az előző módszer szerint a ConsoleTest.exe és ClassLibrary1.dll a ConfuserExbe húztam és dobtam a , hogy összekeverjem őket.

Ahogy az alábbiakban látható:



Gyors siker.

10. De újra kinyitottuk... Összezavarodva, csak összezavarodott ConsoleTest.exe fájlokat találtam, hová tűntek ClassLibrary1.dll?

Nem tudod összekeverni a DLL fájlt?

Ne aggódj, kattintsunk ConsoleTest.exe próbáljuk meg, ó, megyök, sikeresen fut, ahogy az alábbi képen is látható:



Az egyetlen magyarázat itt az, hogy a ConfuserEx beágyazza a dll-t az exe-be.

Most a zavaros ConsoleTest.exe 17KB, míg az eredeti ConsoleTest.exe 5KB, és a ClassLibrary1.dll is 5KB.

11. Használjuk az ILSpy-t, hogy lássuk a ConsoleTest.exe generált, miután egyszerre összezavartuk a ConsoleTest.exe és ClassLibrary1.dll.



Nem látom a módszert, és nem látom a hivatkozott dll fájlt sem.

Nos, ennyi volt mára.

Csatolva: Mivel délben nem találtam módot arra, hogy külön összekeverjem a dll-t, ez a diák délutáni @四毛的家 talált egy módot, és hozzáadom, hogyan lehet külön összekeverni a dll-t.

A 8. lépés szerint azt találtuk, hogy hibát jelentettek, amikor a dll összekeverése az EXE módszer szerint, és az alábbi lépéseket kellett volna követnünk:

Miután elhúztad a dll-t a ConfuserEx-be, nem választhatod a Packer opciót a beállításokban, de kattints a jobb oldali ceruza gombra, ahogy lent látható.



A ceruza gomb megnyomása után megjelenik a Szerkesztés szabály párbeszédablak, kiválasztok egy elemet az Előbeállításból, itt a Maximum gombot választom, majd az alábbi "+" gombra kattintok, az anti ildasm opciót választom (gondolom, hogy megakadályozzam az IL-en keresztüli fordítást), és az export sikeres lesz.

Az ILSpy-t használjuk az épp összezavarodott ClassLibrary1.dll ellenőrzésére, ahogy az alábbi ábrán is látható,



Semmi sem látható.

A rendelkezésre álló elhomályosított dll teszteléséhez egy könyvtárba tettem az elrejtett ConsoleTest.exe és az elrejtett ClassLibrary1.dll, rákattintok a Run ConsoleTest.exe gombra, és sikerült.




Előző:[Pro-teszt] C# végrehajtja a tárolt eljárásokat, és visszaadja a GUID elsődleges kulcsot
Következő:.net zavaros, shelling, confuserex v0.6.0 kínai verziós tutorial
 Háziúr| Közzétéve 2016. 01. 05. 23:29:18 |
A ConfuserEx támogatja a .NET keretrendszereket 2.0–4.5 és Mono verziókat (más .NET keretrendszerek is léteznek):

Szimbólum átnevezése
WPF/BAML átnevezés
A vezérlőáramlás elrejtése
Metódushivatkozás elrejtése
Hibakeresők/profilálók
Memória dumping ellen
Manipulációellenes
Beágyazott függőségek
Konstans titkosítás
Erőforrás-titkosítás
Kimenet tömörítése
Extension plugin API
Közzétéve 2016. 01. 06. 1:53:46 |
Köszi, hogy megosztottad, korábban is használtam a 4.0-t, és végre létezik a 6.0!
 Háziúr| Közzétéve 2016. 01. 06. 7:58:20 |
Lynx 2016-1-6 01:53-on írva
Köszi, hogy megosztottad, korábban is használtam a 4.0-t, és végre létezik a 6.0!

Nos, kommunikáljunk több .net technológiával
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com