-3

我正在研究使用 F# 的混淆机制。

几个月前我用 C# 写了同样的东西,如下所示:

public void testobfusc(string file)
{
    AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(file);
    ModuleDefinition module = assembly.MainModule;
    foreach (TypeDefinition type in module.Types)
    {
        type.Name = "Yaobfuscatethis"; // Maybe I should use random function here
     }
 }

现在,我正在尝试在 F# 中编写相同的内容。首先,我参考Mono.Cecil然后写:

open Mono.Cecil

let obfus(file:string)=
    use asm = AssemblyDefinition.ReadAssembly(file)
    let ModuleDefinition = asm.MainModule
    TypeDefinition(asm.MainModule.Types)
    t.Name = ""

..但是这段代码不起作用。

4

1 回答 1

4

翻译(未测试):

let testobfusc (file:string) = 
    let assembly = AssemblyDefinition.ReadAssembly(file)
    let ``module`` = assembly.MainModule
    ``module``.Types |> Seq.iter (fun t -> t.Name <- "Yaobfuscatethis")
于 2012-09-21T21:48:31.023 回答