gpt4 book ai didi

.net - 如何用MSIL代码写入文件

转载 作者:行者123 更新时间:2023-12-02 07:29:40 25 4
gpt4 key购买 nike

我有一个 aspx 网页,它使用程序集矿井(它进行自定义身份验证)。我想修改程序集的 MSIL 代码(因此只需使用 ILDASM/ILASM 工具),以便在文件中记录某些内容。

我尝试将其添加到我的程序集的身份验证方法的末尾:

IL_0034:  ldstr      "C:\\path_to_my_website\\log.txt"
IL_0039: newobj instance void [mscorlib]System.IO.StreamWriter::.ctor(string)
IL_003e: stloc.1
IL_003f: ldloc.1
IL_0040: ldstr "test"
IL_0045: callvirt instance void [mscorlib]System.IO.TextWriter::Write(string)
IL_004a: nop
IL_004b: ldloc.1
IL_004c: callvirt instance void [mscorlib]System.IO.TextWriter::Close()
IL_0051: nop

ILASM没有发现任何错误,CLR在运行时也没有抛出任何异常,但是文件没有被创建或修改! :(

有什么想法吗?

最佳答案

查看Mono.Cecil 。它的目的是将程序集作为文件加载,修改其内容并保存结果。具体this example将调试跟踪添加到现有程序集的方法中。

关于.net - 如何用MSIL代码写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919592/

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