Zaciemniacz kodu.

0

Piszę dodatek do AutoCADa w C#.

Zastanawiam się nad zastosowaniem jakiegoś zaciemniacza kodu. Próbowałem kilku komponentów, ale zastosowanie ich do całej mojej biblioteki owocowało błędami w AutoCADzie.

Pomyślałem sobie, że klasę odpowiedzialną za zarządzanie licencją (sprawdzanie kluczu, generowanie kodu żądania) skompiluję jako osobną bibliotekę i poprzez jedną funkcję (CheckValidation(userKey)) będę się odwoływać do funkcji tej biblioteki.

Ale zastanawiam się, czy użytkownik jest w stanie stworzyć swoją bibliotekę w tej samej przestrzeni nazw co oryginalna biblioteka do licencji i funkcją CheckValidation(string userKey), która zawsze zwracać będzie wartość "true".
Czy taki scenariusz jest możliwy? Jestem programistą-hobbystą, więc nie wszystko muszę wiedzieć :)

Czy bawić się w zaciemnianie kodu czy jest to z góry daremne?
Ewentualnie, który komponent w wersji darmowej mógłby spełnić moje oczekiwania (zaciemnić kod przy jednoczesnym nie generowaniu błędów)? Testowałem wiele, i wiele jest niestety płatnych.

0

Istnieje coś takiego jak PublicKeyToken, kiedy wykonujesz referencjonowanie biblioteki. Jesteś w stanie podpisać kryptograficznie swoją bibliotekę, tak, że w przypadku jeśli ktoś bibliotekę podmieni na inną, nie podpisaną, program wygeneruje błąd. Nawet mam wrażenie, że to dzieje się automatycznie, jeśli biblioteka jest podpisana.

http://en.csharp-online.net/.NET_CLR_Components%E2%80%94Public_Keys_and_Assemblies
http://www.akadia.com/services/dotnet_assemblies.html#Version%20Control%20and%20Signing

0

@Ktos

Dzięki za naprowadzenie. Zdaje się działać :)
Teraz pozostało znalezienie jakiegoś zaciemniacza, co nie pochrzani mi klucza :P Spróbuję dotfuscatora, bo w biurze mam expressa tylko ;)

Jeśli się uda, to myślę, że to mi wystarczy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1