prestaveni signalu za behu
Petr Skoda
skoda na sunstel.asu.cas.cz
Čtvrtek Červen 4 14:15:04 CEST 1998
On Tue, 2 Jun 1998, Pavel Kankovsky wrote:
> On Tue, 2 Jun 1998, Petr Skoda wrote:
>
> > mam binarku jisteho programu, ktery si nastavi pri spusteni casovac
> > na sigalrm na nejakou dobu, takze po uplynuti dane doby je tomuto jobu
> > poslan SIGALRM, na coz on skonci.
> [...]
> > Da se pripadne ta binarka hacknout tak, aby se pro dany signal reakce
> > zmenila ?
>
> pokud lze v binarce najit konkretni misto, kde se nastavuje ten casovac,
> pak bych proste to misto prepsal nekolika "nop"y... nebo bych
> LD_PRELOADnul neco, co by treba nastavilo patricnou obsluhu SIGALRM
> ale asi to bude chtit trochu experimentovani
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)
Jak se to dela s tim LD_PRELOAD ? - Jako ze modifikovat knihovnu aby ty
signaly vracela jinak?
>
> to bude tim, ze gdb to dela pres ptrace(2)
>
> nevim presne, jak jsou delane signaly--mam dojem, ze kdyz trasovany proces
> dostane signal, tak je nejdriv upozornen jeho "dozorce", na kterem pak je,
> zda-li trasovany proces skutecne ten signal obdrzi
Tohle jsem mel prave na mysli - spustit tu binarku od dozorce, ktery
signal pro ni zablokuje - ma nekdo ideu jak konkretne ?
Jeste me napadla jedna vec (predpokladam, ze uz vsem doslo, ze chci
spoustet nechutne drahou aplikaci, kterou si nemuzu dovolit koupit kvuli
par pokusum - abych ji casem stejne mozna nepouzival, a mam k dispozici
verzi, ktera je casove omezena na 7 min behu - nebudu jmenovat, ale
myslim, ze to dane firme je jedno, protoze u nas stejne nic neproda ani
nema zastupce)
Ta aplikace ma jeste predlicensovany soubor, ktery umoznuje plny beh v
danem obdobi - coz bylo pred rokem. Da se to obelstit presunem hodin zpet
, ale pak to napacha v systemu hrozne veci - holt ani fyzikalni ani
virtualni cas se nedaji bez nasledku vracet - asi je to vlastnost naseho
vesmiru a principy kauzality se musi dodrzet;-))
Proto me napadlo, nemuze se nahradit v systemove knihovne volani time()
tak, aby vracelo normalne spravne ubehly cas od 1.1.1970 vsemu, krome jobu
s konkretnim PID - a tomu to offsetovat o rok, - nebo o volitelnou hodnotu
- a nebo rovnou vracet konstantu ?
Muze nekdo navrhnout kostru takoveho reseni ?
Popr ma nekdo zkusenosti s funkci lmgrd ? - nesel by napsat jiny, ktery by
vracel stejne odezvy aplikaci,jako v pripade platne license aniz by se
snazil desifrovat spousteci
klice ?
Predem nebudu odpovidat na vyhrady ohledne poruseni autorskych prav -
jedna se mi o specialni SW pro zpracovani jisteho druhu dat z jedne UV
druzice a amici drze predpokladaji, ze kazdy ma tu aplikaci v niz to je
napsano (asi jako by vam dali SW v BASICU a za interpretr chteli 3-5k$)
P.S. mozna, ze uz jsem tuto zpravu jednou poslal, ale pri sve skleroze uz
si to nepamatuju (uz to jsou 3 hod! ;-)) a pine mi prirustek neukazalo)
*************************************************************************
* Petr Skoda Tel : (0204) 649201, l. 361 *
* Stelarni oddeleni (0204) 620361, 620136 *
* Astronomicky ustav AVCR Fax : (0204) 620250 *
* 251 65 Ondrejov e-mail: skoda na sunstel.asu.cas.cz *
* Ceska republika pskoda na mbox.cesnet.cz *
*************************************************************************
Další informace o konferenci Linux