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