Zastąpienie biblioteki dll w pamięci nową lub jej funkcji

0

Witam.

Moje pytania są takie:

  1. Jak zastąpić biblioteke dll W PAMIĘCI PROCESU na nową ?
  2. Jak zastąpić np. jedną funkcje biblioteki dll w pamięci dll na nową ?

Zapewne musze zrobić dll injection do procesu.
I w przypadku pytania nr 1. pobrać HMODULE biblioteki którą chce podmienić , co dalej?

Pozdrawiam i Proszę o pomoc.
Dzięki.

0

Sprawa jest teoretycznie prosta , lecz trudna do realizcji praktycznie ,,, czyli
trzeba się trochę pomordować .

Ładujesz do procesu bibliotekę własną "narzędziową" , która uzyskuje
adres fun z bib. którą chcesz podmienić .
Adres biblioteki pobierasz normalnie po władowaniu "narzędzia" do procesu
przez GetModuleHandle , adres fun przez GetProcAddress,,
tyle że musisz to zrobić "lokalnie" po władowaniu własnej dll i rezerwacji pamięci na pobrane
adresy , adresy bibliotek systemowych i fun można pobrać bardziej swobodnie .
,,,,,,resztę postu wycinam bo za dużo pisania

Szukaj temat "zdalne wątki" .... bo jest masa mordęgi z pamięcią gdzie co się
znajduje , wymagane jest alokowanie pamięci na dane których używa wpakowana
biblioteka a która jest "obca dla procesu" .
Pewnie i całą bibliotekę można "podmienić" ale nie będzie się to zgadzać
z informacjami loadera i Aplikacja się załamie ,,,
Problemem jest też wielowątkowość aplikacji , przy jednym wątku wiadomo , ale w przypadku
wielu może dojść do konfliktu , znasz działanie jednego , po podmianie fun inny może
zachować się w sposób nie kontrolowany

Ps. Temat był już drążony na forum , zresztą w internecie jest sporo informacji i jak wrzucisz

dll injection
to znajdziesz , chodzi tylko o to że w zależności co chcesz
uzyskać kod jest różny (czasami pomieszany z kopiowaniem kodu Hex do pamięci innego procesu)
zależny od systemu i og. wnerwiający .

Ps. ewent mogę wrzucić parę linków i tematów z 4p . ale nie określiłeś dokładnie
celu swoich działań ... i nie jest to czasami kwestia paru godzin spędzonych z komputerem ,,, [green]

1 użytkowników online, w tym zalogowanych: 0, gości: 1