我当前正在逆向工程,以了解其工作原理,并刚刚完成拆卸程序调用的函数。该函数的起始地址存储在指针中,它需要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);