owszem, da się w delphi, i to nawet względnie prosto, wystarczy użyć odpowiedniego modułu dostępnego w internecie. ale nie zamierzam powiedzieć co to za moduł, bo nadpisywanie api prawie zawsze pachnie pisaniem wirusa, a ja nie zamierzam w czymś takim pomagać.
dlatego sugeruję, żeby nikt znający nazwę owej biblioteki nie zdradził jej nazwy, dopóki autor tego wątku nie napisze łaskawie po co mu nadpisywanie api.
a tak ogólnie... musisz w kopii programu załadowanej do pamięci nadpisać adres wywoływanej funkcji, zastępując go adresem funkcji o identycznych parametrach z twojej własnej biblioteki. writeprocessmemory + imagehlp + duuużo pracy.
[dopisane]
deus: nadpisując api windowsa przejmuję cały system - mogę zrobić cokolwiek, co mógłby zrobić użytkownik, na przykład usunąć mu co drugi plik z co drugiej partycji. ale nie o to chodzi. chodzi o to, że można bardzo skutecznie ukryć 1) uruchomiony proces wirusa; 2) plik z wirusem na dysku; 3) autouruchamianie wirusa z poziomu rejestru - czyli w zasadzie zakopać program w systemie tak głęboko, że 99% użytkowników systemu nie będzie wiedzieć, że w ogóle coś złapali. przy okazji dość skutecznie utrudni się usunięcie programu z poziomu zainfekowanego systemu.
więc nie mów, że można co najwyżej porobić statystyki.
Deus napisał(a)
i jeszcze jedno ŁF: jeśli chcesz monitorować wywołania do 4 funkcji to nic nie trzeba nadpisywać
o, a to coś nowego - powiedzmy, że chcę nadpisać NtQueryInformation we wszystkich uruchomionych w systemie programach - jak to zrobić? debug api? sądzę, że wątpię ;-)