P-Programowanie
Tekst
zmniejsz/powiększ
Kolory
jasne/ciemne/kontrast/brak

Dział reverse engineering

Połączenie assemblera i C++

Ponownie dodaję artykuł zahaczający o temat assemblera. Na własnej skórze doświadczyłem dzisiaj problemów ze wstawką assemblerową w kodzie C++, dlatego postanowiłem stworzyć artykuł, w którym zbiorę w całość kilka często używanych trików. Artykuł jest skierowany dla użytkowników darmowego kompilatora GCC, ponoć w Visual Studio wiele problemów znika.

Czytaj więcej >>

Konwencje wywoływania funkcji

Krótki artykuł opisujący trzy podstawowe konwencje wywoływania funkcji C++ (a jest ich więcej). Konwencje wywoływania funkcji nie są tematem, na który można się szeroko rozpisać, jednak należy znać i odróżniać ich podstawowe rodzaje, szczególnie bawiąc się w reverse engineering.

Czytaj więcej >>

Dll Injection

Szykuje się artykuł, opisujący wykonanie techniki DLL Injection. Do napisania artykułu przymierzałem się już wiele miesięcy temu, miał być pierwszym dotyczącym reverse engineeringu. Ciągle odwlekałem go na później, ponieważ kiepsko u mnie z czasem, a chciałem napisać go solidnie. Umiejętność wykonania DLL Injection wiele razy przyda Ci się, szczególnie w programach edytujących pamięć innych aplikacji.

Czytaj więcej >>

Subclassing i zwiększanie funkcjonalności aplikacji

Kolejny artykuł dotyczący ingerencji w aplikacje trzecie, opisujący podstawową technikę zwiększania funkcjonalności innych procesów. Głównym wątkiem który poruszę, będzie zastosowanie subclassingu w połączeniu z dll injection. Jak zwykle na ruszt weźmiemy grę Saper dostępną w systemie Windows XP.

Czytaj więcej >>

Odczytywanie pamięci wskaźnikami generycznymi

Czy zastanawiałeś się kiedyś do czego przydają się wskaźniki generyczne? Jednym z ciekawych zastosowań wskaźników generycznych jest odczytywanie pamięci. W połączeniu z dll injection uzyskujemy na prawdę wygodne narzędzie. Możliwe, że ten artykuł nie zmieni Twojego życia, jednak postanowiłem opisać w nim tę prostą metodę.

Czytaj więcej >>

Dll Injection – wywoływanie funkcji z parametrami

Pierwszy artykuł o dll injection wywołał duże zainteresowanie. Wiele osób szuka informacji na temat pisania trainerów do gier, których główną funkcjonalnością jest wywoływanie funkcji gier w określonym momencie. W poprzednim artykule trochę kiepsko opisałem sam moment wywoływania funkcji. Funkcje wywoływane w pierwszym artykule są funkcjami bez parametrów. Dziś postaram się opisać jak szukać parametrów funkcji oraz jak je wywoływać. Czytaj więcej >>

Dll Injection – wywoływanie funkcji

Dll Injection jest to technika pozwalająca uruchomić dowolny kod w pamięci innego procesu, przez zmuszenie procesu do załadowania obcego pliku DLL. Istnieje wiele sposobów na wykonanie Dll injection, wszystkie mają pewne wady i zalety. W artykule opiszę w jaki sposób wywołać funkcję innego procesu posługując się Dll Injection.

Czytaj więcej >>

CodeCave

Każda uruchomiona aplikacja posiada swoją pamięć (pamięć procesu). Technika DllInjection pozwala programiście na „wstrzyknięcie” kodu do uruchomionego procesu, dzięki czemu można poszerzyć go o nowe funkcje lub wywoływać istniejące funkcje procesu w dowolnym momencie. Jedną z wielu metod wstrzykiwania kodu jest korzystanie z codecave.

Czytaj więcej >>

Edycja pamięci procesów

Windows udostępnia nam funkcje pozwalające odczytywać i zapisywać pamięć innych procesów. Służą do tego ReadProcessMemory i WriteProcessMemory. Przed odczytaniem pamięci procesu musimy uzyskać jego uchwyt (HANDLE) i posiadać odpowiednie prawa dostępu. Najlepszym darmowym programem do operacji na pamięci procesu jest CheatEngine oraz TSearch. Naszą aplikacją testową będzie Saper, ponieważ tę grę każdy posiada.

Czytaj więcej >>

Zachęcam Cię do polubienia bloga na facebooku! Dając lajka wspierasz moją pracę - wszystkie artykuły na blogu są za darmo!