首先, 语言是C#, 然后我把代码给删了… 但是在删之前, 我编译过一次, 所以… 我就想着使用反编译工具来搞了.
我知道的反编译工具, dnSply, ILSpy, dotPeek
dnSpy是ILSpy的一个分支(dnSpy is a .NET assembly editor, decompiler, and debugger forked from ILSpy)
dotPeek 是 JetBrains 的反编译工具, 在这之前我还没使用过.
乍一看, 没啥问题, 但是, 会有很多毛病哦~ 一一道来吧:
总之先导出一下吧, 选中你的项目, 然后程序左上角, 文件(File) -> 导出为项目(Export to project)
然后就是… 惨不忍睹… 左下角的错误数量 99+ 了已经, 完全没有纠错的必要.
嗯好吧, 我承认 ILSpy 没有 dnSpy 好看, 但这可不是决定实力的第一要素.
那么我们尝试导出项目吧! 在左侧选中项目, 右击, 选择 Save Code 以导出项目
感动世界!!! 没有任何错误! 非常非常非常完美~
哦豁, 看样子, 也不错啊.
导出项目咯, 直接右击项目, 然后 Export to Project
唔, 一开始就与众不同呢… 跟普通的项目完全不一样, 少了一些文件夹…
嘛, 总之先试着打开吧.
果然在VS里面一眼就能看出错误了!
它居然在本地方法的前头中加了static… 好吧好吧, 我知道它们本质上是静态的, 但你这么弄, 我可就不能编译了呀. (假设我很懒, 懒到连这仅有的一个错误也不愿意改)
如果说我平常使用, 我肯定会用 dnSpy (颜值高), 毕竟平常还是很少改源代码甚至导出为项目滴, 如果是像这次的特殊情况, 我就会用 ILSpy, 很强大的有木有? 至于 dotPeek, 打入冷宫了, 而且加载速度慢的一批, 等它启动完, 黄花菜都凉了.
也算是大成功了, 所以, 如果想要通过反编译来挽回删掉的文件, 那么请使用 ILSpy 吧! 经过这一次使用, 我也是爱上 ILSpy了, 毕竟一开始我没报有这么大希望.
如果你觉得有什么改进的, 或者有什么下期文章的建议, 评论区见ovo