Dodanie do IAT wlasnej Dll'ki

0

witam
Poszukuje artykulu lub przykladowego kodu przedstawiajacego sposob dodawania do tabeli importow nowej dll'ki.
Przyklad jaki znalazlem http://sandsprite.com/CodeStuff/iat_hook.zip
niestety nie pokazuje w jaki sposob tablica importow zostala zmodyfikowana.
Pozdrawiam

0

Znaczy się chcesz aby loader załadował dodatkową bibliotekę podczas ładowania całego programu?

Jeśli tak to pomocna Ci będzie dokumentacja Microsoftu na temat formatu PE i COFF

http://www.microsoft.com/whdc[...]platform/firmware/PECOFF.mspx

0

Mhm thx za info.
"Znaczy się chcesz aby loader załadował dodatkową bibliotekę podczas ładowania całego programu?"
Dokladnie tak.Takze jak by ktos mial kod zrodlowy aplikacji o takim dzialania to byl bym wdzieczny.

0

niestety nie pokazuje w jaki sposob tablica importow zostala zmodyfikowana.

Nie została zmodyfikowana .

Przykład zawiera dwa programy , bez dołączonej biblioteki Hook i z Hook_IAT.
Biblioteka Hook_IAT została dołączona do programu w trakcie kompilacji .
W trakcie uruchamiania programu następuje ładowanie MSVCRT.dll , następnie
ładowanie Hook_IAT.dll . Uruchomienie Hook_IAT.dll powoduje zamianę adresu
'strcmp' oryginalnego na adres funkcji w Hook_IAT.dll.

Adres w tablicy przekierowania do 'strcmp' jest uzyskany po deasemblacji oryginalnego
kodu programu , jmp , i tam jest wpisywany adres funkcji m_strcmp z biblioteki Hook_IAT.dll.
Czyli jest to zrobione na piechotę .

Teraz trzeba się zastanowić jak to zrobić w sposób dynamiczny .
czyli załadowac Hook_IAT.dll do pierwszej wersji programu i wykonać kod m_strcmp .
Nie jest to proste zadanie .

Resztę muszę przemyśleć .. [green]

0

Zeby sprawa byla jasna, chcĘ uzyskac taka sama funkcjonalosc jak LordPE w tym tutku
http://www.craigheffner.com/tute/tute3.html

0

:-D No niezłe jaja , to może być trochę kodu , napisz maila niech przyśle żródła .
To stary Haker , myślisz że ten problem można rozwiązać postami na forum ?

Może ktoś poda linki , bo temat jest morderczy i za rozwlekły .

Ja bym spróbował inaczej , załadować program Hook-owany własnym programem i spróbować
wcisnąć bibliotekę do jego przetrzeni adresowej , to masa kombinacji .. może mi się zechce,
nie robiłem jeszcze takich wynalazków.
To bardziej mi się podoba , bo jak pomyslę o przebudowie gotowego .exe to robi mi się słabo .
Zresztą Lord napisał już taki program :-D .

0

Z wstrzyknieciem dllki do procesu nie ma problemu :-) ,chcialem po prostu przetestowac sposob ktory prezentuje autor tego artykulu.No ale of course bez uzycia LordPE ;-) .

0

Yhy , ale i tak nie obedzie się bez dokładnego grzebania w PE nawet z poziomu uruchomionego
procesu , niestety z mojej strony były by to na razie eksperymenty okupione czasem spędzonym
na kodowaniu , ciekawy temat ale na razie nie sądzę abym mógł to wykonac w jakimś określonym czasie ,
tak że pozdrowienia i
miłego czekania na propozycje .

Właściwie to spróbuję przerobić podany przez ciebie przykład na "dynamiczny" .. ale nie wiem ile
zajmie to czasu .Tzn podstawienie własnej biblioteki do programu i podpięcie się pod funkcję
systemową .
Kontynuacja :

http://4programmers.net/Forum/viewtopic.php?id=104080

Idzie się zarypać :-D , cos może wymyślę , ale fajnie by było jak by ktos jeszcze
wrzucił jakieś propozycje ...
Pozdro [green]

Ale nie na ch.. się mordowac .
Jeśli interesują Cię te tematy to przejrzyj Ziny z tej strony

http://www.ctrl-d.prv.pl

W jednym jest o dodaniu funkcji zabezpieczjącej program , czyli zmiana Punktu
Wejścia do .exe dołączenie własnej .dll , wykonanie kodu i powrót do programu (o ile pamiętam ).
Zależy jaką funkcjonalność chcesz uzyskać .
Bo wygodniej jest dodać nową sekcję do .exe a nie grzebać sie w jego przebudowie .

0

Oj zmian dokonywanych przez LordPE nie jest zbyt wiele.Wrzuc sobie zmienionego notepada i orginalenego np do HexWorkshop'a i porownaj ;-)

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