我正在使用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 = ""
..但此代码不起作用。
答案 0 :(得分:4)
翻译(未测试):
let testobfusc (file:string) =
let assembly = AssemblyDefinition.ReadAssembly(file)
let ``module`` = assembly.MainModule
``module``.Types |> Seq.iter (fun t -> t.Name <- "Yaobfuscatethis")