首页
社区
课程
招聘
[旧帖] 调试第三方的.Net程序, 附加到进程时, 程序直接退出 0.00雪花
发表于: 2012-7-1 22:42 4350

[旧帖] 调试第三方的.Net程序, 附加到进程时, 程序直接退出 0.00雪花

2012-7-1 22:42
4350
调试一个第三方的.Net程序, 由主程序和许多DLL构成, 对其中一个DLL兴趣, 于是反编译并用VS10再次编译, 替换到原来的DLL后(编译为Debug), 整个程序运行正常.

想要调试这个反编译的DLL, 在VS10工程中, 点击"附加到进程"时, 整个程序直接就退出了.
尝试用ILSpy"附加到进程"也同样退出.

通过Reflector反编译, 发现AssemblyInfo.cs中有"[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.None)]", 我尝试把反编译过的那个DLL修正为"[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.DisableOptimizations | System.Diagnostics.DebuggableAttribute.DebuggingModes.EnableEditAndContinue | System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | System.Diagnostics.DebuggableAttribute.DebuggingModes.Default)]
", 仍然无法调试.

整个程序的exe和DLL都有"DebuggingModes.None", 不知道是不是必须把.exe也要重新编译, 并修改"DebuggingModes.None"? exe文件的反编译再重编译太复杂, 并且有非常多的DLL, 而我只关心其中的单个DLL, 想对它进行调试, 不知道有什么好办法能解决?

一般.Net有些什么手段阻止调试? 能解决调试限制么?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//