-
-
[求助]C#的可执行文件的加载过程貌似很特别啊?
-
发表于:
2013-2-27 15:58
3892
-
C#的可执行文件,用LordPE查看,输入表只有mscoree.dll的_CorExeMain函数被倒入,而EP入口点倒是在text区段的正常范围,代码只有一句jmp [_CorExeMain],并且它没有Tls。
但是奇怪的是,只要用LordPE二进制修改输入表中mscoree.dll为其他名称的dll,如xxxxxxx.dll(当然此dll也有_CorExeMain函数导出),则完全无法运行,也几乎无法调试。
所谓“几乎无法调试”是这样的,用OD加载,即使是系统断点也无法断下就已经挂了,报C000007B错误,如果选中断于XX模块什么的全部勾起来,则可以断下两次,但是看样子似乎断下的时候已经发生过错误了。
那这个C#可执行文件的初始化原理到底是什么呢?为什么换了下导入dll名称就完全跑不起来了?就算它有自校验也必须在自身代码运行之后再做吧?但是现在系统加载它那里就过不去。
请教高人指点下!
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!