因为⿊客技术就是对计算机系统和⽹络的缺陷和漏洞的发现,以及针对这些缺陷实施攻击的技术。这⾥说的缺陷,包括软件缺陷、硬件缺陷、⽹络协议缺陷、管理缺陷和⼈为的失误。⽽这⾥的软件缺陷分析,或者漏洞的发掘就需要⽤到"反编译技术"和逆向分析技术,⽽⽬前⿊客从事⽹络协议缺陷,硬件缺陷的研究相对成熟。⽽软件则不同,种类繁多,依托的系统架构⼜各不相同,软件⼜是直接与业务应⽤息息相
编译程序把⼀个源程序翻译成⽬标程序的⼯作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码⽣成;代码优化;⽬标代码⽣成。
上图是我们对于反编译过程的初级构想(按照我们的理解),⽽实际的更为详细的过程则如下所⽰:
java xml是什么我们再对上述各个过程做⼀下更为详细的介绍:
1语法分析:语法分析程序或语法分析器把源程序的字节组织成源机器语⾔的语法短语(或语句)。这些短语⽤⼀个语法分析树表⽰。语法分析器的主要问题是确定哪些是数据和哪些是指令。
Demo程序主要逻辑:登陆界⾯(Lgoin.cs)验证License信息。如果验证成功显⽰主窗体(MainWIndow.cs)功能界⾯,正常使⽤其软件功能。
使⽤.NET Reflector ⼯具打开需反编译代码,分析需要修改代码位置。
只需删除" if (!this.License(kay, text))" 判断代码。
开启 Reflexil 插件:tools -->"Reflexil **"
Reflexil 插件会将你选择的⽅法(Mothed) ⽣成IL 中间语⾔。对分析需要删除的代码到对应IL 中间语⾔所在位置,进⾏删除。最后保存修改后的EXE进⾏重新运⾏。 ^-^ … 简单的破解⼯作已完成…^-^
从 Reflexil 插件菜单上可以看出,他还有很多功能,⽐如:注⼊类,注⼊接⼝,注⼊枚举..等。还是很强⼤的⼀款插件。
缺点:Reflector ⼯具需收费。
⽅法3:ILSpy