func1 = func2

Odpowiedz Nowy wątek
2011-10-13 14:13
Komor
0

Jest jakas mozliwosc przypisania adresu pierwszej funkcji do drugiej, aby w drugiej odbywaly sie instrukcje z tej pierwszej, a w drugiej dodatkowo wykonywala swoje wlasne instrukcje np.

void func1()
{
int x = 5; int y = 10;
cout << "r: " << x + y << endl;
}

void func2()
{
//Nastepuje wywolanie func1() - niebezpośrednio

  //Instrukcje func2()

}

Wiem, że latwo by powiedzie zeby w func2() wywolac po prostu 'func1()', ale dzialam na dll injectingu - przestrzeni adresowej. Czyli probuje wylapac callback(zdarzenie) i dodatkowo wykonywac wlasne instrukcje.

Pozostało 580 znaków

2011-10-13 14:33
studenciak
0

Trochę mało informacji. Może zarejestruj własną funkcję obsługującą zdarzenie

void func3()
{
      func1();
      func2();
} 

Pozostało 580 znaków

2011-10-13 14:38
Komor
0

Dobra to moze na poczatek tak. Chce przypisac adres func1 do func2. I kiedy wywolam func1 lub func2 wykonują te same operacje. Tak jak to ze zmiennymi wskaznikowymi. Kiedy przypiszemy adres zmiennej do drugiego wskaznika i zmienimy wartosc w obojetnie ktorej zmiennej wskaznikowej to wartosci w obu zmiennych sa te same, co jest akurat logiczne i wiadome.. Chcialbym tak zrobic z funkcjami, ktore beda wykonywac te same instrukcje.

Pozostało 580 znaków

2011-10-13 14:48
studenciak
0

Nie możesz pszypisać adresu funkcji do funkcji, możesz przypisać adres funkcji do wskażnika na funkcję. Wtedy będziesz mógł wykonywać te same intrukcje, ale chyba nie o to ci chodzi. Może napisz normalnie co chcesz zrobić.

Pozostało 580 znaków

2011-10-13 15:08
Komor
0

Mam adres callback'a, ktory jest wywolywany w momencie dokanania jakiejs czynnosci w procesie(ale to mniej wazne). I tego callbacka chcialbym przypisac do funkcji, która bedzię wykonywać swoje instrukcje w momencie wywołania tegoż callbacka.

Pozostało 580 znaków

2011-10-13 15:17
studenciak
0

No to tak jak mówiłem, rejestrujesz własnego callbacka, albo bawisz się asemblerem i zmieniasz kod tego callbacka, żeby wykonywał twoją funkcję. Jak robisz dll injecting to wątpie, żeby ci się chciało bawić z exekiem.

Pozostało 580 znaków

2011-10-13 15:32
Komor
0

Jak zarejestrować tego callbacka?

Hej no, jak zarejestrować tego mojego callbacka.

Pozostało 580 znaków

2011-10-14 15:09
0

Zależy w czym piszesz? W winAPI to tak czy siak sam piszesz callbacka.


Gdy się nie wie, co się robi, to dzieją się takie rzeczy, że się nie wie, co się dzieje ;-)

Pozostało 580 znaków

2011-10-15 08:32
Komor
0

Z winapi prawie wcale nie korzystam do tego celu. Bo prawie nie jest mi potrzebny, potrzebny mi jest tylko jak na razie do wepchnięcia mojego kodu dllki do execa.
W winapi jest możliwe podpiąć się pod wywołanie funkcji (adresu)? Wtedy gdy w execu zostanie wywołana ta funkcja, chciałbym w tym samym momencie doprowadzić swój kod.

Przykład:

FUNKCJA EXE'cowa (obca)
void OnSlapInTheAss()
{

}

Przepraszam niechcący wysłałem post.

Kontynuuję:

FUNKCJA EXECOWA (obca)
void OnSlapInTheAss(void)
{
       //Wykonuje swoje rytuały
}
FUNKCJA DLL (zaprzyjaźniona)
void MyCode(void)
{
      cout << "Funkcja OnSlapInTheAss została wywołana";
}

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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