NET mlžení tools / strategie

hlasů
146

Můj výrobek má několik složek: ASP.NET, Windows Forms App a Windows Service. 95% nebo tak kódu je napsáno v VB.NET.

Z důvodů k duševnímu vlastnictví, musím poplést kódu, a to až do teď jsem používal verzi Dotfuscator který je nyní více než 5 let. Myslím, že je čas přejít na nový nástroj generace. To, co jsem hledal je uveden seznam požadavků, které bych měl zvážit při hledání nového obfuscator.

To, co vím, že by měl vypadat tak daleko:

  • Serialization / De-serializace . Podle mého stávajícího řešení, jsem prostě říct, nástroj není poplést žádné členy třída data, protože ta bolest není schopen načíst data, která byla dříve serializovat je prostě příliš velký.
  • Integrace s procesu sestavení
  • Práce s ASP.NET . V minulosti jsem našel toto problematické kvůli změně jména DLL (které často mají jeden na straně) - což ne všechny nástroje zvládne dobře.
Položena 05/08/2008 v 17:20
zdroj uživatelem
V jiných jazycích...                            


31 odpovědí

hlasů
49

Zkoušeli jsme řadu obfuscators. Žádný z nich pracuje na velkém klient / server aplikace, která používá vzdálené komunikace. Problém je v tom, že klient a server sdílejí některé dlls, a my jsme nenašli žádnou obfuscator, že to zvládne.

Snažili jsme se Dotfuscator Pro, SmartAssembly, XenoCode, Salamander, a několik drobných časových aplikací, jejichž názvy uniknout mě.

Upřímně řečeno, jsem přesvědčen, že zmatek je velký hack.

Dokonce i problém, který řeší není úplně skutečný problém. Jediná věc, kterou opravdu potřebují chránit je připojovací řetězce, aktivační kódy, citlivých bezpečnostních takové věci. Tento nesmysl, že jiná společnost se chystá na zpětné analýze celý codebase a vytvořit konkurenční produkt ze je to něco z paranoidní manažera noční můra, není realita.

Odpovězeno 07/08/2008 v 19:15
zdroj uživatelem

hlasů
39

Já jsem ‚po kolena‘ v tom teď snaží najít dobré řešení. Zde jsou mé dojmy tak daleko.

Xenocode - Mám starou licenci na Xenocode2005 který jsem používal pro zamlžování můj NET 2.0 sestavy. Fungovalo to dobře na XP a byla slušná řešení. Můj současný projekt je .net 3.5 a jsem na Vista, podpora mi řekl, abych to zkusit, ale verze pro rok 2005 ani pracovat na Windows Vista (selhání), takže jsem a teď musím koupit ‚PostBuild2008‘ přibližuje gobsmacking cenu ve výši $ 1900. To by mohlo být dobrým nástrojem, ale nebudu to zjistit. Příliš drahé.

Reactor.Net - To je mnohem atraktivnější cenu bod a fungovalo to dobře na mé Samostatný Executeable. Modul licencí bylo také příjemné a byl by mě zachránil spoustu úsilí. Bohužel, je to chybí klíčový prvek, a to je schopnost vyloučit věci z mlžení. Díky tomu je možné dosáhnout výsledku jsem potřeboval (sloučit několik sestav dohromady, poplést některé, ne-poplést další).

SmartAssembly - Stáhnul jsem eval za to a fungovalo bezchybně. Byl jsem schopen dosáhnout všechno, co jsem chtěl a Interface byl prvotřídní. Cena bod je ještě trochu robustní.

Dotfuscator Pro - Nelze najít cenu na webových stránkách. V současné době v diskusích, aby si cenovou nabídku. Zní zlověstně.

Konfuzor - open-source projekt, který funguje docela dobře (zaměnit PPL, stejně jako název napovídá). https://confuser.codeplex.com/
(přidal jgauffin)

Poznámka: ConfuserEx je údajně „zlomené“ podle Vydání # 498 na své GitHub repo.

Odpovězeno 11/05/2009 v 07:04
zdroj uživatelem

hlasů
39

Zpět s .Net 1.1 zmatek byl nezbytný: rozklad kód byl jednoduchý, a ty by mohly jít ze sestavy, IL, do kódu C # a mít ji znovu sestaven s velmi malým úsilím.

Nyní s .Net 3.5 Nejsem si vůbec jistý. Zkuste dekompilace 3,5 sestavu; co dostanete, je dlouhá cesta z kompilace.

Přidejte optimalizací od 3,5 (mnohem lepší než 1.1) a způsob, jakým anonymní typy, delegátů a tak dále jsou zpracovány pomocí odrazu (jsou to noční můra překompilovat). Přidejte lambda výrazy, kompilátor ‚magic‘ jako Linq-syntaxe a vara C # 2 funkce, jako je yield(což má za následek nové třídy s nečitelné názvy). Váš rozložit kód končí dlouhá cesta od kompilovatelný.

Profesionální tým se spoustou času může ještě zvrátit zpět inženýr, ale pak totéž platí o jakémkoliv pozměněném kódu. Jaký kód se dostali ven, že by neudržitelný a vysoce pravděpodobné, že bude velmi buggy.

Doporučuji key-podepisování sestavení (to znamená, pokud hackeři mohou překompilovat jednu budou muset překompilovat všechny), ale nemyslím si, že mlžení to stojí za to.

Odpovězeno 12/08/2008 v 13:19
zdroj uživatelem

hlasů
21

Pokud je váš zájem o volné ten, který by se mohl pokusit DotObfuscator Community Edition, který je dodáván s Visual Studio nebo Eazfuscator.NET .


Vzhledem k tomu, 29. června 2012 , Eazfuscator.NET je nyní obchodní. Poslední volný dostupná verze je 3.3.

Odpovězeno 05/08/2008 v 17:30
zdroj uživatelem

hlasů
18

Byl jsem pomocí smartassembly. V podstatě si vyberete dll a vrátí to popletl. Zdá se, že funguje dobře a já jsem neměl žádné problémy tak daleko. Velmi, velmi snadné použití.

Odpovězeno 05/08/2008 v 17:21
zdroj uživatelem

hlasů
10

Zkoušel jsem téměř každý obfuscator na trhu a SmartAssembly je nejlepší podle mého názoru.

Odpovězeno 07/08/2008 v 11:44
zdroj uživatelem

hlasů
8

Byl jsem také pomocí SmartAssembly. Zjistil jsem, že Ezrinz NET reaktoru mnohem lepší pro mě na .NET aplikací. To zatemňuje, podporují Mono, sloučí sestavy a zároveň má také velmi pěkný licenční modul pro vytváření zkušební verzi nebo propojit licenci na konkrétní stroj (velmi snadno implementovat). Cena je také velmi konkurenční, a když jsem potřeboval podporu, kterou kde rychle. Eziriz

Jen aby bylo jasno, že jsem jen zákaznické kdo má rád produkt a v žádném případě v souvislosti s firmou.

Odpovězeno 22/08/2008 v 18:41
zdroj uživatelem

hlasů
7

Stručná odpověď je, že nemůžete.

Existují různé nástroje, kolem které bude dělat to těžší pro někoho přečíst kód - z nichž některé byly poukázal další odpovědi.

Nicméně, všechny tyto udělat, je to těžší ke čtení - zvyšují množství úsilí potřebného, ​​to je všechno. Často je to dost odradit příležitostné čtenáře, ale někdo, kdo je odhodlán kopat do kódu bude vždy mít možnost tak učinit.

Odpovězeno 16/07/2009 v 22:45
zdroj uživatelem

hlasů
6

Máme multi tier aplikace s ASP.NET a WinForm rozhraní, které podporuje i vzdálené komunikace je. Měl jsem žádné problémy s používáním jakýkoliv obfuscator s výjimkou typu šifrovacího který vytváří nakladač, který může být problematický v nejrůznějších neočekávaných cestách a prostě nestojí za to podle mého názoru. Vlastně moje rada by byla více v duchu „Vyhnout šifrování typu nakladač obfuscators jako moru“. :)

Podle mých zkušeností se některý obfuscator funguje s jakýmkoliv aspektem .NET včetně ASP.NET a vzdálené komunikace, stačí, aby se intimní s nastavením a naučit se, jak daleko můžete ho tlačit do které oblasti kódu. A mít čas, aby se pokusili reverzní inženýrství na to, co dostanete a uvidíte, jak to funguje s různými nastaveními.

Použili jsme několik v průběhu let v našich komerčních aplikacích a usadil se na koření obfuscator z 9rays.net, protože cena je správná, to dělá svou práci a mají dobrou podporu když jsme opravdu ještě potřebuje podporu v letech už ale abych byl upřímný, Nemyslím si, že to ve skutečnosti záležitostí, které Obfuscator používáte, problémy a zaučení jsou všechny stejné, pokud chcete, aby si to správně pracovat s vzdálené komunikace a ASP.NET.

Jak již bylo uvedeno jiné všechno, co opravdu dělají, je ekvivalent visacího zámku, vedení jinak poctivé lidi a nebo ztěžují jednoduše překompilovat aplikace.

Licencování je obvykle klíčovou oblastí pro většinu lidí a měli byste určitě používat nějaký digitálně podepsaného certifikátu systému pro licencování tak jako tak. Váš největší ztráta bude pocházet z běžné sdílení licencí v případě, že nemáte inteligentní systém na místě, lidé, kteří porušují licenční systém se nikdy koupit na prvním místě.

Je to opravdu snadné, aby se toto příliš daleko a mají negativní dopad na zákazníky a vaše podnikání, dělat to, co je jednoduché a rozumné a pak se nemusíte starat o to.

Odpovězeno 16/11/2008 v 20:57
zdroj uživatelem

hlasů
5

Crypto Obfuscator vyřešit všechny své problémy a scénáře. To :

  1. Automaticky vyloučí typů / členy z mlžení založené na pravidlech. Serializované typy / pole jsou jedním z nich.
  2. To může být integrován do procesu výstavby pomocí MSBuild.
  3. Podporuje projekty ASP.NET.
Odpovězeno 09/10/2009 v 10:42
zdroj uživatelem

hlasů
5

V posledních dvou dnech jsem experimentoval s Dotfuscator Community Edition pro pokročilé (volně ke stažení po registraci základní CE, který se dodává s Visual Studio).

Myslím, že důvod, proč stále více lidí nepoužívají mlžení jako výchozí možností je, že je to vážná hádka ve srovnání s rizikem. Na menších zkušebních projektů bych mohl dostat obfuscated kód běží s velkou námahou. Nasazení jednoduchý projekt pomocí ClickOnce bylo nepříjemné, ale dosažitelné po ručním podpisem manifesty s mágem. Jediný problém byl, že při chybě trasování zásobníku vrátil zatemnil a CE nemá deobfuscator nebo čistička zabalen.

Snažil jsem se zamlžovat skutečný projekt, který je založen VSTO v Excelu, s Virtual Earth integrace, spoustou Webservice hovorů a kontejneru MOV a mnoho ze zamyšlení. Bylo to nemožné.

Pokud zmatek je opravdu kritický požadavek, měli byste navrhnout aplikaci s tím na mysli od samého počátku, testováním popletl staví, jak budete postupovat. V opačném případě, pokud se jedná o poměrně složitý projekt, budete skončit s vážnou množstvím bolesti.

Odpovězeno 04/02/2009 v 23:40
zdroj uživatelem

hlasů
3

Našel jsem Agile.Net poskytne docela dobrou ochranu pro váš .NET shromáždění, protože nabízejí nejen mlžení, ale i šifrování. Stáhněte si zdarma stopu.
http://secureteam.net/NET-Code-Protection.aspx http://secureteam.net/downloads.aspx

Odpovězeno 03/09/2013 v 16:26
zdroj uživatelem

hlasů
3

Vyhnout reaktoru. Je to zcela zbytečné (a ano, jsem zaplatil za licenci). Xenocode bylo to nejlepší, co jsem se setkal a koupil licenci na příliš. Podpora byla velmi dobrá, ale nepodařilo se mi to muset hodně jak to prostě nefungovalo. Testoval jsem všechny obfuscator bych mohl najít a můj závěr je, že xenocode byl zdaleka nejrobustnější a udělal nejlepší práci (také možnost psát proces svůj NET exe nativní exe, který jsem neviděl nikde jinde.).

Existují dva hlavní rozdíly mezi reaktorem a xenocode. První z nich je, že Xenocode skutečně funguje. Druhým důvodem je, že rychlost provádění svých sestav se v ničem neliší. S reaktorem to bylo asi 6 milionů krát pomalejší. Také jsem nabyl dojmu, že reaktor byl jeden muž operace.

Odpovězeno 04/05/2011 v 10:43
zdroj uživatelem

hlasů
3

Dalo by se použít "Dotfuscator Community Edition" - to je ve výchozím nastavení v aplikaci Visual Studio 2008 Professional. Můžete si o tom přečíst na adrese:

http://msdn.microsoft.com/en-us/library/ms227240%28VS.80%29.aspx
http://www.preemptive.com/dotfuscator.html

Dále jen „profesionální“ verze produktu stojí peníze, ale je lepší.

Myslíte si opravdu potřebujete kód popletl? Obvykle je velmi málo nesprávné s aplikací je rozložit, pokud se používá pro bezpečnostní účely. Pokud se obáváte o lidech, „krádež“ váš kód, nebuďte; drtivá většina lidí, kteří hledají na váš kód bude k výukovým účelům. Mimochodem, není zcela efektivní mlžení strategie pro NET - někoho s dostatkem dovednosti budou vždy schopny rozkládat / změna, kterou aplikace.

Odpovězeno 16/07/2009 v 22:47
zdroj uživatelem

hlasů
3

Měl jsem žádné problémy s Smartassembly.

Odpovězeno 16/09/2008 v 12:12
zdroj uživatelem

hlasů
3

Nedávno jsem se snažil potrubí výstup z jednoho volného obfuscator do dalšího volného obfuscator - jmenovitě Dotfuscator CE a nové Babel obfuscator na CodePlex. Další podrobnosti na mém blogu .

Pokud jde o serializaci, jsem navrhl, aby kód do jiného DLL a součástí, které v rámci projektu. odůvodněné jsem, že tam nebyly žádné tajemství tam, které nejsou ve formátu XML stejně, takže to nepotřeboval mlžení. Pokud existuje nějaký vážný kód v těchto třídách, s použitím částečné třídy v hlavní sestavě by měl pokrývat.

Odpovězeno 11/09/2008 v 12:53
zdroj uživatelem

hlasů
3

Byste měli používat to, co je nejlevnější a nejlépe známý pro svou platformu a nazývat to den. Zmatek jazyků na vysoké úrovni, je obtížný problém, protože VM operační kód proudy netrpí dvou největších problémů nativní operační kód proudy dělat: funkce / metody a aliasingu zaregistrovat.

Co byste měli vědět o bytecode couvání je to, že je již běžnou praxí pro bezpečnostní testery přečíst rovnou X86 kód a najít slabá místa v něm. V surovém X86, nemůžete být nutně ani najít platný funkce, natož sledovat lokální proměnné v průběhu volání funkce. V téměř žádném případě dělat nativní kód reversers mít přístup k funkci a názvy proměnných --- pokud nejsou revizi Microsoft kód, který MSFT ochotně poskytuje tyto informace veřejnosti.

„Dotfuscation“ funguje hlavně kódovací funkce a názvy proměnných. Je to asi lepší, jak to udělat, než zveřejní kód s informacemi debug úrovni, kde je reflektor doslova dává svůj zdrojový kód. Ale vše, co udělat, než to je pravděpodobné, že dostat se do klesajících výnosů.

Odpovězeno 10/09/2008 v 22:38
zdroj uživatelem

hlasů
2

Zde je dokument od společnosti Microsoft sám. Naděje, která pomáhá ..., je to od roku 2003, ale to by mohlo být stále relevantní.

Odpovězeno 16/07/2009 v 22:38
zdroj uživatelem

hlasů
2

Byl jsem plést kód v rámci jedné žádosti od Net 1, a to byl hlavní problém z hlediska údržby. Jak jste zmínil, je problém serializace je možné se vyhnout, ale je to opravdu snadné udělat chybu a poplést něco, co jste nechtěli obfuscated. Je to snadné zlomit sestavení, nebo pro změnu mlžení vzor a nebudou moci otevřít staré soubory. A navíc to může být obtížné zjistit, co se stalo a kde.

Naše volba byla Xenocode, a kdybych se rozhodnout dnes znovu bych raději ne poplést kód, nebo použít Dotfuscator.

Odpovězeno 21/08/2008 v 21:31
zdroj uživatelem

hlasů
1

Tam je dobrý open source verze volala Obfuscar. Zdá se, že funguje dobře. Druhy, vlastnosti, pole, mohou být vyloučeny metody. Originál je zde: https://code.google.com/p/obfuscar/ , ale od té doby se zdá, že není možné již aktualizován, někdo jej vidlicový zde: https://obfuscar.codeplex.com/

Odpovězeno 19/12/2013 v 05:24
zdroj uživatelem

hlasů
1

Musel jsem použít ochranu na mlžení / zdroje ve svém nejnovějším rpoject a našel Crypto Obfuscator jako příjemné a snadno použitelný nástroj. Otázkou serializace je jen otázkou nastavení v tomto nástroji.

Odpovězeno 22/04/2011 v 12:18
zdroj uživatelem

hlasů
1

volný způsob, jak by bylo použít Dotfuscator zevnitř Visual Studio, jinak youd jít ven a koupit obfuscator jako Postbuild ( http://www.xenocode.com/Landing/Obfuscation.aspx )

Odpovězeno 16/07/2009 v 22:38
zdroj uživatelem

hlasů
1

To vše závisí na programovacím jazyku, který používáte. Přečtěte si článek: popletl kód

Odpovězeno 16/07/2009 v 22:31
zdroj uživatelem

hlasů
1

Používáme SmartAssembly našeho okna klienta. Funguje v pohodě.

Má přidat nějaké další problémy taky. Vytisknout své názvy tříd v log souborech / výjimky musí být zbaveno popletl. A samozřejmě nelze vytvořit třídu od jejího názvu. Takže je to dobrý nápad, aby se podíval na svého klienta a zjistit, jaké problémy můžete získat od zamlžování.

Odpovězeno 04/04/2009 v 12:28
zdroj uživatelem

hlasů
0

SmartAssembly je skvělé, jsem byl použit ve většině svých projektů

Odpovězeno 01/12/2010 v 05:49
zdroj uživatelem

hlasů
0

Já také použít smartassembly. Nicméně, já nevím, jak to funguje pro webové aplikace. Nicméně bych chtěl poukázat na to, že pokud vaše aplikace používá ochranu typu shareware, ujistěte se, že nekontrolují licenci s boolean návratu. je to příliš snadné byte trhliny. http://blogs.compdj.com/post/Binary-hack-a-NET-executable.aspx

Odpovězeno 04/04/2009 v 11:53
zdroj uživatelem

hlasů
0

Můžete také chtít podívat na nové technologie pro ochranu kód, jako je Metaforic a ViLabs a nových technologií software ochranu proti kopírování, jako ByteShield . Disclosure: Pracuji pro ByteShield.

Odpovězeno 03/01/2009 v 19:56
zdroj uživatelem

hlasů
-1

Zamlžování není skutečná ochrana.

Máte-li soubor NET exe tam je mnohem lepší řešení.

Používám Themida a lze říci, že to funguje velmi dobře.

Jedinou nevýhodou Themida je to, že nemůže chránit .NET DLL. (To také chrání C ++ kód Exe a DLL)

Themida je daleko levnější než zde uvedených obfuscators a je nejlepší v anti- pirátství ochranu na trhu. Vytváří virtuální stroj byly kritické části kódu jsou provozovány a provozuje několik závitů, které detekují manipulaci nebo zarážky nastavené cracker. Převádí .NET Exe do něčeho, co reflektor ani uznat jako sestavení .NET ještě.

Přečtěte si podrobný popis na svých internetových stránkách: http://www.oreans.com/themida_features.php

Odpovězeno 06/03/2014 v 04:03
zdroj uživatelem

hlasů
-1

Zkoušel jsem Eziriz demoverzi .... se mi to líbilo. Ale nikdy přinesl software.

Odpovězeno 04/09/2009 v 04:21
zdroj uživatelem

hlasů
-2

Zkuste použít tuto službu http://morpher.com/

Použil jsem ji na jeden projekt.

Odpovězeno 27/12/2013 v 11:22
zdroj uživatelem

hlasů
-2

Snažil jsem se o produkt s názvem přehrabovat a dělá dobrou práci v tom vám nějakou kontrolu ... I když to postrádá mnoho věcí, které Eziriz nabízí, ale cena za přehrabovat je příliš dobré ...

Odpovězeno 06/09/2013 v 18:27
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more