调试分析.net程序,首选的工具就是dnspy,这是一款集静态分析与动态调试于一体的强大工具。
直接使用dnspy打开目标应用程序,界面上显示的信息告诉了我们函数的入口点,直接点击Main即可进入到main函数处。
或者右键左边的树结构,在弹出对话框中选择Go to Entry Point也可以跳转到程序入口点。关于dnspy的详细使用方法,请参动态调试工具篇的说明。
找到程序入口后,就可以在关键的地方设置断点(F9设置断点),然后选择菜单栏上的调试按钮开始调试。
点击上述按钮后,会弹出一个对话框,在对话框中选择要调试的程序和对应的参数就可以开始进行调试了。
如果程序没有经过混淆的话,dnspy基本可以解析处源码,所以.net的程序一般都是经过混淆的,如果知道它使用的混淆方法,可以在网上搜索对应的去混淆的工具,如果不知道的话,只有通过动态调试之后,自己对函数名或者变量名进行重命名,方法是在目标变量名或者函数名上右键选择Edit Method。
如果要修改类名的话,选择的是Edit Type。