Export forwarding

0

Przeczytałem niedawno artykuł http://web.archive.org/web/20070515200615/revival.pl/__main/articles/show_article/DLL_spoofing_44/ jednak mam problem z użyciem zastosowanej tam techniki. Wszystko jest ok kiedy redirectuje na jakiś symbol znany visualowi np na MessageBoxa

foo=user32.MessageBoxA

Jeżeli jednak spróbuje zrobić to tak DllRegisterServer=orgBrowseui.DllRegisterServer

 to niestety nie zadziała i dostanę <span style="color: darkblue">error LNK2001: unresolved external symbol DllRegisterServer</span>. Nie mam pojęcia jak to prawidłowo przekierować. I jeszcze jedno pytanko: czy aby użyć funkcji która jest exportowana tylko przez ordinal należy napisac jakis_dll.#666 ? Nie wiem czy w/w błąd w tym wypadku ma tą samą przyczynę co wtedy kiedy przypisuje przez nazwę bo teoretycznie visualowi w tym wypadku nie jest potrzebna znajomość symboli ze źródłowej dllki.
0
  1. skad Ci sie wzielo "org" ? biblioteka sie nazywa browseui.dll, wiec jesli chcesz exportowac aliasa na jej dllregsvr, to:
    DllRegisterServer = browseui.DllRegisterServer

  2. hint z google:
    http://packetstorm.icx.fr/papers/win/intercept_apis_dll_redirection.pdf [strona 4, u dolu]
    tak wiec wychodzilo by, ze jak jakis_dll eksportuje cos o ordinal=666, to moj_dll moze utworzyc na niego alias 'aaa' o ordinalu '123' tak:

LIBRARY    moj_dll.dll
EXPORTS
    aaa = jakis_dll.#666      @123

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