P-Programowanie

Tablice dynamiczne

13 grudnia 2012, kategoria: C++

Tablice dynamiczne jednowymiarowe oraz dwuwymiarowe są ściśle związane ze wskaźnikami. Użycie wskaźników to jedyna metoda uzyskania tablicy dynamicznej. Istnieje duża potrzeba na używanie tablic dynamicznych, programista ma nad nimi pełną kontrolę. Możemy decydować o ich wymiarach (kształcie) oraz o wielkości.  Czytaj więcej >>

Gra saper

25 listopada 2012, kategoria: C++

Gra Saper została napisana w 1981. Jest dostępna w każdej wersji systemu Windows. Polega na odkrywaniu zaminowanej planszy tak, aby nie trafić na minę. Gra działa na bardzo prostej zasadzie i nie wymaga zaawansowanego trybu graficznego, mimo tego potrafi wciągnąć na wiele godzin.  Sapera można łatwo napisać w dowolnym języku np. w C++ na dodatek używając zwykłej konsoli i nie używając żadnych elementów graficznych (obrazków).

Czytaj więcej >>

Wskaźniki

27 lipca 2012, kategoria: C++

Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie wskaźnikami znacznie przyśpiesza wydajność czasową programu, zmniejsza zużycie pamięci oraz skraca kod źródłowy.

Czytaj więcej >>

Koncepcja generatora plików

27 lipca 2012, kategoria: C++

Przedstawię prostą metodą często używaną przez programistów, do stworzenia programu w stylu generatora. Generator ma za zadanie utworzyć plik wykonywalny i przekazać mu pewne parametry wpisane przez użytkownika.

Czytaj więcej >>

Używanie timerów

27 lipca 2012, kategoria: C++

Timer to kontrolka odpowiedzialna za wykonywanie określonego kodu, co określoną ilość sekund. Timery znane są przede wszystkim użytkownikom środowisk takich jak Delphi, C++ Bulider, Visual Basic oraz platformy .NET. W ich przypadku utworzenie kontrolki timera ogranicza się wyłącznie do przeciągnięcia go na formę i dodania odpowiedniego kodu. Timery są na tyle wygodne, że często są wręcz nadużywane.

Czytaj więcej >>

Dll Injection – wywoływanie funkcji

27 lipca 2012, kategoria: C++

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

27 lipca 2012, kategoria: C++

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 >>

Ukrywanie okna konsoli

26 lipca 2012, kategoria: C++

W języku C++ wyskakujące okno konsoli jest czymś oczywistym. Możemy je ukryć za pomocą odpowiednich funkcji API ale jest to dosyć brzydki zabieg. Na dodatek okienko mignie podczas startu i będziesz widoczne przez pół sekundy. Za pomocą funkcji GetConsoleWindow() pobieramy HWND okna naszej konsoli. Następnie za pomocą ShowWindow() ukrywamy. Również za pomocą tej samej funkcji okno można w dowolnym momencie pokazać. Czytaj więcej >>

Ukrywanie funkcji WinApi

26 lipca 2012, kategoria: C++

Maskowanie funkcji WinAPI może się nam przydać kiedy antywirusy internetowe czepiają się naszego programu. Dla testów napisałem program w C++, który podczas startu dodaje się do autostartu (rejestr) a następnie łączy się z losowym serwerem przez winsock. Po tych czynnościach program się zamykał. Przeskanowałem go na skanerze internetowym, wynik skanu to 8/43. Aż 8 antywirusów wykryło zagrożenie.

Czytaj więcej >>

Odczytywanie baseaddress

26 lipca 2012, kategoria: C++

Poruszając temat adresu bazowego można by się rozpisać na dziesiątki stron, należało by zacząć od budowy plików wykonywalnych Windows, o nagłówkach i sekcjach (np. PE Header) oraz adresach RVA i VA (relatywnych i bezwzględnych). Informacje na ten temat można znaleźć w internecie. Ja podam kilka najważniejszych faktów.

Czytaj więcej >>

Edycja pamięci procesów

26 lipca 2012, kategoria: C++

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 >>

1 2