我需要帮助来编译使用IDA Pro和Hex-Rays反编译器插件生成的伪C代码。它在此行上显示错误:在那条线上的错误。怎么了?

评论

您尝试使用哪个编译器(和版本)?请编辑您的问题。此外,由于涉及到正向工程,因此这似乎是题外话-是的,我意识到所使用的工具主要用于RCE。
@ 0xC0000022L我同意该问题缺少重要信息,但是,我发现此问题与站点有关。反编译是RE过程的一部分,编译输出与RE绝对相关。

它不会解决呼叫类型丢失的问题,但是您应该在文件中包含“ defs.h”(在hexrays sdk中找到),它包含hexrays使用的多个宏。

o,这是错误的,显然是没有为您的编译器定义'__thiscall',您应该对它进行'#define __thiscall'来消除此特定错误

#1 楼

下面的代码对我来说很好,可以作为Visual C ++中的.cpp文件进行编译: (文件扩展名为.c)文件?

评论


您显然已经对编译器做出了假设,因此您应该添加可以编译的编译器(和版本)。

– 0xC0000022L♦
2013年4月30日14:07



我没有对他的编译器做任何假设...“错误C2143:语法错误:'*'之前缺少')'是VC ++编译器错误,我在VC ++上测试了我的代码。

–詹森·格夫纳(Jason Geffner)
13年4月30日在14:12

我同意。但是哪个版本?也取决于(__thiscall)是否将其放入.cpp或.c文件中;)...您什么都没有提及,OP也没有提及。我觉得这个问题措辞极差。

– 0xC0000022L♦
2013年4月30日14:12



实际上,您提出了一个很好的观点。似乎是因为OP使用的是.c文件而不是.cpp文件。

–詹森·格夫纳(Jason Geffner)
13年4月30日在14:16