我目前正在对一个似乎是静态编译的文件进行逆向工程,但是IDA Pro没有接收到任何签名!我觉得我花了很多时间来完成IDA应该认可的功能,但它们不是。
无论如何,也许我错了......有没有人有任何想法?有没有人遇到过这个?
答案 0 :(得分:1)
答案 1 :(得分:0)
如果IDA无法识别编译器(例如,启动代码中有一些更改),则不会自动应用签名。如果IDA根本不知道这个编译器,它将没有任何签名。所以:
如果它有签名但编译器未被自动识别,请手动应用它们。对于Delphi / C ++ Builder,请尝试使用b32vcl或bds。
如果它没有此编译器/库的签名,您可以使用FLAIR工具自行创建它们(假设您可以访问原始库)
答案 2 :(得分:0)
这个问题很广泛,但我会尽量发表我的意见。
如果问题是 IDA 没有正确识别 Delphi,那么您应该尝试其他软件。有一个很好的工具叫做 IDR (Interactive Delphi Reconstructor),但是请记住,它会在反汇编之前运行该软件,并且您不应该在您的 PC 上运行任何不可信的程序(尝试安装虚拟机)
否则,如果问题是关于 IDA 本身,那么…… IDA 根本就不是完美的,所以它需要一个逆向工程师来运行它,这意味着你必须静态识别一些代码、堆栈指针、变量等等。如果涉及到 Hex-Rays 反编译器,还有更多的东西需要寻找。例如,它可以识别函数的不正确约定,您必须更正它,否则它可以创建太多应该手动映射的变量。
还有一些 IDA 调情函数的数据库可能对您有用。 https://github.com/Maktm/FLIRTDB