gpt4 book ai didi

c# - 如何使用 .net cil jmp 操作码

转载 作者:行者123 更新时间:2023-11-30 16:22:51 25 4
gpt4 key购买 nike

我正在尝试让 jmp 操作码在 Cil 中工作

jmp  void ILTest.Program::MyFunc2(int32)

ilasm 没问题,但是当我运行程序时,我总是得到“公共(public)语言运行时检测到无效程序”异常。

我知道这是无法验证的代码,所以我尝试授予权限

SecurityPermission perm =
新的 SecurityPermission(SecurityPermissionFlag.Execution |
安全权限标志.SkipVerification |
SecurityPermissionFlag.UnmanagedCode);

但是好像没有什么效果。

有人有使用“jmp”的程序吗?

最佳答案

jmp只能跳转到与当前方法具有相同参数的方法。确保您已经在一个将 int32 作为参数的方法中,并且您没有将任何内容压入堆栈:它必须是空的。还要确保您不在 try/catch/filter/finally block 中。

如果您不能满足这些条件,请改用调用

关于c# - 如何使用 .net cil jmp 操作码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12141112/

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