.net的程序的逆向分析。


背景:碰到一个由c#写的exe,由于之前没有分析过.net的程序,记录下分析流程。


1)peid加载判断类型,可以看出没有加壳。


2)搜索c#的反编译以及调试工具。
1.NET.Reflector以及reflexil(安装reflexil.for.Reflector.2.1.AIO.bin)
2.使用reflexil进行修改指令后导出。(无法运行,蛋疼!)
3.下载ILSpy_with_debugger_2_2带ILSpy.Debugger.Plugin的版本。
1)进行动态调试,可以显示reg的数据,但是单步进去后无法显示蛋疼。
4.下载dnSpy进行动态调试,可是显示,在最终的获取字符串的地方下断验证。
数组在4844位获取就是md5所需要的字符串。
5.进行验证。

参考:
http://www.cnblogs.com/yeaicc/p/ILSpyWithDebugger.html
https://www.52pojie.cn/thread-271347-1-1.html
http://www.aneasystone.com/archives/2015/06/net-reverse-decompiling.html

原文地址:https://www.cnblogs.com/konf/p/7825066.html