从 ac 程序生成这个程序集

逆向工程 部件 C
2021-07-08 15:48:34

我想生成这个汇编代码:

mov ecx, <absolute address of func1>
call ecx

如何编写和编译生成此代码的 C 代码?

1个回答

通常编译器会直接使用函数的地址生成调用。但是因为在你的情况下它使用了一个寄存器,它让我想起了 C++ vtables。那么在 C 中,如何调用指向函数的指针呢?像这样的东西:

void (*fptr)(void);
void foo(void) {
   /* some code */
}
fptr = foo;
(*fptr)();   /* <-- your indirect call generated here */