一次性付费进群, 永久会员,长期免费索取资料。
▼
术语“逆向工程”源自硬件领域,在软件领域目前还没有明确的定义。简单来说,软件逆向是通过观察分析软件或程序的行为、数据和代码等,来还原其设计实现,或者推导出更高抽象层次的表示。
对于软件工程而言,软件的设计讲究封装,将各个模块进行封装,将具体的实现进行隐藏,只暴露一个接口给使用者。对于模块的使用者而言,封装好的模块相当于一个“黑盒子”,使用者使用“盒子”时,无需关心“盒子”的内部实现,只需要按照模块预留的接口进行使用即可。
逆向分析实战
▼
(全文略)
对比软件工程与软件逆向工程可以发现,软件工程是在封装、实现一个具备某种功能的“黑盒子”,而软件逆向工程则是在分析“黑盒子”并尝试还原封装的实现与设计。后者对于前者而言是一个相反的过程,因此称为“软件逆向工程”。
对于软件逆向工程而言,学习逆向知识,除了要学习逆向知识本身外,还需要掌握各种不同的逆向工具,或者说逆向知识中重要的一个环节就是逆向工具的使用。对于软件开发而言,软件开发工具在软件开发中所占据的位置远远达不到逆向工具在逆向领域中的位置。因此,读者在学习编程时可能更注重的是编程语言本身而不是工具,但是在学习逆向时,逆向知识是不可能抛开逆向工具而独立进行学习的。
附:逆向分析实战.pdf
▲
– The end –
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!