gpt4 book ai didi

F# MSIL 混淆

转载 作者:行者123 更新时间:2023-12-04 17:37:18 30 4
gpt4 key购买 nike

两个混淆相关的问题:

1) 是否有任何工具可以将 F# 从 MSIL 目标形式反汇编回其源形式或接近它的形式?这不是通过默默无闻来实现安全性的尝试,但我想保护某些源代码免遭“盗窃”。

2) 我简要地查看了一些 F# 编译器输出,与反汇编 C# 编译代码时得到的结果相比,它通常看起来很乱,大概是因为 C# 更接近 MSIL 中间表示。我从 C# 编译器中看到的唯一部分损坏的代码是迭代器(从 C# 5.0 开始可能是异步的)。

到目前为止,我的印象是 F# 编译的代码被合理地“混淆”了,但这是真的吗? (我意识到这是一个有点主观的问题。)

最佳答案

  • 我没有听说过这样的事情;但是,我认为这样的工具很可能会在相对不久的将来出现。
  • F# 编译器生成的程序集(即 MSIL 和相关元数据)不会以任何方式混淆。但是,它生成的某些代码与 C# 或 VB.NET 编译器生成的代码大不相同,因此逆向工程不会那么容易(仅仅是因为这样做的工具不可用)。当然,正如@Craig Stuntz 所说,这并不能为有经验的、有动机的攻击者提供太多保护。

  • 如果你真的很偏执,你可能会考虑在你编译的程序集上使用混淆工具,然后再发送它们。我一直在用 {SmartAssembly}自 2010 年末开始使用 F#,所以我知道其中一个适用于 F#;如果您使用其他工具,请确保在购买之前针对一些相当复杂的 F# 程序集对其进行测试——当时我正在寻找混淆器,其中许多无法(或根本无法)与 F# 程序集一起正常工作。

    我写了一些关于混淆 F# 程序集的笔记,如果你想阅读更多: Any experience using .NET obfuscators on F# assemblies?

    关于F# MSIL 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127190/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com