trasovadlo na nezname binarky

Ales Horak hales na charon.fi.muni.cz
Čtvrtek Září 23 10:25:57 CEST 1999


Dzon <dzon na writeme.com> pise:
>> > > Kdo znate afdp, vite co mam na mysli: neco maleho co by dokazalo
>> > > trasovat program po assemblerovych instrukcich tak, aby bylo videt
>> > > co program prave dela [vc. graf. obrazovek].
>> >  gdb ? Ty graficke obrazovky jsou ale problem...
>> Vzdalene z jinyho pocitace pres telnet/ssh? Jinak je to prikaz myslim
>> 'si'.
>Coze? proc vzdalene? 
jiste, pro to neni zadny duvod. jen mozna kdyz se jedna o nejakou
konzolovou grafiku, pak muzu pres ssh odjinud program trasovat bez
jakekohokoliv vizualniho naruseni behu programu (prepinani konzoli).

>Kdysi jsem na DO$u cracknul asi dve veci [trasovani az k bodu zlomu,
>bod zlomu zjistim tim ze koukam co mi 'vec' ukazuje, vc. grafiky],
>tak me zajimalo jestli je neco podobneho mozne se soucasnymi nastroji
>na Linuxu.
>What does 'si' do? %-(

(gdb) help si
Step one instruction exactly.
Argument N means do this N times (or till program stops for another
reason).


ja jsem na tohle uspesne nekolikrat pouzil kombinaci:
    - objdump --disassemble binarka > binarka.asm
    - vi binarka.asm
    - gdb binarka
	- disp/i $pc       ...  zobrazuje po kazdem kroku nasledujici instrukci
	- tb *0xYYYYYYY    ...  init adresa z binarka.asm
	- r
	- si nebo ni, atd. ...  krokovat, breakpointovat apod. ve vi pritom
	                        (patricne syntaxhighlightovany) sleduju, kde
				jsem v kodu, a muzu si jej doplnovat o
				komentare.

rekl bych, ze nekde by melo existovat i neco pritulnejsiho (tyhle dve veci
by meli jit celkem jednoduse spojit, neumi to treba emacs?), ale i tak to
jde.

-- 
Ales Horak
Fakulta informatiky
Masarykova Univerzita Brno


Další informace o konferenci Linux