





但是,这样做只能看到源码,并不能调试。
还需要在该dll右键,点击选中Enable Debugging,意思就是将该dll启动到可调试的状态。当你点击该选项的时候,这个插件会把这个dll的代码给转成本地的文件,.NET Reflector首先会尝试定位本机上的PDB文件,如果没有则会自己创建PDB文件,这才能进行调试。


点击后会出现一个界面,这个界面就是当前状态改变的过程。

成功后是这样的:

直接点Done关闭掉就可以。
接下来我们就可以打断点调试了!

选中断点,然后按照你喜欢的方式去调试!F5或者附加进程都可以。
有的时候,你即便打了断点,可发现怎么也调试不进去。
原因有很多可能,包括条件编译、编译器优化结果、目标体系结构等不同,总之,你不能调试。

接下来我要放一张.Net Reflector反编译的代码,和一张IL SPY反编译的代码。


可以发现,同样的dll,两个软件有着不同的反编译结果。
所以,要对编译与反编译有个最基础的概念,并不是很神奇的就能把真正的源码给你给反编译出来,而是对编译的算法进行推测,然后逆推的结果再进行软件的一些处理来达到100%接近源码的这样一个程度。
有反编译,那么就有防激活成功教程加密。
有些代码,经过加壳混淆,反编译出来的东西很尴尬。
那么,关于对dll加密这方面的东西,大家如果有兴趣,可以自行百度了解下。
而关于反编译,除了il spy,.Net Reflector 还有JetBrains dotPeek、Telerik JustDecompile等等,区别就是算法不同反编译出来的代码不同、收费、功能等
我刚演示的.Net Reflector,还有很多功能,这里只做最简单的入门教程,有兴趣请自行了解, 这是人家的网站,http://www.red-gate.com/products/dotnet-development/reflector/


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208277.html