逆向工程是怎么实现的?能举例吗?

如题所述

逆向工程是一种通过分析已有的东西和结果,推导出具体的实现方法的过程。它涉及到多个领域和技术,包括反汇编、反编译、动态跟踪、逆向软件工程等。
在软件逆向工程中,反汇编技术是将二进制代码转换为汇编代码,以便研究和理解程序的结构、逻辑和算法,为后续分析和修改提供基础;调试技术是通过监控和调试程序的运行状态,获取关键数据、变量、内存地址等信息,以便深入分析和修改程序;破解技术则是针对加密、保护和授权等机制进行破解,以绕过软件保护、限制和认证等措施,从而获得更多的权限和控制。
在硬件逆向工程中,逆向工程人员通常会采用影像反求、软件反求及实物反求等方式。其中,影像反求是通过分析物体的照片或视频,推导出物体的三维模型和结构信息;软件反求则是通过分析软件的源代码或二进制文件,推导出软件的设计和实现细节;实物反求则是通过分析物体的物理特性、材料和制造工艺等信息,推导出物体的设计和制造方法。
至诚工业逆向工程的实现需要具备一定的技术知识和实践经验。它不仅需要深入理解计算机系统和软件架构,还需要掌握调试技术、汇编语言、反汇编技术等专业知识。此外,逆向工程师还需要具备耐心和细心的工作态度,以及较强的逻辑分析和推理能力。
需要注意的是,逆向工程是一种技术手段,但并不意味着它是解决所有问题的最佳方法。在某些情况下,逆向工程可能会涉及法律和道德问题,因此在进行逆向工程时需要遵守相关法律法规和道德规范。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-06
逆向工程(又名反向工程,Reverse Engineering-RE)是对产品设计过程的一种描述。在2007年初,我国相关的法律为逆向工程正名,承认了逆向技术用于学习研究的合法性。
在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。从这个意义上说,逆向工程在工业设计中的应用已经很久了。比如早期的船舶工业中常用的船体放样设计就是逆向工程的很好实例。
随着计算机技术在各个领域的广泛应用,特别是软件开发技术的迅猛发展,基于某个软件,以反汇编阅读源码的方式去推断其数据结构、体系结构和程序设计信息成为软件逆向工程技术关注的主要对象。软件逆向技术的目的是用来研究和学习先进的技术,特别是当手里没有合适的文档资料,而你又很需要实现某个软件的功能的时候。也正因为这样,很多软件为了垄断技术,在软件安装之前,要求用户同意不去逆向研究。
逆向工程的实施过程是多领域、多学科的协同过程。本回答被网友采纳
第2个回答  2019-03-06
  逆向工程还可以帮助检测和消除使用更好的代码检测器写入软件的恶意代码。反转源代码可用于查找源代码的替代用途,例如检测源代码未被使用的未经授权的复制,或揭示竞争对手产品的构建方式。此过程通常用于“破解”软件和媒体以删除其副本保护,或创建(可能改进的)副本甚至是仿冒品,这通常是竞争对手的目标或黑客。恶意软件开发人员经常使用逆向工程技术来查找操作系统(OS)中的漏洞,以便构建可利用系统漏洞的计算机病毒,在密码分析中也使用逆向工程,以便在替代密码,对称密钥算法或公钥加密中发现漏洞。
第3个回答  2019-03-06
如对于一项工业产品,例如光电探测器,对其进行拆解,观察里面含有何种零部件,然后检测测量其材料,尺寸,特性,如电容值,电阻值等。然后尽量制作相同零部件,仿照原有产品,用现有工艺,进行组装。优点:快速获得高性能的产品。缺点:缺乏基础研究,难以升级优化。
第4个回答  2019-03-06
逆向工程一般是不允许的,那是盗版行为,技术上讲就是把编译后的程序源代码翻译回来,具体实现要看是什么源代码编的,又是啥软件编译的,这需要计算机高手来完成,一般人没这个能力。
相似回答