[c#] Szyfrowanie aplikacji C#

0

Witam

Czy jest jakaś możliwość zaszyfrowania pliku .exe działającego pod .NETem?
Wiem że istnieją narzędzia umożliwiające podgląd kodu C#, niemalże go odtwarzając (niewiele brakuje, a można stworzyć projekt od podstaw.)
I teraz pytanie - jak napisać algorytm szyfrujący cokolwiek w C#, skoro mozna go odtworzyć?
Użycie jakiegos programu mieszającego w kodzie, zmieniającego nazwy zmiennych wydaje mi się co najmniej idiotyczne (zresztą to też nie daje żadnej gwarancji).
A co, jakbym chciał ukryć jakiegoś stringa w kodzie?
Jest na to jakies rozwiazanie, czy trzeba zmieniać język? (Trochę mnie to irytuje.)

Bo jeśli każdy kod można odtworzyć, pisanie jakichkolwiek bezpiecznych aplikacji (albo o skomplikowanych rozwązaniach, które chcę ukryć i nie pozwolić komukolwiek ich używać) mija się z celem.

Słowem - pomocy. :P

0

Kod mozna zaciemnic, ale tak czy inaczej zeby taki kod wykonac musi byc on w IL, czyli jezyku-posredniku miedzy maszyna wirtualna .NET a prockiem. Stad ciezko jest pisac aplikacje, tak, zeby nie dalo sie ich odczytac.

Inna natomiast kwestia jest :

pisanie jakichkolwiek bezpiecznych aplikacji

Bo to zalezy co rozumiesz przez 'bezpieczna' aplikacje. Skoro mowisz o ukrywaniu stringa, to przychodzi na mysl kodowanie np. hasla do bazy. Zaden chyba jezyk nie uchroni Cie przed odczytaniem tegoz stringa.

0
CSharpUser napisał(a)

Bo jeśli każdy kod można odtworzyć, pisanie jakichkolwiek bezpiecznych aplikacji (...) mija się z celem.

Współczesna kryptografia zakłada, że algorytm szyfrowania jest powszechnie znany, a jedynie klucz(e) stanowi(ą) informację tajną. W tym sensie bezpieczna aplikacja pozostaje bezpieczną nawet po ujawnieniu kodu źródłowego.

Tak, czy inaczej, każdy kod (C#, C, Assembler, ...) jest do odwrócenia i przeanalizowania.

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