Szyfrowanie pliku wykonywalnego

0

Witam! Nie wiem czy się dobrze wyraziłem. Chodzi mi o to, że jak sobie otwieram mój program konsolowy to wszystki tekst zawarty w nim, który ma się wyświetlić lub nie jest widoczny w pliku EXE. (Zmieniam rozszerzenie np. na txt i notatnikiem go) Są też informacje o kompilatorze i wiele wiele innych. Jak temu zapobiec żeby nikt nie mógł właśnie otworzyć tak i se zobaczyć co tam jest. Może jakieś opcje kompilatora? Programuję w Code::Blocks.

0

To akurat jest bardzo rozległy temat. Po pierwsze, niepotrzebne zasoby tworzone przez niektóre kompilatory (na przykład Borland Delphi jest w tym mistrzem :D) można by wywalić za pomocą czegoś takiego jak ResHacker.
Program można spakować (i przy okazji ukryć wszystkie łańcuchy tekstowe) programami w stylu UPX (darmowy), AsPack (shareware), FSG, VMProtect (to chyba bardziej znane); inne: http://en.wikipedia.org/wiki/Executable_compression#Portable_Executable
Co do zabezpieczania kodu programu: nie da się zrobić tego idealnie, można tylko znacznie utrudnić pozyskanie kodu. Wpływa to jednak na łatwość użytkowania programu. Jako przykład można wziąć jakąkolwiek nowszą grę, z DRM-ami i tymi innymi "zabezpieczeniami". Efektem jest to, że grupka wyszkolonych reverserów (to tak się odmienia?) złamie program w mniej niż tydzień, a użytkownik końcowy, który grę kupił, ma same problemy.

0

Dzięki za wyjaśnienie problemu, popróbuję z tymi programami :)

0

Ja się dopiszę do tematu bo też mnie to interesuję.
Stringi można zmienić na coś zupełnie nie mówiącego nic jeśli by podglądać "exeka", a co z nazwami importowanych funkcji?

0

Jak się nie mylę, to po zakodowaniu/szyfrowaniu/itp. niektórymi (lepszymi?) packerami zostają tylko funkcje GetProcAddress oraz LoadLibrary (te dwie praktycznie muszą być statyczne); oprócz tego może zostają jakieś niewiele mówiące funkcje. A tak w ogóle, możesz pobrać sobie program typu Ollydbg/IDA (disassembler, ew. +debugger) i zrobić szybki podgląd.

0

Więc nie ma możliwości zrobienia tego bez użycia pakerów?
Szukałem na necie jakiegoś artykułu na temat działania pakerów jednak nie poszło mi to. Masz może jakieś źródło?

0

Ja jeszcze się tylko spytam. Chciałbym od razu po kompilacji szyfrować np. UPX'em, ale w Code::Blocks nie znalazłem nic, żeby coś odpalał po kompilacji. Jak to zrobić, że odpalają się wszystkie g++ itp. a na końcu upx.exe -parametry... (powinna być nazwa mojego projektu + ".exe").Czy jest to wykonalne? Bo za każdym razem tak szyfrować to [...]

0

Nie mam Code::Blocks, ale ze screenów widzę, że musisz wejść w "Project options" do zakładki "Pre/post build steps" i w "Post build steps" możesz wpisywać polecenia do wykonania po kompilacji.

0

Znalazłem, tylko te polecenia to jakie, DOS'owe? Czy w C? Czy po prostu upx.exe -blabla?

0

w C::B przejrzyj sobie menu tools i ConfigureTools.

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