Jak zabezpieczyć program napisany w delphi ?

Jak zabezpieczyć program napisany w delphi ?

Wątek zablokowany 2012-12-27 01:18 przez Demonical Monk.

F1
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:50
0

Witam niedawno ktoś zdekomplikował lub zrobił co innego sam nie wiem ... i dostał dane których nie powinien... jest jakiś dobry sposób na zabezpieczenie aplikacji przed tego typu atakami ?

edytowany 1x, ostatnio: olesio
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

To temat rzeka, może niech się inni wypowiedzą. Na pewno nie należy trzymać żadnych poufnych rzeczy w exeku niczym nie obfuscowanym ani nie spakowanym. Jednak zdolny reverser jak się uprze to złamie każde zabezpieczenie. To tylko kwestia czasu. Do zabezpieczenia są różne narzędzia i rozwiązania.


Pozdrawiam.
edytowany 1x, ostatnio: olesio
Opi
"obfuscowanym" ? A co to za słowo ?
LN
normalne ;p od rzeczownika "obfuskacja", czyli zaciemnianie kodu źródłowego.
Azarien
Był kiedyś taki suchy dowcip: Jakie jest ulubione danie Izabeli Scorupco? Canapca z jajcem.
F1
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:50
0

No wiem że w 100% aplikacji nie zabezpiecze tylko chodzi mi o to aby pierwszy lepszy laik nie znalazł tych danych nie dałoby tutaj czasem jakieś szyfrowanie stringów ?

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Pewnie by się dało. Na totalnych laików wystarczą jakieś proste algo. Nawet oparte o jakiś xor czy szyfr cezara. Na google masz pełno róznych przykladowych algorytmów oraz informacji.


Pozdrawiam.
edytowany 1x, ostatnio: olesio
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około godziny
  • Lokalizacja:Tuchów
  • Postów:12175
0

jest jakiś dobry sposób na zabezpieczenie aplikacji przed tego typu atakami ?

Ale zabezpieczenie czego i gdzie? Nie wysiliłeś się jeśli chodzi o opis problemu; Nie wiemy co chcesz zabezpieczyć więc nie wiadomo co Ci doradzić;

tylko chodzi mi o to aby pierwszy lepszy laik nie znalazł tych danych nie dałoby tutaj czasem jakieś szyfrowanie stringów ?

A co znajduje się w tych łańcuchach? Hasła jakieś, inne poufne informacje? Tak jak kolega wyżej napisał nie tyle można, a trzeba szyfrować te łańcuchy; Jeśli dostęp do aplikacji będą mieli jedynie totalne noob'y, to szyfr cezara i tak wystarczy, ale jeśli ktoś bardziej doświadczony to ww. szyfr nie wystarczy; Można zastosować znane implementacje algorytmów czy to dwustronnych, czy funkcji skrótu, ale nie dość, że trzeba mieć o nich pojęcie, to jeszcze trzeba umieć je zaimplementować i dostosować do własnych potrzeb;

Na obecny stan informacji o problemie mogę jedynie polecić dobry algorytm szyfrujący i zapis ważnych danych do plików amorficznych - przysłowiowy "matoł" nie będzie potrafił choćby otworzyć pliku binarnego (bo większość laików nie wie co to HexEdytor), a co dopiero przeanalizować jego zawartość, wyciągnąć odpowiednie bloki i odszyfrować je; Ktoś kto zajmuje się RE poradzi sobie, jeśli w ogóle będzie się opłacało poświęcać czas na wyciągnięcie tych poufnych informacji;

Jak powszechnie wiadomo nie ma zabezpieczeń idealnych/nie do złamania więc jest się nad czym zastanawiać;


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
Opi
  • Rejestracja:ponad 20 lat
  • Ostatnio:14 dni
  • Postów:1030
0

Siłę zabezpieczenia stosuje się w zależności od tego co ma być zabezpieczone.

Im dane są cenniejsze, tym szyfrowanie/zabezpieczanie jest bardziej skomplikowane, przechodzi przez kilka deszyfracji.
Do prostych zabezpieczeń wystarczą popularne metody podane na tym forum.

0

Ja korzystam z exe-protectora Pelok i od ładnych paru lat żadnego cracka do naszego oprogramowania nie widziałem. A różne systemy testowałem na VCL jakieś komponenty, zawsze to ktoś połamał.

Opi
  • Rejestracja:ponad 20 lat
  • Ostatnio:14 dni
  • Postów:1030
0

I każdy antywirus przyczepia się, że program jest typu "Generic", co sugeruje, że AV ma podejrzenia. A to wystarczy, aby w większości antywirusów automatycznie skasować potencjalne zagrożenie.

Takie są efekty wszelkich mało znanych pakerów + szyfratorów binarek.

Demonical Monk
  • Rejestracja:ponad 17 lat
  • Ostatnio:12 miesięcy
0

Jak znam życie nic takiego nie byłoby konieczne przy sensownym designie aplikacji, a szczególnie protokołu wymiany danych.


Women were the reason I became a monk - and, ah, the reason I switched back...
F1
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:50
0

program łączy się z bazą danych mysql i są tam dane do bazy ;/

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Gorlice
0

Trzeba te dane jakoś szyfrować jak chcesz zabezpieczyć to przed laikiem który chce przeglądać exe za pomocą hexedytora lub jakiegoś programu wyszukującego stringi to wystarczy jakieś szyfrowanie i nie musi być żaden zaawansowany algorytm może być nawet zwykłe xor natomiast jeżeli coś poważniejszego to silniejszy algorytm lub steganografia (ukrywasz tekst w innych danych np. obrazku lub pliku dźwiękowym, obrazkiem mógłby być np. z pozoru niewinny splash screen programu) ale tak naprawdę nie da się zabezpieczyć na 100% jak ktoś się uprze użyje debuggera postawi breakpoint na funkcję łączenia się z bazą i znajdzie twoje dane "na tacy". Są różne sposoby aby utrudnić debugowanie, deasemblację ale jak ktoś się uprze i ma odpowiednią wiedzę to jak już ktoś napisał każde zabezpieczenie można złamać to tylko kwestia czasu.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
F1
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:50
0

najbardziej chodzi o tego hex editora i desamblacje :(

KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:6 miesięcy
  • Postów:2514
0

trzymaj dane na jakimś zewnętrznym serwerze i pobieraj je z niego po wpisaniu prawidłowego hasła. np.: piszesz prostą stronkę w php która zwraca te dane jeśli wysłałeś w formularzu prawidłowe dane (poprawny user/pass). Wszystko co masz zapisane w EXE jest potencjalnie do odczytania


░█░█░█░█░█░█░█░█░█░█░█░
F1
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:50
0

krwq mógłbyś dać jakiś przykład ?

Opi
  • Rejestracja:ponad 20 lat
  • Ostatnio:14 dni
  • Postów:1030
0

Pobieranie danych z serwera powoduje, że mamy do rozwiązania co najmniej dwa problemy z zabezpieczeniem.

  1. Szyfrowanie wewnętrzne danych do połączenia
  2. Połączenie szyfrowane w celu pobrania danych / Pobranie zaszyfrowanych danych

I kwestia dostępu do internetu...

Zaletą jednak tego rozwiązania jest to, że w momencie wykrycia złamania zabezpieczenia, możemy odciąć dostęp do danych np.: zmianą hasła / wyłączeniem serwera.

Demonical Monk
  • Rejestracja:ponad 17 lat
  • Ostatnio:12 miesięcy
0

Gadacie tak nieprofesjonalne durnoty że aż serce boli. Żadnych xorów albo innych wymysłów. Postawić sensowny frontend i tyle! Problem przestaje istnieć.


Women were the reason I became a monk - and, ah, the reason I switched back...
edytowany 1x, ostatnio: Demonical Monk
KA
No tak zapomniałem że szukamy mega super pro rozwiązania przed jak wspomniał odczytaniem tekstu w hexedytorze panie profesjonalisto (ps. z takim podejściem zmieniłbym rangę)
Demonical Monk
No tak, zapomniałem że jak zwykle na 4p propagujemy partactwo i 'hakierstwo' zamiast faktycznie przemówić głosem rozsądku.
Programm3r
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 12 lat
  • Postów:40
0

@kAzek Racja całkowita. Można je w pewien sposób zaszyfrować, lecz zawsze się ktoś znajdzie, kto odszyfruje stringa.

Zaszyfrować można również metodą bez używania wszelkiego typu programów, lecz niestety, niesie to za sobą "skutki uboczne" - program waży więcej.
Jeśli autor postu jest zainteresowany, poproszę o napisanie na PW. Nie będę tutaj tego pisać, ponieważ jest to długie do wytłumaczenia.

Oczywiście, jest opcja szyfrowania za pomocą programu do tego przeznaczonego. O tym decyduje już sam autor aplikacji.

@Demonical Monk FrontEnd też jest dobrym rozwiązaniem. Jak najbardziej.

Pozdrawiam!


* Piszę poprawnie po polsku. * ”Sprawdzanie postępów programisty za pomocą liczby linii kodu, które napisał, jest jak sprawdzanie postępów w budowaniu samolotu poprzez przyrost jego wagi” – Bill Gates
edytowany 3x, ostatnio: Programm3r
Demonical Monk
  • Rejestracja:ponad 17 lat
  • Ostatnio:12 miesięcy
1

Autor wątku napisał że potrzebuje zabezpieczyć połączenie z bazą danych, to o jakim szyfrowaniu wy, za przeproszeniem, pieprzycie?
Coś takiego jest w stanie rozsadzić dowolny gimbus wyposażony w debugger i nie dość że zmodyfikuje/zniszczy dane innych użytkowników to jeśli ma IQ przynajmniej 1 powyżej ślinienia jest w stanie stworzyć istotne zagrożenie dla innych użytkowników programu. Błąd projektowy leży u podstaw, należy w ogóle zrezygnować z bezpośredniego łączenia się z bazą.


Women were the reason I became a monk - and, ah, the reason I switched back...
Bartosz Wójcik
właśnie to jest prawdziwa sztuka, zabezpieczyć coś czego się nie da :)
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Gorlice
0

Zabezpieczyć na 100% się nie da i o tym napisałem ale pytania było o hexedytor .


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
Demonical Monk
Jesteś żałosny.
KA
@Demonical Monk żal mi ludzi którzy są adminami na tym forum na twoim miejscu bym zrezygnował z admina tak jak ja rezygnuję z działalności na tym forum żegnam proszę skasować moje konto
Demonical Monk
To straszne, jak już wydoroślejesz i zrozumiesz że admin też człowiek to wróć ;)
somekind
@kAzek, Demonical Monk od trzech dni nie może przejść pierwszej misji w Wormsach, więc nie dziw się jego złośliwości.
KA
@somekind Spoko ja tam mam to głęboko w d. ale po prostu nie wiedziałem że na tym forum są tacy admini (aż mnie to dziwi przez tyle lat) ale spoko gratuluję podejścia administracji do użytkowników.
Demonical Monk
@kAzek: Jakbym faktycznie był takim strasznym i złym adminem to wypieprzyłbym te wszystkie posty w cholerę i jeszcze ponarzekał na użytkowników. Zrobiłem to co mógł każdy user, albo i anonim - wyraziłem swoje zdanie. Jeśli tak Cię to razi to mogę schować swoją rangę ;)
Demonical Monk
Tym bardziej gdybyś wiedział co to frontend to nie podsyłałbyś mi teraz PMek w których obiecujesz że połamałbyś taką aplikację... Więcej pokory na przyszłość ;)
somekind
Chłopaki, ile Wy macie lat?
Demonical Monk
@somekind: idź Ty te swoje triple kille szturchańcem robić ;D
KA
@Demonical Monk gdybyś napisał aplikację nie do złamania to byłbyś ... tu brakuje mi określenia. Wszysto predzej czy później zostanie złamane i nie mam zamiaru się kłócić zrób o co prosiłem i tyle.
somekind
Jakby taką napisał, bo były przechujem, a tak to jest zwykłym penisem.
KA
@somekind obejdzie się bez wyzwisk ale jak ktoś mi przesyła znalezione w sieci crack me (mowa była o jego programie) to wybacz ale żal mi go.
Demonical Monk
Znalezione w sieci :D http://monk.4programmers.net/pub/research/cm/ To jest znalezione w sieci crackme :D
Demonical Monk
Zamykam ten wątek bo padnę ze śmiechu...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.