prestaveni signalu za behu

Pavel Kankovsky peak na kerberos.troja.mff.cuni.cz
Čtvrtek Červen 4 17:29:13 CEST 1998


On Thu, 4 Jun 1998, Petr Skoda wrote:

> No najit v binarce patricne volani na urovni ASM instrukci asi je pekna
> zabiracka - jak by se poznalo ktery skok je volanim jadra - nebo to je
> pres interupty? (jsem v ASM naprosty laik a v implementaci jadra taky)

Hledat v binarce urcite instrukce je jedina metoda, jak interpretovat
tzv. "Detaily" ve Woknech, takze to musi byt jednoduche. :)

Jako prvni vec bych pomoci strace s parametrem -i zjistil adresu, odkud
ten inkriminovany syscall vola. (Taky bude videt, jestli pres libc nebo
nekde ze svych vlastnich vnitrnosti.) Pak bych to spustil pod debuggerem
a zkusil to na tom miste stopnout a prozkoumal okoli (pricemz bych
pripadne vylezl z libc). Kdyz bych mel dojem, ze jsem nasel misto, ktere
je treba odoperovat, tak bych si poznamenal adresu v pameti, bazovou
adresu prislusneho "image" (exace nebo knihovny) a par bajtiku kolem
hledane adresy. Pak bych nasel odpovidajici misto v danem souboru (bud
zjistenim ofsetu z adres nebo vyhledanim bajtu--pozor na relokace!)
a prelepil to nopy.

Prace tak na pul hodiny, mozna na celou. Ovsem pro uplne laiky to asi
nebude...

> Jak se to dela s tim LD_PRELOAD ? - Jako ze modifikovat knihovnu aby ty
> signaly vracela jinak?

Ve Phracku cislo asi 51 byl pekny priklad i s tim, jak z predefinovane
funkce volat puvodni definici v libc.

> Tohle jsem mel prave na mysli - spustit tu binarku od dozorce, ktery
> signal pro ni zablokuje - ma nekdo ideu jak konkretne ?

viz zdrojaky gdb, strace :)

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]



Další informace o konferenci Linux