逆向工程(Reverse Engineering)是指根据已有的产物和结果,通过分析来 推导出具体的实现方法。对软件来说,“可执行程序 -> 反编译 -> 源代码”的过程就是逆向工程。
逆向工程 的内容可以分为如下三个类 :

  • 软件使用的限制的去除或软件功能的添加
  • 软件源代码的在获得
  • 硬件的复制和模拟

逆向功能其真实目的就是再利用。据此,个人可以学习别人的编程技术以及技巧,公司可以窥探别人商业 软件的秘密或开发与之兼容的软件
一个软件逆向工程师,也许具有如下的特征:

  • 永远保持好奇心,崇尚自由 —— 既能促使探索,也能抵抗商业利益和 欲望的侵袭。有了它,粗糙的代码世界才有了生气。
  • 勤奋与毅力。
  • 精通至少一门编程语言——不仅仅是代码,更重要的编程思想
  • 扎实 的汇编功底和系统编程知识。
  • 总之,那逆向工程应该是一门优雅的艺术,而不是一些低层次者手中粗鄙的工具;;逆向工程的目的是学习与再利用;逆向的精神是“自由”。
最后修改:2021 年 09 月 10 日 12 : 31 AM
如果觉得我的文章对你有用,那就请作者喝杯奶茶吧~