从沙盒中逃脱:反思

我有一个非常有趣的问题。有点像沙盒逃逸。

目标:获取类的私有方法

我能做什么:
1)通过长名称的装配体来装载标准装配体
2)使用GetType和Type的方法

我不能:
1)在代码中使用use 2)在代码中使用系统字。当我加载程序集时,我会使用这种hack Load(“ Sys” +“ tem ....”)

看起来我可以加载诸如以下的私有方法

myType.GetMethods(Bindingflags.NonPublic | Bindingflags.Instance);

但是我没有在代码中导入Bindingflags。

好的,我可以创建Bindingflags的实例并使用它的GetField,但是它再次返回Object,因此无法将其强制转换为Bindingflags。

var value = bindingflagsType.GetField("NonPublic").Getvalue(null); //it's Object not Bindingflags

我尝试了Convert.ChangeType方法,但是调用了返回Object:)

如何解决此问题?

liyan9991 回答:从沙盒中逃脱:反思

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3158550.html

大家都在问