To evaluate different C Obfuscators I'm searching for a way to calculate established Code Metrics (for example the McCabes Cyclomatic Complexity) on a compiled C Program. Thus there is no source code available.
为了评估不同的C混淆器,我正在寻找一种在已编译的C程序上计算已建立的代码度量(例如McCabes Cyclomatic Complexity)的方法。因此,没有可用的源代码。
-
Is ist possible to calculate such metrics on a compiled C Program or will the compiler delete the informations you need?
是否可以在已编译的C程序上计算此类指标,或者编译器是否会删除您需要的信息?
-
Is there in the best case a tool one can use to calculate such metrics on a compiled C Program?
在最好的情况下,是否可以使用工具在已编译的C程序上计算此类指标?
-
Will Decompiling the machine code change the values of code metrics? Thus does it make sense to calculate the code metrics on a compiled C Code to evaluate the Program?
将反编译机器代码会更改代码度量标准的值吗?因此,计算编译的C代码上的代码度量以评估程序是否有意义?
By the way: For those who are searching for tools to calculate metrics for C Source Code I can recommend the eclipse plugins "Eclipse Metrics" and "Metriculator" ;-)
顺便说一句:对于那些正在寻找工具来计算C源代码的度量的人我可以推荐eclipse插件“Eclipse Metrics”和“Metriculator”;-)
1 个解决方案
#1
2
-
no not possible. Most HLL information is lost, and reconstructed C (decompiled) might have different metrics.
不可能。大多数HLL信息丢失,重建的C(反编译)可能具有不同的度量。
-
no, except by decompiling, see next.
不,除非通过反编译,请参阅下一步。
-
yes. Usually the C uses simpler constructs (e.g. wrt loops) then the original and count of codelines are inflated. The metrics thus will be different. Best read some C decompiling faqs.
是。通常C使用更简单的构造(例如wrt循环),然后代码行的原始和计数被夸大。因此,指标将是不同的。最好读一些C反编译常见问题。
I can't really make a sane business case for this, so I doubt that there are specialized vendors that even try.
我真的无法为此做出明智的商业案例,所以我怀疑是否有专门的供应商甚至尝试过。
#1
2
-
no not possible. Most HLL information is lost, and reconstructed C (decompiled) might have different metrics.
不可能。大多数HLL信息丢失,重建的C(反编译)可能具有不同的度量。
-
no, except by decompiling, see next.
不,除非通过反编译,请参阅下一步。
-
yes. Usually the C uses simpler constructs (e.g. wrt loops) then the original and count of codelines are inflated. The metrics thus will be different. Best read some C decompiling faqs.
是。通常C使用更简单的构造(例如wrt循环),然后代码行的原始和计数被夸大。因此,指标将是不同的。最好读一些C反编译常见问题。
I can't really make a sane business case for this, so I doubt that there are specialized vendors that even try.
我真的无法为此做出明智的商业案例,所以我怀疑是否有专门的供应商甚至尝试过。