Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 14165|Vastaus: 3

Tänään haluaisin esitellä avoimen lähdekoodin .net-obfuscatorin – ConfuserExin

[Kopioi linkki]
Julkaistu 5.1.2016 23.28.23 | | | |
Koska projektissa käytetään .net-obfuskaattoria, monet mallit haetaan verkossa, kuten Dotfuscator, xeoncode, foxit jne.

Mutta suurin osa maksuista on tietysti murrettuja versioita, ja yritys vaatii, että piraattiohjelmistoja ei saa käyttää.

Pitkän etsinnän jälkeen löysin vihdoin ConfuserEX:n, ja se oli käyttökelpoinen, joten otin sen nopeasti esiin ja jaoin kanssasi.


Koska internetissä on vähän kiinalaisia esittelyjä, teen tässä testin osoittaakseni sinulle:

1. Luo uusi C#-luokkakirjasto, en vaihda nimeä, kutsun sitä vain ClassLibrary1:ksi ja lisään yksinkertaisen metodin Class1.cs-luokan alle:




2. Luo toinen konsolisovellus ConsoleTest, lisää viite ClassLibrary1.dll ja kutsu testimetodi ClassLibrary1.Class1:ssä päämetodissa:






Käännösten jälkeen avaa ConsoleTest.exe ILSpyllä, ja näet lähdekoodin alla esitetyn mukaisesti:




3, Yritetään nyt sekoittaa ConfuserEx:

ConfuserExin lataamisen jälkeen avaa se ja avaa ConfuserEx.exe, kuten seuraavassa kuvassa näkyy:



4. Katsotko kehotteen "Vedä input-moduuleja tähän"?

Sitten laita ConsoleTest.exe juuri nyt, kuten alla olevassa kuvassa näkyy:



5. Klikkaa asetuksia
  • Select Packer
  • Moduulit->ConsoleTest.exe
  • Klikkaa +-merkkiä, niin saat säännöt, totta


Kuten alla on esitetty:



6. Klikkaa Protesti!->Suojaa! , mikä käynnistää onnistuneen viennin (Hämmentynyt hakemistossa),



7. Avaa ILspy... Hämmentyneenä, katso ConsoleTest.exe lähdekoodia:




Jos metodi on tyhjä, kopioi ConsoleTest.exe riippuvuuden ClassLibrary1.dll Sekaisin -hakemistoon, klikkaa Suorita ConsoleTest.exe ja tulosta oikea tulos.

Huomautus

8. Jos sekoitat vain exe-tiedoston, se on ok, jos sekoitat vain dll-tiedoston, näet seuraavan virheen:



Virhe: Ei suoritettavaa moduulia, ei suoritettavaa runkoa?

Eikö exe-tiedostoa ole? Laitetaan ConsoleTest.exe ja sekoitetaan se ClassLibrary1.dll, katso.

9. Edellisen menetelmän mukaan vedin ja pudotin ConsoleTest.exe ja ClassLibrary1.dll ConfuserExiin sekoittaakseni ne yhteen.

Kuten alla on esitetty:



Nopea onnistuminen.

10. Mutta avasimme sen uudelleen... Hämmentynyt, löysin vain sekavia ConsoleTest.exe tiedostoja, minne ClassLibrary1.dll katosi?

Etkö voi sekoittaa DLL-tiedostoa?

Älä huoli, klikataan ConsoleTest.exe kokeillaan, ai, mennään, se toimii onnistuneesti, kuten alla olevassa kuvassa näkyy:



Ainoa selitys tässä on, että ConfuserEx upottaa dll:n exe-tiedostoon.

Nyt sekava ConsoleTest.exe on 17KB, alkuperäinen ConsoleTest.exe on 5KB ja ClassLibrary1.dll myös 5KB.

11. Käytetään ILSpyä nähdäksemme ConsoleTest.exe, joka syntyy, kun ConsoleTest.exe ja ClassLibrary1.dll sekoitetaan samanaikaisesti.



En näe metodia, enkä viitattua dll-tiedostoa.

No, siinä kaikki tältä päivältä.

Liitteenä: Koska en löytänyt tapaa sekoittaa dll:ää erikseen keskipäivällä, tämä opiskelija löysi keinon iltapäivällä @四毛的家, ja lisään vielä sen, miten dll sekoitetaan erikseen.

Vaiheen 8 mukaan havaitsimme, että virhe raportoitiin, kun dll sekoitettiin EXE-menetelmän mukaan, ja meidän olisi pitänyt noudattaa alla olevia ohjeita:

Kun olet vetänyt dll:n ConfuserExiin, et voi valita Packeria asetuksista, vaan klikkaa oikealla olevaa kynänappia, kuten alla näkyy.



Kun klikkasin lyijykynänäppiä, Edit rule -valintaikkuna avautuu, valitse yksi kohde Presetistä, valitsen Maksimin, klikkaan alla olevaa "+"-painiketta, valitsen anti ildasm (kai estääkseni kääntämisen IL:n kautta), ja sitten vienti onnistuu.

Käytämme ILSpyä tarkistaaksemme juuri sekoittuneen ClassLibrary1.dll, kuten alla olevassa kuvassa näkyy,



Mitään ei näy.

Testatakseni saatavilla olevaa obfuscated dll:ää, laitoin unobfuscated ConsoleTest.exe ja obfuscated ClassLibrary1.dll yhteen hakemistoon, klikkaan Run ConsoleTest.exe ja onnistun.




Edellinen:[Pro-testi] C# suorittaa tallennetut proseduurit ja palauttaa GUID-pääavaimen
Seuraava:.net-sekava, shelling, confuserex v0.6.0 -kiinalaisen version opetus
 Vuokraisäntä| Julkaistu 5.1.2016 23.29.18 |
ConfuserEx tukee .NET-kehyksiä 2.0–4.5 ja Monoa (on olemassa myös muita .NET-kehyksiä):

Symbolin uudelleennimeäminen
WPF/BAML:n uudelleennimi
Ohjausvirtauksen hämärtyminen
Metodiviitteiden piilottaminen
Antidebuggerit/profiloijat
Muistin tyhjentämisen estäminen
Manipuloinnin esto
Upotetut riippuvuudet
Vakiosalaus
Resurssien salaus
Tulostuksen pakkaaminen
Laajennusplugin API
Julkaistu 6.1.2016 1.53.46 |
Kiitos kun jaoit, olen käyttänyt aiemmin versiota 4.0, ja vihdoin versio 6.0 on olemassa!
 Vuokraisäntä| Julkaistu 6.1.2016 7.58.20 |
Lynx Julkaistu 2016-1-6 01:53
Kiitos kun jaoit, olen käyttänyt aiemmin versiota 4.0, ja vihdoin versio 6.0 on olemassa!

No, viestitään lisää .net-teknologiasta
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com