#define cbfinitialize_addr 0x0087B170 static unsigned char cbfinitialize_rb[32]; static void cbfinitialize_hook(adregs *regs) { FILE *f; unsigned char *tp; int i, tl; f = fopen("bflog.txt", "at"); fprintf(f, "0x%08X CBlowFish::Initialize(this=0x%08X, key=\"", stackarg(0).u32, regs->ecx.u32); tp = stackarg(1).pc; tl = stackarg(2).s32; for(i = 0; i < tl; ++i) fprintf(f, "\\x%02X", tp[i]); fprintf(f, "\", keybytes=%i)\n", stackarg(2).s32); fclose(f); } ... if(! hookaddrfunc((void *)cbfinitialize_addr, &cbfinitialize_hook, cbfinitialize_rb)) return FALSE;