[MPlayer-dev-eng] silly code
Arpi
arpi at thot.banki.hu
Tue Jan 1 18:37:22 CET 2002
Hi,
another piece of shit:
0x62924c30: mov %eax,%ecx
0x62924c32: shr $0x10,%ecx
0x62924c35: and $0xff,%ecx
0x62924c3b: and $0xff00ffff,%eax
0x62924c40: lea 0x62b67ae0(,%ecx,8),%ecx
0x62924c47: cmpb $0x0,(%ecx)
0x62924c4a: je 0x62924c61
0x62924c4c: mov 0x4(%ecx),%edx
0x62924c4f: lea 0x0(,%eax,4),%ecx
0x62924c56: lea (%edx,%ecx,4),%ecx
0x62924c59: mov (%ecx),%eax
0x62924c5b: mov 0x8(%ecx),%edx
0x62924c5e: jmp *0x4(%ecx)
0x62924c61: jmp *0x4(%ecx)
it's called theQicktimeDispatcher, and seems to be something main entry
point.
also, note the 0x62924c61 case: it sees ecx==0, so it jumps to [ecx+4]
strict way to sig11 :)
i have to redirect this func and do somr printf on parameters.
it doesn't work in c, i think because of parameter pasisng in eax, instead
of stack.
currently i'm using:
static int (*real_theqt)(int a,int b,int c,int d,int e,int f,int g,int h) = NULL;
static int fake_theqt(int a,int b,int c,int d,int e,int f,int g,int h){
return real_theqt(a,b,c,d,e,f,g,h);
}
and, at GetProcAddress:
if(!strcmp(function,"theQuickTimeDispatcher")){
real_theqt=retproc; retproc=fake_theqt;
}
i think i need some asm for teh above, to same/restore eax?
A'rpi / Astral & ESP-team
--
mailto:arpi at thot.banki.hu
http://esp-team.scene.hu
More information about the MPlayer-dev-eng
mailing list