是否可以让 .NET CLR 忽略某些异常?例如,抛出将被简单地跳过并且函数继续,好像什么也没发生?
是否可以在不修改抛出代码的位置的情况下执行此操作?该软件是 .NET 4.6.1 WinForms。
原因是由于逆向工程一些具有数千个校验和例程的恶意软件,我需要修改 MSIL 代码并因此更改校验和,通过 dnlib 脚本删除所有例程将是非常耗时的任务。如果我可以阻止特定的异常,我就可以避免这个耗时的任务。
编辑:我记得在某些 WinForms 应用程序中看到“发生异常,您想继续还是退出?” 当然,这就是我需要的,如果我能有效地拒绝异常并继续,就好像它从未发生过一样。
这是一个例子。我怎样才能启用它?
示例:请注意,我不是在编写代码。我正在用 dnspy 编辑一个已编译的 exe,所以我不能轻易更改代码,我必须手动编辑 MSIL 字节代码。
public void Test(){
throw new ArgumentException("ignore this");
MessageBox.Show("Successfully ignored exception");
}
LEATH
冉冉说
相关分类