ReverseCraft
Info
Seria ReverseCraft niestety nie będzie już kontynuowana (wyjaśnienie), ale nagrywam/publikuje teraz inne serie videotutoriali (również o sprawach niskopoziomowych, w tym np. kurs assembly) w trochę innej formie. Są dostępne na moim kanale na Youtube. Zachęcam do rzucenia okiem :)

Wszystkie epsy ReverseCraft są również dostępne via Youtube: http://www.youtube.com/user/GynvaelColdwind (playlisty ReverseCraft (PL) oraz ReverseCraft Asm (PL).
Video Details
ReverseCraft #7 - Inline hooks, DLL injection


Czas trwania:
67 minut (opublikowano 2009-12-05)

Credits:
Autor: Gynvael Coldwind
Intro: Sebastian "Xa" Rosik (grafika) i Samlis Coldwind (dźwięk)

Opis:
Siódmy odcinek ReverseCraft, w którym prezentuje połączone techniki DLL injection oraz inline hooks.

Linki do video:

Materiały:

Informacje uzupełniające:
Przy testowaniu hooka należy pamiętać, że trzeba sprawdzić jak wygląda początek funkcji msvcrt.puts na swoim systemie, i następnie poprawić kod przywracający środowisko (tj. te dwa pushe nadpisane skokiem) w hook_wrapper w hook.c.

Kompilacja:
g++ inject.cpp -o inject.exe
gcc hook.c -c -masm=intel
dllwrap hook.o -o hook.dll


Inne często używane trampoliny:
push ADRES; ret
call ADRES_RELATYWNY
jmp ADRES_RELATYWNY
mov eax, ADRES; jmp eax
jmp short ADRES_TRAMPOLINY; ...
(dwustopniowa trampolina, gdy możemy użyć 2 bajty, ale w pobliży jest trochę miejsca na resztę kodu)

Materiały o których wspominam:
Warto przeczytać:

Użyte narzędzia:
Video Tutorials RSS
ReverseCraft:
Legal stuff
ReverseCraft project (c) 2009 gynvael.coldwind//vx
Video tutoriale dostępne są na licencji Creative Commons BY-NC-ND

cat