Dynamiczne dołączanie kodu

0

Witam,
Mam pytanko, jak dołączać swoje fuknkcje do skompilowanego programu. Można by chyba za pomocą DLL ale wtedy ktoś niepowołany mógłby podejrzeć tą funkcje, czy się mylę ??. Miałbym wielką prośbe o naprowadzenie mine, jak zrobić żeby dołączać funkcje do skompilowanego programu, ze 100 % pewnością że nikt tych funkcji nie podejrzy i nie będzie wiedział co one robi. Z góry wielkie dzięki.

0
> ##### Autre napisał(a) > Wykorzystaj DLL Autre - na siłę starasz się udowodnić, że na C++ też się znasz? Tak się składa, że ten wątek z C++ wiele wspólnego nie ma. To ma być odpowiedź? Taka sama jak 'użyj kompilatora'.

Mam pytanko, jak dołączać swoje fuknkcje do skompilowanego programu.

Zależy co przez to rozumiesz - dynamiczne == w czasie rzeczywistym? Można zdalnym wątkiem załadować własną DLLkę, użyć do tego hooka bądź po prostu wstrzyknąć kod.
Załóżmy jednak, żę chodzi o samo dodanie, bez modyfikacji w czasie rzeczywistym.
Jest kilka metod - można zmodyfikować binarkę i dodać swój kod, zwykle albo piszę się całość w assemblerze albo sam loader dla modułu napisanego w języku wysokiego poziomu. Moduł to oczywiście DLL.
W sumie najczęściej stosowaną metodą jest dll spoofing - podmiana jednego z plików DLL używanych przez program. Wspomniana biblioteka przekierowuje funkcje do oryginalnej biblioteki dodając jednocześnie swoją funkcjonalność. Zaletą tej metody jest to iż nie wymaga modyfikacji orygnalnego modułu wykonywalnego, wadą zaś - nie zawsze są dll'ki, które można podmienić. Po szczegóły odsyłam do artu Gynvaela Coldwinda = http://vexillium.org/?sec-dllsp

Miałbym wielką prośbe o naprowadzenie mine, jak zrobić żeby dołączać funkcje do skompilowanego programu, ze 100 % pewnością że nikt tych funkcji nie podejrzy i nie będzie wiedział co one robi.

Takiej pewności nigdy nie osiągniesz, jest ona dokładnie taka sama jak w przypadku właściwego programu. Można przy pomocy odpowiednich narzędzi zaciemnić kod ale nadal nie da to wiele. Odpowiednio dobrze wyszkolone osoby poradzą sobie z tym zawsze. Na forum były już wątki o sprawdzeniu\łamaniu zabezpieczeń - jak widać nawet mimo obfuskacji zabezpieczenia zostały pokonane.

// o, widzę że Autre dopisał jedno zdanie... Autre, weź sobie dowolne crackme barta z tych, które pojawiły się na forum, potraktuj disasmem i powiedz czy sam disassembler w przypadku obfuscowanego\emulowanego kodu coś Ci dał...

0

wystraszyłeś go Deus =]

można by też zrobić coś a'la PHP

plik ze skryptem, zakodowany i w ogóle, program go czyta i odpowiednio vś tam sobie robi

?

0

Fiesto jakby każdy miał podejście takie jak ty, to by programów w ogóle nie było, bo każdy by się bał :P

DLLke można tak samo podejrzeć jak każdego EXE, co prawda tam są eksportowane funkcje, więc można się dowiedzieć bez disasembleracji dowiedzieć co DLLka oferuje, ale jeśli się bardzo boisz, to funkcjom eksportowanym można nadać bezsensowne nazwy, wtedy nie można się domyślać do czego funkcje służą.

Jak ktoś chce i wie jak to zrobić to twój program i tak zostanie zhakowany...

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