2013-05-03 15 views
6

'Ponownie,Rozproszenie BAML w aplikacji WPF

Moje wysiłki w zakresie rozdrabniania są kontynuowane! Obecnie pracuję nad zaciemnianiem rozsądnej, skomplikowanej aplikacji WPF składającej się z ~ 38 zespołów. Teraz, gdy pokonałem już problemy z wydajnością (Speeding up obfuscation process), przeszedłem teraz do testowania możliwości zaciemniania BAML w Dotfuscator v4.10.

Kłopot w tym, że nie działa - błędy (dobrze, Ostrzeżenia), które są generowane są z tej samej postaci, dla których mogę znaleźć nic na „netto, który omawia:

BamlAnalysis flagged something in Data Binding Path: SOMEFIELDNAME in 
SOMERESOURCEPATHTOBAML.baml for the following reasons: 
Could not resolve, may have to manually exclude. 

Ktoś się z tym zetknie i ma jakiś wgląd w to, do cholery, że chce, bym to zmieniła?

[EDYCJA:] Nawet ustawienie ręcznych wykluczeń na nieruchomościach, na które skarży się, nie usuwa ostrzeżenia ... i nie wydaje się, żeby podstawowy znak BAML został w ogóle zmieniony (przynajmniej nie poprzez kontrolę wzrokową za pośrednictwem reflektor).

[EDIT2:] Ponadto, należy podać, że Dotfuscator jest wymogiem tutaj, więc alternatywne narzędzia prawdopodobnie mi nie pomogą.

+0

Miło znów z tobą porozmawiać. +1 przydatne pytanie. –

+1

Niestety, te ostrzeżenia nie znikną po wykluczeniu. Problem polega zasadniczo na tym, że "widzimy właściwość o nazwie Foo ... ale nie mamy pojęcia, do której klasy należy". Tak, wydajemy ostrzeżenie o tym, ale bardzo trudno jest wiedzieć, że wyłączyliście to również właściwie ... więc nie ma sposobu na pozbycie się ostrzeżeń :( – Earlz

+0

Argh, miałem złe przeczucia ... dzięki dla informacji @Earlz - i heya HighCore :) – JerKimball

Odpowiedz

-2

Możesz spróbować użyć najnowszej wersji Eazfuscator.NET do zaciemniania złożonych aplikacji WPF. Zmiana nazwy XAML opiera się na doskonałym analizatorze, który uwzględnia powiązania, polecenia i każdy inny aspekt XAML, aby zapewnić dokładne wyniki.

+0

Są przypadki, w których "idealne" jest niemożliwe, nawet przy dynamicznej analizie. Powiązanie danych jest szczególnie trudne, ponieważ DataContext może zmienić się na dowolny obiekt w dowolnym momencie. Nie będę się spierać, czy Eazfuscator jest lepszy czy gorszy, bo oczywiście będę stronniczy, ale słowo "idealny" prawdopodobnie nie jest tutaj odpowiednie. – Earlz

+0

Wymagania klienta są niestety wymagania klienta; to powiedziawszy, widzę trudność w zaciemnianiu tego, co jest efektywnym zachowaniem tylko w środowisku wykonawczym. – JerKimball