Moduloviny II.
Petr Snajdr
snajdr na pvt.net
Pondělí Květen 4 19:19:09 CEST 1998
Jaromir Koutek wrote:
> > Dalsi vec je pouziti instrukce "call". Napr. takto:
> > 299: e8 fc ff ff ff call 29a <DevIoctl+7a>
> > Kam ten call bude smerovat?
> To je neuplne disassemblovany - musi se to udelat pres:
> objdump --disassemble --reloc
> Pak z toho vyleze neco jako
> 299: e8 fc ff ff ff call 29a <DevIoctl+7a>
> 29a nejaka_divna_fce
No i pak to vypada takto:
296: 55 pushl %ebp
297: 6a 01 pushl $0x1
299: e8 fc ff ff ff call 29a <DevIoctl+7a>
29a: R_386_PC32 verify_area
29e: 89 c1 movl %eax,%ecx
2a0: 83 c4 0c addl $0xc,%esp
No zmena tu je, ze bych z toho byl ted moudrejsi se
rici neda :-). Mam 2 vysvetleni:
1) Ta instrukce smeruje sama na sebe
(s posunem o 1B). Asi nesmysl :-)
2) ma to neco spolecneho s funkci:
int verify_area(int type, const void * addr, unsigned long size)
v linux/mm/memory.c :-))
Pokud je to 2), zacinam to pomalu chapat :-)
S pozdravem
Petr Snajdr
Další informace o konferenci Linux