计算已编译 C 程序的代码指标
Calculate Code Metrics of compiled C Program
为了评估不同的 C 混淆器,我正在寻找一种方法来计算已编译的 C 程序上已建立的代码指标(例如 McCabes Cyclomatic Complexity)。因此没有可用的源代码。
是否可以在已编译的 C 程序上计算此类指标,或者编译器会删除您需要的信息吗?
在最好的情况下,是否有一种工具可以用来在编译的 C 程序上计算此类指标?
反编译机器码会改变代码指标的值吗?因此,计算已编译 C 代码的代码指标以评估程序是否有意义?
顺便说一句:对于那些正在寻找工具来计算 C 源代码指标的人,我可以推荐 eclipse 插件 "Eclipse Metrics" 和 "Metriculator" ;-)
不可能。大多数 HLL 信息丢失,重构的 C(反编译)可能有不同的指标。
没有,除非通过反编译,见下
是的。通常 C 使用更简单的构造(例如 wrt 循环),然后代码行的原始和计数被夸大。因此,指标将有所不同。最好阅读一些 C 反编译常见问题解答。
我真的无法为此制定一个合理的商业案例,所以我怀疑是否有专门的供应商会尝试。
为了评估不同的 C 混淆器,我正在寻找一种方法来计算已编译的 C 程序上已建立的代码指标(例如 McCabes Cyclomatic Complexity)。因此没有可用的源代码。
是否可以在已编译的 C 程序上计算此类指标,或者编译器会删除您需要的信息吗?
在最好的情况下,是否有一种工具可以用来在编译的 C 程序上计算此类指标?
反编译机器码会改变代码指标的值吗?因此,计算已编译 C 代码的代码指标以评估程序是否有意义?
顺便说一句:对于那些正在寻找工具来计算 C 源代码指标的人,我可以推荐 eclipse 插件 "Eclipse Metrics" 和 "Metriculator" ;-)
不可能。大多数 HLL 信息丢失,重构的 C(反编译)可能有不同的指标。
没有,除非通过反编译,见下
是的。通常 C 使用更简单的构造(例如 wrt 循环),然后代码行的原始和计数被夸大。因此,指标将有所不同。最好阅读一些 C 反编译常见问题解答。
我真的无法为此制定一个合理的商业案例,所以我怀疑是否有专门的供应商会尝试。