价值/价值回报通过价值内部

时间:2015-10-06 14:22:53

标签: c++ dll-injection

晚上好,专家们。

我正在摆弄某些东西,现在我被卡住了。

我想修改应用程序的行为(Windows 7,64位)。 因此,我将一个DLL注入到正在运行的进程中以生成一个新线程,然后动态地找出我打算调用的某个函数的地址。

为了调用它,我出于舒适的原因得到了函数指针typedef。它看起来像这样:

typedef ReturnType (*certain_function)(void* this);

ReturnType 是一个我不知道的课程。 我需要将 ReturnType 类型的返回值传递给另一个函数。

typedef void (*another_function) (ReturnType);

ReturnType既不是原始类型也不是指针,它是我没有定义的类。

我不需要和班级一起工作,所以我真的不需要知道它的样子。

我的问题是: 显然,我必须自己定义 ReturnType ,例如:

class ReturnType {
    public:
        uint8_t padding[?];
};

但它有多精确?我是否可以为使用一个非常大的值,它肯定会为类对象提供足够的内存,或者大小必须准确吗?如何在ASM级别上完成按值返回/按值调用?堆栈上的完整对象?

0 个答案:

没有答案