如何对作为参数放入函数中的结构进行逆向工程
逆向工程
艾达
C++
结构
大批
2021-06-14 18:20:09
1个回答
该函数的名称不是struct dynamic_array. 该函数的名称是Mesh::CalculateBoneBindPoseBounds.
该函数接受类型为 的参数struct dynamic_array<...>。
没有名为 的函数dynamic_array,因为它只是在二进制文件中定义的结构。这个名字确实暗示我们正在处理一个std::vector-like 对象,所以我首先假设现在是这种情况,并对你特别感兴趣的函数进行逆向工程。
如果您希望对结构本身和与该dynamic_array结构相关的功能进行逆向工程,您应该寻找一个构造函数来开始。
突出显示将不起作用,因为那不是函数的全名,但浏览 IDA 的函数/名称列表视图,您可能能够找到名为struct dynamic_array. 根据实现、功能和编译参数,某些或大多数函数可能是内联的,从而防止您找到要反转的函数定义。
如果这是 C 代码(或 C++ 代码中的 C 风格),函数可能不会以它们正在实现的对象命名,尽管这似乎并非如此,命名约定很明显。
无论函数是内联的,还是作为结构/类方法或裸函数实现的,在找到结构的主要实现函数后,您应该首先映射结构的成员。它们的大小、类型和含义通过逆向工程不同的功能。大部分成员都清楚后,命名相关功能应该不会太难。
