Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: komponent do pakowania&szyfrowania

dla mojej aplikacji chcialbym stworzyc "zamkniety" format plikow
chialbym aby w jednym pliku:
- byly wszystkie pliki wymagane przez aplikacje
- aby plik "projektu" byl skompresowany
- aby plik byl zaszyfrowany
myslalem zeby wykorzystac 7zip'a jednakze jest problem z licencja.
dodatkowo, opcja typu:
-wypakuje do tempa
-zaczytaj
-skasuj tempa
mnie nie interesuje, czy ma ktos pomysl jak to zrobic, zeby projekt zostal rozpakowany do pamieci? np. jakis "virtualny, tymczasowy dysk"?

pozdrawiam

konto usunięte

Temat: komponent do pakowania&szyfrowania

Do kompresji możesz użyć OpenSourcowego SharpZipLib (http://sharpdevelop.net/OpenSource/SharpZipLib/) a do szyfrowania jest cała tona albo i ze dwie klas w .NET (Dlatego tak lubimy .NET'a i dlatego jest lepszy od: <Tu wpisz co chcesz>) :-) Z tego co pamiętam SharpZipLib używa strumieni, więc do dekompresji możesz użyć MemoryStream i po sprawie.
Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: komponent do pakowania&szyfrowania

wielkie dzieki

konto usunięte

Temat: komponent do pakowania&szyfrowania

Jeżeli nie chcesz używać zewnętrznych bibliotek do kompresji, możesz użyć GZipStream albo DeflateStream z frameworku.
Pamiętaj jednak że większość "zabezpieczeń" tego typu szybko pada, jako że kod .net bardzo ładnie się dekompiluje. Obfuscatory w starciu z doświadczonymi RE też zazwyczaj niewiele dają...

konto usunięte

Temat: komponent do pakowania&szyfrowania

Maciej O.:
Jeżeli nie chcesz używać zewnętrznych bibliotek do kompresji, możesz użyć GZipStream albo DeflateStream z frameworku.
Pamiętaj jednak że większość "zabezpieczeń" tego typu szybko pada, jako że kod .net bardzo ładnie się dekompiluje. Obfuscatory w starciu z doświadczonymi RE też zazwyczaj niewiele dają...
Dlatego siła zabezpieczeń powinna tkwić w kluczu...

konto usunięte

Temat: komponent do pakowania&szyfrowania

A dokładniej?

Jeżeli jestem w stanie zdekompilować program potrafiący odczytać plik, to jestem w stanie odtworzyć funkcjonalność do tego potrzebną. Nie pomoże tu nawet zastosowanie baardzo długiego klucza w szyfrowaniu asymetrycznym. W takim wypadku nie będę w stanie zapisać zmienionych danych ale z odczytem nie będzie problemu. Chyba że program ma także funkcjonalność zapisu, więc i ją można odtworzyć ;)
Przy algorytmach symetrycznych sprawa jest zazwyczaj jeszcze prostsza.

Zakładam tu oczywiście, że to program "zna" klucz, a nie za każdym razem pyta o niego użytkownika ;)Maciej O. edytował(a) ten post dnia 19.07.08 o godzinie 14:31

konto usunięte

Temat: komponent do pakowania&szyfrowania

Maciej O.:
A dokładniej?

Jeżeli jestem w stanie zdekompilować program potrafiący odczytać plik, to jestem w stanie odtworzyć funkcjonalność do tego potrzebną. Nie pomoże tu nawet zastosowanie baardzo długiego klucza w szyfrowaniu asymetrycznym. W takim wypadku nie będę w stanie zapisać zmienionych danych ale z odczytem nie będzie problemu. Chyba że program ma także funkcjonalność zapisu, więc i ją można odtworzyć ;)
Przy algorytmach symetrycznych sprawa jest zazwyczaj jeszcze prostsza.

Zakładam tu oczywiście, że to program "zna" klucz, a nie za każdym razem pyta o niego użytkownika ;)Maciej O. edytował(a) ten post dnia 19.07.08 o godzinie 14:31

To wszystko zależy przed kim chcesz uchronić dane i od tego gdzie przechowasz klucz. I myślę że to są najważniejsze pytania na które należy sobie odpowiedzieć.
A klucz można zabezpieczyć hasłem zakodowanym jednokierunkowo. Oczywiście to są tylko utrudnienia, bo jeżeli ktoś ma dostęp do konta użytkownika (zakładając że bazujemy na uprawnieniach systemu i ograniczamy prawo dostąpu do klucza), do aplikacji i do danych to i tak się włamie...

konto usunięte

Temat: komponent do pakowania&szyfrowania

Otóż to ;)
Chodziło mi raczej o to, że projektując np. "tajny" format pliku trzeba mieć na uwadze konsekwencje jakie to za sobą pociąga.

Następna dyskusja:

Komponent OCR




Wyślij zaproszenie do