|
Polski Portal COLOBOTa COLOBOT Polish Portal |
|
C, C#, C++ - Code Injection w C++ ???
krzys_h - 20-12-2010, 14:08 Temat postu: Code Injection w C++ ??? Tak jak w tytule. Czy wiecie jak to zrealizować?
adiblol - 20-12-2010, 17:17
Chodzi zapewne o atak przepełnienia bufora aby nadpisać kod, lub wskaźnik na funkcję, lub adres powrotu na stosie. Tutaj nie ma gotowego sposobu, trzeba przeanalizować (korzystając np. z gdb) gdzie znajduje się co w pamięci a jeśli nie dysponujemy kodem źródłowym to ciężko takie coś przeprowadzić. Poszukaj na stronach uw-team albo haker.com.pl.
A że się tak zapytam do czego Ci to potrzebne?
krzys_h - 21-12-2010, 18:57
Gdzieś w internecie przeczytałem, że można w ten sposób modyfikować program. Pomyślałem sobie, że może udałoby się zrobić multiplayera do COLOBOTa.
adiblol - 21-12-2010, 20:48
Nie ma potrzeby, prościej zmieniać kod gdy program się nie wykonuje, deasemblerem.
krzys_h - 22-12-2010, 12:12
Dzięki za odpowiedź. Pokombinuję z tym deassemblerem.
DemoLisH - 28-01-2011, 20:06
jeśli nadal potrzebujesz pomocy mogę Ci napisać co i jak
krzys_h - 30-01-2011, 13:05
Dzięki, już tego nie potrzebuję. Ale jeśli wiesz, jak zrobić pamieć współdzieloną w Windows to by się przydało...
Konkretnie mam na myśli coś takiego:
Tworzę dwa procesy: uruchom.exe i colobot.exe. Oba korzystają z pliku Hook.dll. Proces colobot.exe wywołuje funkcję z biblioteki Hook.dll, która tworzy strukturę. I teraz potrzebuję, aby proces uruchom.exe miał dostęp do tej struktury. Jedyne, co udało mi się osiągnąć, to komunikat Wystąpił błąd i aplikacja została zamknięta. Przepraszamy za kłopoty
adiblol - 30-01-2011, 16:16
aaaaaaaaAAAAAAAAAAAaaaaaaaaaaa na początku nie rozumiałem ale to takie proste.
Niepotrzebne bawisz się dll'kami. Lepiej jak plik uruchom.exe uruchamia Colobota w trybie debugowania. Wtedy możesz rezerwować, czytać i zapisywać pamięc wewnątrz colobot.exe za pomocą funkcji VirtualAllocEx, ReadProcessMemory, WriteProcessMemory.
DemoLisH - 02-02-2011, 17:26
tzn chcesz uzyskać dostęp do tej struktury? adres tej struktury się zmienia? chcesz w niej coś pozmieniać? chcesz z niej wywołać jakąś funkcję? opisz to trochę bardziej to ci pomogę
krzys_h - 04-02-2011, 17:37
A więc:
DemoLisH napisał/a: | tzn chcesz uzyskać dostęp do tej struktury? |
Tak.
DemoLisH napisał/a: | adres tej struktury się zmienia? |
Tak
DemoLisH napisał/a: | chcesz w niej coś pozmieniać? |
Chciałbym odczytywać i zapisywać warości zmiennych, a jak się nie da, to tylko odczytywać
DemoLisH napisał/a: | chcesz z niej wywołać jakąś funkcję? |
Nie, wywoływać funkcji nie potrzebuję
DemoLisH - 12-02-2011, 00:14
a ta funkcja zwraca wskaźnik do tej struktury? czy w niej w środku jest ona tworzona bo jak tak to przerąbane masz ;D pozostaje wtedy wyszukać pointera do tej struktury
i jaką strukturę w colobocie chciałbyś przechwycić bo jestem ciekaw i mógłbym ci bardziej pomóc ;P
|
|