Edycja pliku exe ukrywanie hasła

Edycja pliku exe ukrywanie hasła
WO
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Katowice
0

Witam

Napisałem mały programik który wysyła na serwer FTP plik z raportem.
Po kompilacji dostaje plik exe.
Gdy go edytowałem znalazłem dane potrzebne do logowania na serwer.
Jak mogę zaszyfrować te dane, lub jak można zmusić kompilator aby plik wynikowy exe był nie czytelny.?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Kompilatora nie zmusisz. Możesz zaszyfrować te dane jakimś algorytmem a potem w programie będziesz musiał wpisać hasło do odszyfrowania tych danych. Tylko czy w takim razie nie lepiej żeby user musiał podać dane do logowania do ftp po prostu?


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
PR
  • Rejestracja:około 11 lat
  • Ostatnio:5 dni
  • Lokalizacja:Pomorskie (Stare Kabaty)
0

Jak nie zakładasz że ktoś będzie dłużej reversował ten program. Tylko coś w stylu że brat/kolega/siostra otworzy w notatniku, i zobaczy passy, to XORowane hasło w stringu będzie ok. W przeciwnym wypadku użyj jakiegoś bardziej skompilowanego algorytmu szyfrowania.

Websplash
  • Rejestracja:prawie 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:61
0

@Shalom skoro dane są hardcodowane to domyślam się, że FTP jest "centralny" (należy do twórcy) i chodzi o to, aby dane nie dostały się w macki użyszkodnika.
Można by to zaszyfrować jakoś, ale na dobrą sprawę co by nie zrobić to i tak będzie się to dało wyciągnąć z pamięci. Ostatecznie użytkownik może użyć Wiresharka i wyjdzie na jedno (no chyba, że autor użyje FTPS).
@wojno Nie wiem jaki jest cel i przeznaczenie tych raportów, ale może lepszym rozwiązaniem będzie postawienie skryptu na HTTP i wysyłanie raportów do niego, a skrypt będzie je składował na serwerze? W tym przypadku możesz też zrobić jakąś weryfikację po stronie serwera (np. jakaś suma kontrolna przesyłana jako argument aby upewnić się, że request przyszedł z programu; sprawdzanie poprawności pliku raportu).


WO
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Katowice
0

Program który napisałem otwiera inny program w wierszu poleceń który generuje raport raport.txt.

Następnie ten raport jest wysyłany na serwer FTP.

Kopiuj
char password[] = "hasmo";
char localFile[] = "C:\\raport.txt";
char remoteFile[] = "raport.txt"; 
FtpPutFile(ftp, localFile, remoteFile, FTP_TRANSFER_TYPE_BINARY, 0);

Gdy edytuje plik exe to w tym pliku mogę znaleźć jawnie hasło jak również C:\raport.txt i na jaki adres wysyłane.

A co by trzeba zrobić żeby nie dało się rozszyfrować hasła, loginu, nawet adresu.
Wpisywanie haseł przez użytkownika nie wchodzi w grę.

edytowany 1x, ostatnio: wojno
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
  • Lokalizacja:Gorlice
0

Przecież jak ktoś będzie chciał dane do tego FTP to i tak wyśledzi snifferem, ewentualnie znajdzie odszyfrowane w pamięci. Nie możesz zrobić publicznego konta FTP?


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.
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

A co by trzeba zrobić żeby nie dało się rozszyfrować hasła, loginu, nawet adresu.
Wpisywanie haseł przez użytkownika nie wchodzi w grę.

Nie ma takiej możliwości. Skoro program będzie potrafił te dane odszyfrować (a musi skoro chce ich użyć) to znaczy że można przeanalizować kod programu i złamać algorytm. Można też zapiąć się debugerem na tym programie i zwyczajnie poczekać aż zdekoduje dane ;] Z innej strony można też monitorować co program wysyła przez sieć oraz do jakich plików na dysku pisze.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
WO
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Katowice
0

A gdyby wysyłać te pliki pocztą. Jest to bezpieczniejsze?

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Napisz po ludzku jakiś RESTowy serwis po stronie serwera i nie kombinuj.


Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
1

Tak tylko uzupełnie, że serwer FTP też można skonfigurować tak, żeby pozwalał tylko i wyłącznie na zapis plików (ale już nie listowanie czy odczyt). W takim wypadku możesz nawet hasło plaintextem dać i będzie OK.

Nie wiem ofc jaką appkę piszesz i jakie założenia co do bezpieczeństwa masz, ale FTP brzmi mało szyfrowanie; może lepiej jakieś FTPS, HTTPS, etc (+weryfikacja certu ofc; może być niepodpisany jeśli sam go generujesz).


peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein

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.