受朋友之托 帮忙破解个软件 流程如下
1.查壳 脱壳
未查到壳 用NETUnpack(.net通用脱壳机) 脱壳 发现程序已经被混淆 反混淆
2.反混淆
反混淆后 发现Reflector提示有一部分代码不能翻译成高级语言
反混淆工具:Simple Assembly Explorer
3.找破解入口点
分析上面的算法 得出 关键函数在上上面那张被提示不能完全反编译的函数中 m00003f(string A_0)
4.对函数分析 破解
分析后 写出如上解密函数。
m00003f(string A_0) 被我替换为 DeCode函数 因为Reflector提示有一部分不能翻译成高级语言 所以我们最后还要修复 DeCode函数。
修复过程为 用 DotNetHelper 将程序反编译 然后找到 il文件 将DeCode函数中il代码 替换成m00003f(string A_0)函数中il代码 然后进行编译
将我的程序反编译后 与原版的 m00003f(string A_0)函数内容相同
6.注册 收工
注册成功 收工
总结:依靠强大的破解及分析软件 使一些能看到源码的程序 破解起来还是比较简单的