C 取指针并将其转换为可可的功能



我当前正在逆向工程,以了解其工作原理,并刚刚完成拆卸程序调用的函数。该函数的起始地址存储在指针中,它需要4个参数。我的目标是现在将指针作为可可函数施放。

我已经在一两年前之前就已经完成了这项工作,但是不再可以访问所使用的示例代码。从本质上讲,我想将指向函数开始并将其转换为此的指针:

void AddValueToMain(void* basePtr, unsigned int value, __int64 compareValue, __int64 ONE_BILLION);

我如何施放此指针,以便我可以将函数称为C 写的函数?

您可以 reinterpret_cast到函数指针。假设m_ptr将指针保存到该功能:

auto AddValueToMain = reinterpret_cast<void(*)(void*,unsigned int,__int64,__int64)>(m_ptr);

现在您可以像普通功能一样调用AddValueToMain

AddValueToMain(ptr, 42, 2, 4);

最新更新