- 北境漫步
-
当想让一个容器做两件事情,或者使一个Docker镜像包含来自两个不同镜像的依赖库时,就需要知道每个镜像的Dockerfile。本文介绍了如何通过docker history命令来对Docker镜像进行反向工程,得到它们的Dockerfile,并组织到一个Dockerfile里然后build,从而实现想做的事情。
常言道,“不要重复发明轮子!”
在使用Docker时,构建自己的镜像之前,最好在Docker Hub寻找一些可以直接使用的镜像做练习。把软件架构分布到一系列容器中,每一个容器只做一件事情,这样的效果非常好。构建分布式应用的最好的基石是使用来自Docker Hub的官方镜像,因为可以信任它们的质量。
在某些情况下,可能想让一个容器做两件不同的事情。而在另外一些情况下,可能想让一个Docker镜像包含来自两个不同镜像的依赖库。如果有每个镜像的Dockerfile,这是非常简单的。将它们组织到一个Dockerfile里然后build就行。
然而,大多数时间都在使用Docker Hub上准备好的镜像,不会有它们的源Dockerfile。我花时间找一个可以合并(或flatten)两个不同Docker镜像的工具,当然没有它们的Dockerfile。也就是说在找一个能做下面这件事的东西:
image 1 --
---> merged_image_12
/
image 2 --
此前在GitHub上有两个相关的讨论(1、2),尽管它们都被关闭了。
这可能吗?
那么,是否存在工具能够像这样做吗:docker merge image2 image2 merged_image?
没有!
你甚至不可以用下面的方式来构建Dockerfile:
FROM image1
FROM image2
简而言之,在一个Dockerfile里不能有多个基础镜像。
但是我需要这个功能!
唯一的解决办法是取得这些镜像的Dockerfile,然后把它们组织到一个文件中,再进行构建。那么,我能在Docker Hub上获得一个镜像的Dockerfile吗? 幸运的是可以。它不能离线获取(译注:原文是online,但显然online时对于来自GitHub的自动构建镜像是可以直接获取的),但是你可以使用docker history命令,通过反向工程获取。
怎么来使用?
在你的机器上使用docker pull从Docker Hub下载镜像。
docker pull image1
docker pull image2
然后使用docker history来取得构建这两个容器时运行的命令。
docker history --no-trunc=true image > image1-dockerfile
docker history --no-trunc=true image2 > image2-dockerfile
接下来打开这两个文件,你可以看到每个镜像的命令堆栈。这是因为Docker镜像通过层(阅读更多)的方式来构建。即你在Dockerfile中键入的每一个命令所构建的新镜像,都是在之前的命令产生的镜像之上。所以你可以对镜像进行逆向工程。
限制
不能对镜像进行反向工程的唯一场景,是镜像的维护者在他的Dockerfile中使用了ADD或COPY命令。你会看到这样一行:
ADD file:1ac56373f7983caf22
或 ADD dir:cf6fe659e9d21535844
这是因为不知道维护者在他自己的机器上,包括镜像里使用了什么本地文件。
反向工程的简介
反向工程(Reverse Engineering, RE)也称逆向工程或反求工程,是相对于传统的产品设计流程即所谓的正向工程(Forward Engineering, FE)而提出的。正向工程是泛指按常规的从概念(草图)设计到具体模型设计再到成品的生产制造过程。反向工程常指从现有模型(产品样件、实物模型等)经过一定的手段转化为概念模型和工程设计模型,如利用三坐标测最机的测量数据对产品进行数学模型重构,或者直接将这些离散数据转化成NC 程序进行数控加工而获取成品的过程,是对已有产品的再设计、再创造的过程。 反向工程指从他人的产品入手,进行分解剖析和综合研究,在广泛搜集产品资讯的基础上,通过对尽可能多的同类产品的解体和破坏性研究,运用各种科学测试、分析和研究手段,反向求索该产品的技术原理、结构机制、设计思想、制造方法、加工工艺和原材料特性,从而达到从原理到制造,由结构到材料全面系统地掌握产品的设计和生产技术。2023-08-26 12:33:061
什么是反向工程?
反求工程(Reverse Engineering)这一术语起源于60年代,但对它从工程的广泛性去研究,从反求的科学性进行深化还是从90年代初刚刚开始.反求工程类似于反向推理,属于逆向思维体系.它以社会方法学为指导,以现代设计理论,方法,技术为基础,运用各种专业人员的工程设计经验,知识和创新思维,对已有的产品进行解剖,分析,重构和再创造,在工程设计领域,它具有独特的内涵,可以说它是对设计的设计.2023-08-26 12:33:282
中国法律反向工程合法性
法律分析:反向工程并不违法。反向工程是指企业先从公开渠道获得商品,再通过技术手段进行测绘、拆卸和分析,从而获得商品的技术信息。根据司法解释的规定,通过反向工程的方式获得商业秘密,不构成反不正当竞争法规定的侵犯商业秘密的行为。但是,如果当事人以不正当手段窃取他人商业秘密,又以反向工程证明自己行为合法的,人民法院不予支持。法律依据:《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》 第十二条 通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为反不正当竞争法第十条第(一)、(二)项规定的侵犯商业秘密行为。 前款所称“反向工程”,是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,不予支持。《中华人民共和国反不正当竞争法》 第九条 经营者不得实施下列侵犯商业秘密的行为:(一)以盗窃、贿赂、欺诈、胁迫、电子侵入或者其他不正当手段获取权利人的商业秘密;(二)披露、使用或者允许他人使用以前项手段获取的权利人的商业秘密;(三)违反保密义务或者违反权利人有关保守商业秘密的要求,披露、使用或者允许他人使用其所掌握的商业秘密;(四)教唆、引诱、帮助他人违反保密义务或者违反权利人有关保守商业秘密的要求,获取、披露、使用或者允许他人使用权利人的商业秘密。经营者以外的其他自然人、法人和非法人组织实施前款所列违法行为的,视为侵犯商业秘密。第三人明知或者应知商业秘密权利人的员工、前员工或者其他单位、个人实施本条第一款所列违法行为,仍获取、披露、使用或者允许他人使用该商业秘密的,视为侵犯商业秘密。本法所称的商业秘密,是指不为公众所知悉、具有商业价值并经权利人采取相应保密措施的技术信息、经营信息等商业信息。2023-08-26 12:33:471
反向工程需要具备哪些条件
1.反向工程以合法获得软件为前提条件,只能由合法使用人进行。 实施反向工程的对象必须合法,若通过非法手段获得软件,随后再行复制、转换仍为合法,则犹如承认毒树之果无毒,知识产权保护的基础就毫无依托了。因此,在反向工程行为的对象上必须以合法获得为基础;在反向工程行为的主体上则必须是软件的合法使用者才能进行。 2.反向工程不以获取兼容信息为唯一目的。 只要是软件的合法使用者,就有权对其合法使用的软件进行反向工程,并且不应当限制反向工程行为的目的和性质,换言之,即使是非个或者商业性的反向工程作为一种合理使用软件的手段都应当得到许可,反向工程在目的上不应局限于软件兼容这一狭窄范围之内。 3.通过反向工程所形成的作品不得进行营利性使用,具有独创性的新作品除外。 虽然,对反向工程行为的目的不作特别的限制,但对反向工程行为的结果,则应该严格加以管制:不得擅自用于营利性目的。2023-08-26 12:33:561
反向工程的技术
反向工程技术,是以实物(产品)、软件、图纸、程序、技术文件、影像(图片、照片)作为研究对象,应用现代设计理论方法、生产工程学、材料学和有关专业知识(测量学、信号自动处理)进行系统深入的分析和研究,是一种快捷的新产品开发技术。反向工程技术反求内容广泛,包括:产品的结构和工作原理、产品的材料和力学性能、制造产品的技术资料(图纸、制造工艺、装配工艺、产品检验)、产品技术标准(型号、规格、标准)。其本质是对先进产品进行消化、吸收,再开发和创新,设计和制造出具有竞争力的新产品。缩短新产品的开发周期,提高新产品开发的一次成功率,从而提高企业在市场中的竞争力。反向工程技术主要应用于:产品(零件)的仿制和复制,复杂产品(零件)的设计,产品(零件)的检验、改进设计,复杂形体的CAD建模,产品设计与快速成形技术等。2023-08-26 12:34:231
药学什么叫反向工程
反向工程:研究人员通过开发一种新的、不同于已经发明了的(和受专利保护的)生产过程生产新药或化学制剂。因为在专利法只保护制药过程而不是产品的国家里,实施反向工程是可能的。做仿制药,看很重要,比如原研产品的外观、颜色、包衣、大小、是否有刻痕等等,但不能只靠看,还需要有科学的分析方法帮我们更深刻的了解原研产品的处方信息、工艺信息、溶出信息、杂质信息、稳定性信息等等。在做仿制药的时候,参照药是你的仿制目标,要达到药学和生物两个等效,就需要对参照药进行质量概况和处方分析,这些都属于反向工程。制剂反向工程没有专门学的,还是学制剂技术本身吧,2023-08-26 12:34:361
反向工程侵犯商业秘密吗
逆向工程取得新的技术改进、突破,形成的新技术当然是商业秘密,受法律保护!反向工程是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,法院是不予支持。1、反向工程是指通过技术手段对公开渠道的终端产品进行拆卸、测绘、分析等,从而获得该产品的有关技术信息的手段。2、因为反向工程的研究对象是公开的,故通过反向工程所获得的技术信息,即使正好是他人的商业秘密,也不构成对他人的商业秘密的侵犯。获取、披露、使用通过反向工程获取的信息,不构成侵犯商业秘密。反向工程的合法性需要满足哪些条件?依据相关司法解释的规定,通过自行开发研制或者反向工程等方式获得的商业秘密的,并不属于违法的行为,并不认定为侵犯商业秘密。首先,逆向工程也称为反向工程,是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。其次,通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为侵犯商业秘密行为。再次,当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,属于侵犯商业秘密的行为。【法律依据】:《中华人民共和国反不正当竞争法》第九条 经营者不得实施下列侵犯商业秘密的行为:(一)以盗窃、贿赂、欺诈、胁迫、电子侵入或者其他不正当手段获取权利人的商业秘密;(二)披露、使用或者允许他人使用以前项手段获取的权利人的商业秘密;(三)违反保密义务或者违反权利人有关保守商业秘密的要求,披露、使用或者允许他人使用其所掌握的商业秘密;(四)教唆、引诱、帮助他人违反保密义务或者违反权利人有关保守商业秘密的要求,获取、披露、使用或者允许他人使用权利人的商业秘密。经营者以外的其他自然人、法人和非法人组织实施前款所列违法行为的,视为侵犯商业秘密。第三人明知或者应知商业秘密权利人的员工、前员工或者其他单位、个人实施本条第一款所列违法行为,仍获取、披露、使用或者允许他人使用该商业秘密的,视为侵犯商业秘密。本法所称的商业秘密,是指不为公众所知悉、具有商业价值并经权利人采取相应保密措施的技术信息、经营信息等商业信息。2023-08-26 12:34:451
逆向工程是怎么实现的?能举例吗?
这个问题太难了!小学没毕业,回答不来啊U0001f6042023-08-26 12:34:567
什么是逆向工程
逆向工程 (Reverse Engineering, RE),也称反求工程、反向工程,源自精密测量和质量检验,是设计下游向上游反馈信息的回路,以先进产品的实物 样件 软件(图样、程序、技术文件)或影像(图像 照片)作为研究对象,应用现代设计方法学、生产工程学、材料学、计算几何学、微分几何学和有关专业知识进行系统分析和研究,探险掌握其关键技术,进而开发出更先进产品的技术,也是消化、吸收先进技术时采取的一系列方法和应用技术的结合2023-08-26 12:35:152
法律鼓励反向工程利益,根本目的是什么
在于平衡商业秘密权利人和社会公众之间的利益。根据查询华律网得知,法律鼓励反向工程利益,根本目的是在于平衡商业秘密权利人和社会公众之间的利益。反向工程是指企业先从公开渠道获得商品,再通过技术手段进行测绘、拆卸和分析,从而获得商品的技术信息。2023-08-26 12:35:341
反向工程的使用原因
需要反向工程的原因如下:1.接口设计。由于互操作性,反向工程被用来找出系统之间的协作协议。2.军事或商业机密。窃取敌人或竞争对手的最新研究或产品原型。3.改善文档。当原有的文档有不充分处,又当系统被更新而原设计人员不在时,反向工程被用来获取所需数据,以补充说明或了解系统的最新状态。4.软件升级或更新。出于功能、合规、安全等需求更改,反向工程被用来了解现有或遗留软件系统,以评估更新或移植系统所需的工作。5.制造没有许可/未授权的副本。6.学术/学习目的。7.去除复制保护和伪装的登录权限。8.文件丢失:采取反向工程的情况往往是在某一个特殊设备的文件已经丢失了(或者根本就没有),同时又找不到工程的负责人。完整的系统时常需要基于陈旧的系统上进行再设计,这就意味着想要集成原有的功能进行项目的唯一方法便是采用反向工程的方法分析已有的碎片进行再设计。9.产品分析:用于调查产品的运作方式,部件构成,估计预算,识别潜在的侵权行为。2023-08-26 12:35:441
什么是逆向工程?什么是反编译?可以根据已经封装好的程序软件进行破解分析出源代码吗?
逆向工程就是根据已有的程序来反推出源代码以及原来的工程设置,反编译就是具体的将已经编译好的程序进行反向工程,从而获取部分源代码。一般来说,逆向工程或者反编译是无法百分之百获得源代码的,只能从一定程度上来自源代码进行猜测,因此根据已经封装好的程序软件来进行破解分析出源代码的可能性并不大,逆向工程的意义并不在于破解源代码,而是在于了解软件本身的设计,对于复杂的程序软件而言破解源代码的可能性几乎为零。2023-08-26 12:36:001
根据中国法律,关于反向工程的合法性,需要满足哪些条件?
具体情况咨询一下律师,他的明白一般人不太明白详细规矩。2023-08-26 12:36:1111
通过反向工程得到的技术生产商品算侵权吗?
1、如果是通过合法手段取得产品,进行反向工程,该行为没有侵犯权利人的商业秘密,不构成侵权。2、如果反向工程实施人在取得产品时和权利人签订了保密协议或采购合同,双方约定了合作方、买方不得进行反向工程,则构成侵权。2023-08-26 12:36:394
反向工程的PCB
PCB反向工程,又称PCB抄板,即在已经有电子产品实物和电路板实物的前提下,利用反向研发技术手段对电路板进行逆向解析,将原有产品的PCB文件、物料清单(BOM)文件、原理图文件等技术文件以及PCB丝印生产文件进行1:1的还原,然后再利用这些技术文件和生产文件进行PCB制板、元器件焊接、飞针测试、电路板调试,完成原电路板样板的完整复制。对于PCB反向工程,很多人存在概念误解,甚至认为是山寨,事实上,随着抄板行业的不断发展和深化,今天的PCB抄板概念已经得到更广范围的延伸,不再局限于简单的电路板的复制和克隆,还会涉及产品的二次开发与新产品的研发。比如,通过对既有产品技术文件的分析、设计思路、结构特征、工艺技术等的理解和探讨,可以为新产品的研发设计提供可行性分析和竞争性参考,协助研发设计单位及时跟进最新技术发展趋势、及时调整改进产品设计方案,研发最具有市场竞争性的新产品。同时,PCB抄板的过程通过对技术资料文件的提取和部分修改,可以实现各类型电子产品的快速更新升级与二次开发,根据抄板提取的文件图与原理图,专业设计人员还能根据客户的意愿对PCB进行优化设计与改板,也能够在此基础上为产品增加新的功能或者进行功能特征的重新设计,这样具备新功能的产品将以最快的速度和全新的姿态亮相,不仅拥有了自己的知识产权,也在市场中赢得了先机,为客户带来的是双重的效益。PCB反向工程的技术实现过程简单来说,就是先将要抄板的电路板进行扫描,记录详细的元器件位置,然后将元器件拆下来做成物料清单(BOM)并安排物料采购,空板则扫描成图片经抄板软件处理还原成pcb板图文件,然后再将PCB文件送制版厂制板,板子制成后将采购到的元器件焊接到制成的PCB板上,然后经过电路板测试和调试即可。目前最高人民法院已为PCB反向工程正名,但许多正规的抄板单位机构(例如:广东龙人计算机)都有明确规定,凡在公司进行反向工程的客户,必须有合法的设计版权来源声明,以保护原创设计版权所有者的合法权益,并要求客户承诺反向成果主要用于教学、分析、技术研究等合法用途。同时,反向工程致力于在原有产品设计思路上进行二次开发,通过电路原理分析与资料提取,在产品设计中加入新的设计理念与功能模块,快速在原有产品基础上实现创新升级与更新换代,助力电子行业整体竞争力的提升。2023-08-26 12:36:491
反向工程的相关法律
在美国及其他许多国家,制品或制法都受商业秘密保护,只要合理地取得制品或制法就可以对其进行反向工程。专利需要把你的发明公开发表,因此专利不需要反向工程就可进行研究。反向工程的一种动力就是确认竞争者的产品是否侵权专利或侵犯版权。为了互用性(例如,支持未公开的文件格式或硬件外围),而对软件或硬件系统进行的反向工程被认为是合法的,虽然专利持有者经常反对并试图打压以任何目的对他们产品进行的反向工程。为了获取一个有版权的计算机程序中隐含的思想和功能元素且有合法的理由要获取,当只有拆解这一种方法时,根据法律判定,拆解是对有版权作品的公平使用。 中国最高人民法院2007年1月17日公布“关于审理不正当竞争民事案件应用法律若干问题的解释”,首次明确规定:通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为反不正当竞争法有关条款规定的侵犯商业秘密行为。 即通过自行研发或反向工程获得商业秘密不属非正当竞争行为,正式为反向工程正名。2023-08-26 12:37:031
该怎么制定逆向工程技术学习目标?
计划是实现目标的蓝图,好的计划等于成功的一半。对于那些面临毕业升学的中学生来说,在短时间内使自己的学习成绩有一个质的飞跃,复习计划的制定起着关键的作用。恰当的复习计划,有助于统筹兼顾地安排好各科的复习。目标明确的复习,会大大提高复习的效率。可能有的同学会问,老师平时已为我们安排好了复习的计划,跟着老师复习就行,何必再费劲呢?这种想法极为不对。老师的计划是从教的角度针对全班同学制定的,很难照顾到个别,而每个学生的情况是不一样的,所以应针对自己的情况,再制定出一个适合自己的复习计划,这样两方面相互照应、配合,才会取得最佳的学习效果。要制定出切实可行的计划,必须注意以下几点:1.复习计划要合理制定计划不要过于理想和主观。一些考生认为考前复习是决定一生命运的关键时期,这个时期要玩命学,所以制定计划时,目标和时间安排得过紧,除了吃饭和睡觉,计划排得满满的。但实际上总是做不到,于是走向另一个极端,认为定计划根本无用,不如凭感觉学习呢!其实,一般人每天的精力是有限的。考前复习期间虽然比平时需要更为充沛的精力,但也不能长时间超负荷运转。考试成功在某种意义上并不取决于一时的成效,而取决于整个学习过程的时效。在制定计划时,一定要把体育锻炼、看电视等运动、娱乐的时间适当留出一些。一天的活动要富于变化,各有固定的时间和步骤,健康、有规律的生活,才是有效学习的基础。另外,制定计划还要考虑到自己现在的学习情况、家庭环境、体质、最佳用脑时间、各科的难度特点等等。复习计划不是学习目的,只是学习的一种打算,一种安排,是借此来循序渐进地获取知识的一种手段。2.要有明确的目标通过一个阶段的学习,要达到什么水平、掌握哪些知识等,都是在制定学习计划前应该明确的,这些目标应明确、具体而且符合你的实际水平。如 3000多个英语单词,全都复习一遍需要多少时间?现有的数学分数是80分左右,经过多长时间的复习能达到85分并能保持稳定?如果你把这些具体目标写出来,过一段时间再去核对,你会发现自己原来取得了如此大的进步,你会为自己拥有的潜能而骄傲。这就像我们小的时候,每一年都把自己的身高画在门上做一个记号,再过一年,你会发现自己居然已经长高了那么多。3.复习计划要长短结合长远计划和短期安排要相互结合好。应先制定长远计划,据此确定短期安排来促使长远计划的实现。如考前的几个月,要有每月的复习目标,还要有每周的目标,然后是每天的和每个单元的目标。也许你因为种种原因,未能实现学习目标,这不能说明制定目标本身是错误的,而只能说明你需要调整学习目标。4.划分好各科的复习时间根据自己对每门课的掌握情况,应合理分配各科复习所需要的时间,弱项多分配一些时间。另外,从制定计划开始到考前,对相应科目的复习遍数,以及每遍所采取的复习方式和所应达到的程度,最好都有明确的规定。5.要从微观上划分复习的时间以一周为单位,除上课外,有多少时间可用于自己复习?把这些时间以1小时或1.5小时为单位划分成时间段,根据不同的时间段,安排相应的复习内容。目标分配得越精细、越明确,越有利于提高复习的效果。6.个人计划要与老师的计划协调起来个人计划不能与老师的计划相冲突,而应与其协调起来,作为其有益的补充,这样既抓住了复习的主体又照顾到了自己。7.要认真执行计划计划制定出来,只是完成了第一步,还要坚持认真执行。最好把计划贴在自己看得到的地方,以及时鞭策自己。要及时检查、监督计划执行情况,从检查中获得反馈,及时进行调整和补救。为了保证计划的高效执行,切记:◎每天到了规定的时间,就开始相应科目的学习,不要受任何影响。◎坐下后,尽量在最短的时间内使注意力集中起来。◎到了预定的时间,马上停止现有的学习,去干所安排的其他任务。◎学习桌上不要放与当前学习无关的东西,以免受干扰。◎提前完成任务时,可进行自我奖励,进行积极的休息。2023-08-26 12:37:193
反向工程的军事应用
反向工程经常被用在军事上,用来复制从战场上由常规部队或情报活动获得的别国的技术、设备、信息或其零件。二战和冷战中经常被用到。二战以来的著名例子有:1.便携油桶:英美军注意到德军有一种设计绝妙的油桶,于是就用反向工程复制了这些桶。这些被泛称为“便携油桶”。2.图波列夫Tu-4: 三架飞往日本的B-29轰炸机迫降到了苏联。苏联没有类似的战略轰炸机,就决定复制B-29。几年后他们开发出了Tu-4,几近完美的复制品。3.V2火箭:战争结束时V2的技术文档和相关技术被西方联盟俘获。苏联和被俘的德工程师要用俘获的构件重建技术文档和图纸,用于生产这种导弹的代件。R-1启动了战后苏联导弹计划,一直到R-7,并导致了太空竞赛。4.K-13/R-3S导弹(北约代号为AA-2 "Atoll)是苏联对AIM-9响尾蛇的反向工程复制品。早期传说一枚台湾AIM-9B射中中国大陆MiG-17后没有爆炸,这枚导弹留在了机身里,飞行员带着这枚导弹返回了基地。根据苏联公开的数据则是由坠毁在中国境内的美国海军的战斗机残骸上取得。5.BGM-71 TOW导弹:1975年三月,伊朗与休斯导弹系统公司的关于TOW和Maverick导弹合作的谈判因价格体系的分歧停止了,接下来的1979年革命结束了这种合作的所有计划。伊朗成功地对这种导弹进行反向工程,目前正在生产他们自己的复制品:图芬(Toophan)。2023-08-26 12:37:281
抄已经停产的电路板犯法吗
首先这种行为法律没有明确规定,另一方面仿制之后以营利为目的的出售应视为侵权行为,具体的判定要看具体的行为来分析。抄电路板不侵权。印刷电路板没有相应知识产权。著作权和集成电路布图设计以及外观设计都不能用来保护电路板,这是一个法律制度设计的缺陷,目前无法克服,也就无法保护。PCB抄板属于反向工程的范畴,自整个概念诞生以来,它就一直处于广泛的争议之下,反向工程的方法在集成电路工业的发展中起着巨大的作用,世界各国厂商无不采用这种方法来了解别人产品的发展,如果严格禁止这种行为,便会对集成电路技术的进步造成影响,所以各国在立法时都在一定条件下将此视为一种侵权的例外。为了教学、分析和评价布图设计中的概念、技术或者布图设计中采用的电路、逻辑结构、元件配置而复制布图设计以及在此基础上将分析评价结果应用于具有原创性的布图设计之中,并据此制造集成电路,均不视为侵权。但是,单纯地以经营销售为目的而复制他人受保护的布图设计而生产集成电路,应视为侵权行为。2023-08-26 12:37:422
逆向工程,快速原型,快速模具之间的关系是怎样的
逆向工程、快速原型和快速模具是密切相关的概念,它们在产品开发和制造过程中有着紧密的联系。逆向工程是指通过对现有产品或零部件进行扫描、测量和分析,以获取其几何形状、结构和功能等信息的过程。逆向工程可以用于复制和研究现有产品,或者用于进行设计改进和修复。快速原型是指利用快速制造技术,通过3D打印、数控加工、激光切割等方法,快速制作出产品的实体模型。快速原型可以用于快速验证设计概念、进行功能测试和市场验证等,缩短产品开发周期。快速模具是指使用快速制造技术,快速制作出用于短期生产的模具。快速模具可以快速制造出产品的批量样件或小批量生产,用于快速响应市场需求或进行小规模试产。它们之间的关系可以简单描述为:逆向工程提供了产品的几何形状和结构信息,快速原型技术可以基于这些信息快速制作出产品的实体模型,而快速模具技术可以基于快速原型或逆向工程的结果,快速制作出用于短期生产的模具,实现产品的小规模生产。综上所述,逆向工程、快速原型和快速模具相互关联,共同为产品开发和制造提供了快速、高效的解决方案,加快了产品上市和市场反馈的速度,提高了产品的竞争力。2023-08-26 12:38:042
请问什么是反编译,原理是怎么样的?
反编译高级语言源程序经过编译变成可执行文件,反编译就是逆过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。2023-08-26 12:38:121
uml中什么是前向工程和逆向工程
应该是正向工程和反向工程,正向工程指的是从UML模型生成编程代码。反向工程指的是从项目代码生成UML模型。具体的介绍可以参考trufun.net在线帮助,也可以trufun工具应用正反向工程。。2023-08-26 12:38:221
什么是Java代码的编译与反编译?
Java代码的编译与反编译2017-02-21Hollis数盟一、什么是编译1、利用编译程序从源语言编写的源程序产生目标程序的过程。2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。二、什么是反编译计算机软件反向工程(Reverseengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。三、Java类的编译与反编译我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。class文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)四、什么时候会用到反编译1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件。2、学习Java过程中,JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译。五、反编译工具1、javap2、Jad:官网(墙裂推荐)客户端:可以在官网下载可执行文件,找到对应的操作系统的对应版本,然后进行安装使用。因为我使用的是linux操作系统,所以我下载的是Linux版本的工具,这个工具下载好之后会有一个执行文件,只要在执行文件所在目录执行./jadhelloworld.class就会在当前目录下生成helloworld.jad文件,该文件里就是我们很熟悉的Java代码Eclipse插件:下载地址在官网下载插件的jar包,然后将jar包放到eclipse的plugins目录下‘在打开Eclipse,Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,在Pathtodecompiler中输入你刚才放置jad.exe的位置,也可以制定临时文件的目录。当然在JadClipse下还有一些子选项,如Debug,Directives等,按照默认配置即可。基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->FileAssociations我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的ClassFileViewer,而JadClipse是默认的。全部配置完成,下面我们可以查看源码了,选择需要查看的类,按F3即可查看源码2023-08-26 12:38:291
反向工程不侵权?
反向工程是否侵权,取决于侵犯的对象。如果是技术秘密,反向工程不构成侵权,如果是专利,则反向工程仍然构成侵权。同意楼上的意见2023-08-26 12:38:391
介绍什么是反求工程,反求工程的用途,及目前主流反求工程软件介绍
反求工程(Reverse Engineering,RE),也称逆向工程、反向工程,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程,是一个从样品生成产品数字化信息模型,并在此基础上进行产品设计开发及生产的全过程。快速导航微信文章基本介绍 反求工程(Reverse Engineering)这一术语起源于20世纪60年代,但对它从工程的广泛性去研究,从反求的科学性进行深化还是从20世纪90年代初刚刚开始.反求工程类似于反向推理,属于逆向思维体系.它以社会方法学为指导,以现代设计理论,方法,技术为基础,运用各种专业人员的工程设计经验,知识和创新思维,对已有的产品进行解剖,分析,重构和再创造,在工程设计领域,它具有独特的内涵,可以说它是对设计的设计。 反求工程技术是测量技术,数据处理技术,图形处理技术和加工技术相结合的一门结合性技术.随着计算机技术的飞速发展和上述单元技术是逐渐成熟,近年来在新产品设计开发中愈来愈多的被得到应用,因为在产品开发过程中需要以实物(样件)作为设计依据参考模型或作为最终验证依据时尤其需要应用该项技术,所以在汽车,摩托车的外形覆盖件和内装饰件的设计,家电产品外形设计,艺术品复制中对反求工程技术的应用需求尤为迫切。含义 反求工程是将数据采集设备获取的实物样件表面或表面及内腔数据,输入专门的数据处理软件或带有数据处理能力的三维CAD软件进行处理和三维重构,在计算机上复现实物样件的几何形状,并在此基础上进行原样复制,修改或重设计,该方法主要用于对难以精确表达的曲面形状或未知设计方法的构件形状进行三维重构和再设计。 反求工程是综合性很强的术语,它是以设计方法学为指导,以现代设计理论、方法、技术为基础,运用各种专业人员的工程设计经验、知识和创新思维,对已有新产品进行解剖、深化和再创造,是已有设计的设计,这就是反求工程的含义,特别强调再创造是反求的灵魂。研究内容 反求工程技术的研究对象多种多样,所包含的内容也比较多,主要可以分为以下三大类: ①实物类:主要是指先进产品设备的实物本身; ②软件类:包括先进产品设备的图样,程序,技术文件等; ③影像类;包括先进产品设备的图片,照片或以影像形式出现的资料. 反求工程包含对产品的研究与发展,生产制造过程,管理和市场组成的完整系统的分析和研究.主要包括以下几个方面:探索原产品设计的指导思想 掌握原产品设计的指导思想是分析了解整个产品设计的前提.如微型汽车的消费群体是普通百姓,其设计的指导思想是在满足一般功能的前提下,尽可能降低成本,所以结构上通常是较简化的. 探索原产品原理方案的设计各种产品都是按定的使用要求设计的,而满足同样要求的产品,可能有多种不同的形式,所以产品的功能目标是产品设计的核心问题.产品的功能概括而论是能量, 物料信号的转换.例如,一般动力机构的功能通常是能量转换,工作机通常是物料转换,仪器仪表通常是信号转换.不同的功能目标,可引出不同的原理方案.设计一个夹紧装置时,把功能目标定在机械手段上,则可能设计出斜楔夹紧,螺旋夹紧,偏心夹紧,定心夹紧,联动夹紧等原理方案;如把功能目标确定扩大,则可设计出液动,气动,电磁夹紧等原理方案.探索原产品原理方案的设计,可以了解功能目标的确定原则,这对产品的改进设计有极大帮助.研究产品的结构设计 产品中零部件的具体结构是实现产品功能目标是保证,对产品的性能,工作能力,经济性,寿命和可靠性有着密切关系. 确定产品的零部件形体尺寸分解产品实物,由外至内,由部件至零件,通过测绘与计算确定零部件形体尺寸,并用图样及技术文件方式表达出来.它是反求设计中工作量很大的一部分工作.为更好地进行形体尺寸的分析与测绘,应总结箱体类,轴类,盘套类,,齿轮,弹簧,曲线曲面及其它特殊形体的测量方法,并合理标注尺寸. 确定产品中零件的精度确定零件的精度(即公差设计),是反求设计中的难点之一.通过测量,只能得到零件的加工尺寸,而不能获得几何精度的分配.精度是衡量反求对象性能的重要指标,是评价反求设计产品质量的主要技术参数之一.科学合理地进行精度分配,对提高产品的装配精度和力学性能至关重要. 确定产品中零件的材料通过零件的外观比较,重量测量,力学性能测定,化学分析,光谱分析,金相分析等试验方法,对材料的物理性能,化学成分,热处理等情况进行全面鉴定,在此基础上,遵循立足国内的方针,考虑资源及成本,选择合用的国产材料,或参照同类产品的材料牌号,选择满足力学性能及化学性能的国有材料代用. 确定产品的工作性能 针对产品的工作特点机器主要性能进行试验测定,反计算和深入地分析,了解产品的设计准则和设计规范,并提出2023-08-26 12:38:501
exe什么意思
exe的意思是:执行。可执行程序(executable program,EXE,File)是可在操作系统存储空间中浮动定位的二进制可执行程序。它可以加载到内存中,由操作系统加载并执行。特定的CPU指令集(如X86指令集)对应的不同平台之间的可执行程序不可直接移植运行。windows操作系统中的二进制可执行文件分两种:一种后辍名为.COM,另一种是.EXE 。在MS-DOS下,有重名的.EXE文件和.COM文件运行时,优先执行.COM文件。如果只有A.EXE,就可以直接输入“A”,而不用输入全名。如果有A.COM和A.EXE,输入A则优先执行A.COM,要运行A.EXE只能输入A.EXE而不能输入A。在WINDOWS系统中的执行文件一般都是.EXE文件。在windows中,用户在命令提示符输入不带.exe扩展名的文件名后按Enter键或者点双击就能运行可执行程序。linux不像MS-DOS/windows一样靠文件后缀名来判断是否可执行,而是靠文件属性来判断。每个文件专门有个属性来表示文件是否可执行,对于脚本之类的程序,文件第一行指明执行本脚本的程序位置。反编译计算机软件反向工程也称为计算机软件还原工程,是指通过对他人软件的目标程序进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反汇编是把目标代码转为汇编代码的过程,是把二级制可执行程序机器语言转换为汇编语言代码,常用于软件破解、病毒分析、逆向工程、软件汉化等领域。2023-08-26 12:38:581
反向工程的芯片
芯片反向工程,又称芯片解密(IC解密),单片机解密,就是指单片机攻击者凭借专用设备或自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种专业技术手段,直接提取加密单片机中烧写文件的关键信息,并可以自己复制烧写芯片或反汇编后自己参考研究。这种反向获取单片机片内程序的方式就叫芯片反向工程。国内有人认为芯片反向工程其实就是抄袭。相比之下,在国外反向工程是伴随着积体电路工业发展起来的,1984年“半导体芯片保护法案(Semiconductor ChipProtection Act of 1984)”诞生,该法案明确了反向工程的合法性并且严格地区分了侵权和反向工程。中国也于2001年颁布实施了《积体电路布图保护条例》。在芯片反向工程这个问题上为什么在认识上有如此大的差别呢?下面我们将以龙人计算机为例,从芯片反向工程所从事的研究范围和研究手段等方面来透视芯片反向工程。芯片反向工程其实就是芯片分析,芯片分析涉及三大关键技术∶样品预处理技术;芯片分析软体技术和芯片分析技术(也就是电路分析能力)。以上三项技术相辅相成,缺一不可,其中一项薄弱都会影响到企业分析芯片的能力和水准。广东龙人列出了芯片分析的流程,我想这有助于大家进一步了解什么是芯片反向工程。分析流程∶(1)拍照∶芯片逐层去封装,拍照并对准拼接获得各层芯片照片。(2)建库∶通过芯片照片提取其中的单元器件建立单元库。(3)标注∶通过单元库在芯片照片上标记单元器件及器件之间的连接关系。(4)整理∶把标注出的单元器件整理成为结构清晰的电路图。(5)层次化∶通过从下至上分析系统的逻辑及机制,从而建立从系统图表到传输级电路的层次化电路图和功能模组。由上面的分析流程可以看出芯片分析其实就是一个对芯片的解剖过程,在这过程中可以获得芯片的很多相关资料,这些资料可以用来分析学习先进的技术,但是也可以用来复制IC。正如龙人计算机公司总经理夏先生所说“反向工程的不当运用有可能导致侵犯知识产权的后果”。对技术落后的厂商来说实施反向工程可以对先进的技术进行深入的分析、理解,从中找出有规律的东西来,领略设计者的先进设计思想。如果能进一步消化这些技术并在此基础上进行创新应用到自己的产品上去,那将是一件好事,这样可以缩短自己和先进厂商技术上的差距。如果做反向工程单纯是为了复制IC那就是错误的了。一味地跟在先进技术后面跑没有自己的想法,那永远只能充当掉队者的角色。反向工程在国外还被用来做专利分析为法律提供支援。2023-08-26 12:39:211
怎么用visio导出mysql数据库的er图
Visio对MySQL数据库反向工程生成ER数据库模型图1、首先需要从Mysql下载用于数据库链接的驱动ODBC根据相应的版本下载即可,下载完后直接在本地安装2、启动Visio2010(其他版本自学)新建文档的时候在模板类别里面选“软件和数据库”,如下图然后会跳到“选择模板”里面,直接选“数据库模型图”,如下图3、在上面的工具栏里面选择“数据库”选项卡选择左边的“反向工程”按钮,跳出如下界面:下拉“已安装的Visio驱动程序”,选择“ODBC通用驱动程序”,然后点击“新建”,如果跳出来“您使用非管理权限登录,无法创建或修改SystemDSN”,不用理睬,直接跳过4、选择系统数据源会跳出来下面的界面,一般我们只是一次性的导入表结构,选择“用户数据源(只用于当前机器)”下一步,选择“MySQLODBC5.1Driver”下一步,完成即可,就会跳出来Mysql的数据库配置界面5、配置Mysql数据源在上面的界面中按照相应的信息填入即可,点击“Test”进行测试,如果数据库名称、用户名密码都没问题,点“OK”开始回到前面的界面,这就配置好了数据源,然后点击“下一步”,这时会让你再次输入用户名和密码6、反向数据库数据用户名和密码后,就会让你选择需要导入的对象类型,选择好后下一步这时开始选择需要反向的对象,如下图选好后点击下一步,选择是否将表的形状添加进去2023-08-26 12:39:372
反求,逆向工程违反专利法吗?
前面的回答不全面。楼主问的问题也没有误解。楼主的意思应该是,实际上可以主张“现有技术抗辩”,而不用主张无效。那么问题就是:反向工程获取的知识、技术,是否属于“现有技术”,以便于用此来主张“现有技术抗辩”。这个问题并不好回答,因为所谓“现有技术”包括“使用公开”,也就是虽然没有书面文件,但是有现实的物品存在,该物品因早已存在,其所应用的技术当然可认为是现有技术,可问题是如果需要高科技的、非常困难的反向工程才能从物品中解读出某种技术,这种技术就不容易认为是“因其使用而为公众(或本领域普通技术人员)所知”的现有技术。这个问题也是我正在查证的,目前没有得到答案。若哪位大神有经验,欢迎补充拍砖。2023-08-26 12:39:562
逆向工程技术的发展趋势
趋势:随着逆向工程技术的不断发展,逆向工程已经成为联系新产品开发过程中各种先进技术的纽带,被广泛应用于家用电器、汽车、摩托车、飞机、模具等产品的改型与创新设计,成为消化、吸收先进技术,实现新产品快速开发的重要技术手段。 逆向工程也称反求工程或反向工程,是根据已存在的产品或零件原型构造产品或零件的工程设计模型,并在此基础上对已有的产品进行剖析、理解和改进,是对已有设计的再设计。2023-08-26 12:40:051
反向工程的合法性需要满足哪些条件净室程序
依据相关司法解释的规定,通过自行开发研制或者反向工程等方式获得的商业秘密的,并不属于违法的行为,并不认定为侵犯商业秘密。2023-08-26 12:40:261
从c代码反向工程到uml类图的工具吗
c语言是面向过程的,UML是面向对象的建模语言,所以c语言不能反向生成UML类图,c++和java是面向对象的开发语言,c++可以反向工程生成UML类图。。下图是trufun UML工具的反向工程操作截图,你可以参考2023-08-26 12:40:361
docker 能将本地环境做成镜像吗
当想让一个容器做两件事情,或者使一个Docker镜像包含来自两个不同镜像的依赖库时,就需要知道每个镜像的Dockerfile。本文介绍了如何通过docker history命令来对Docker镜像进行反向工程,得到它们的Dockerfile,并组织到一个Dockerfile里然后build,从而实现想做的事情。常言道,“不要重复发明轮子!”在使用Docker时,构建自己的镜像之前,最好在Docker Hub寻找一些可以直接使用的镜像做练习。把软件架构分布到一系列容器中,每一个容器只做一件事情,这样的效果非常好。构建分布式应用的最好的基石是使用来自Docker Hub的官方镜像,因为可以信任它们的质量。在某些情况下,可能想让一个容器做两件不同的事情。而在另外一些情况下,可能想让一个Docker镜像包含来自两个不同镜像的依赖库。如果有每个镜像的Dockerfile,这是非常简单的。将它们组织到一个Dockerfile里然后build就行。然而,大多数时间都在使用Docker Hub上准备好的镜像,不会有它们的源Dockerfile。我花时间找一个可以合并(或flatten)两个不同Docker镜像的工具,当然没有它们的Dockerfile。也就是说在找一个能做下面这件事的东西:image 1 -----> merged_image_12/image 2 --此前在GitHub上有两个相关的讨论(1、2),尽管它们都被关闭了。这可能吗?那么,是否存在工具能够像这样做吗:docker merge image2 image2 merged_image?没有!你甚至不可以用下面的方式来构建Dockerfile:FROM image1FROM image2简而言之,在一个Dockerfile里不能有多个基础镜像。但是我需要这个功能!唯一的解决办法是取得这些镜像的Dockerfile,然后把它们组织到一个文件中,再进行构建。那么,我能在Docker Hub上获得一个镜像的Dockerfile吗? 幸运的是可以。它不能离线获取(译注:原文是online,但显然online时对于来自GitHub的自动构建镜像是可以直接获取的),但是你可以使用docker history命令,通过反向工程获取。怎么来使用?在你的机器上使用docker pull从Docker Hub下载镜像。docker pull image1docker pull image2然后使用docker history来取得构建这两个容器时运行的命令。docker history --no-trunc=true image > image1-dockerfiledocker history --no-trunc=true image2 > image2-dockerfile接下来打开这两个文件,你可以看到每个镜像的命令堆栈。这是因为Docker镜像通过层(阅读更多)的方式来构建。即你在Dockerfile中键入的每一个命令所构建的新镜像,都是在之前的命令产生的镜像之上。所以你可以对镜像进行逆向工程。限制不能对镜像进行反向工程的唯一场景,是镜像的维护者在他的Dockerfile中使用了ADD或COPY命令。你会看到这样一行:ADD file:1ac56373f7983caf22 或 ADD dir:cf6fe659e9d21535844 这是因为不知道维护者在他自己的机器上,包括镜像里使用了什么本地文件。-2023-08-26 12:40:511
最好的java反编译工具是哪个
jadjadui~~~~~~~~~~~2023-08-26 12:41:002
如何将powerdesigner反向工程之后的改动直接更新到数据库中
反向工程后,马上保存文件修改后,点击 apply model changes to database1. using an archive model 中选择刚刚保存的文件,2. generation type 选择 script只生产脚本,选择direct generation 后续的菜单才能提交到数据库中3.1和2完毕后点击确定会弹出对比列表,差异sql,再点击run,就更新到数据库中了2023-08-26 12:41:081
什么是数据库正向工程和逆向工程?
我知道的正向工程 就是将数据库设计软件(例如 ERWin)画好的数据表图通过设计软件在数据库中生成最终的数据表;反向工程 把数据库中的数据表映射到设计软件中,以图表显示;2023-08-26 12:41:161
SOLIDWORKS装配体如何生成反向装配体并出反向工程图
选取前视基准面,镜像实体,选取所有实体。镜像过去之后,把原有的隐藏,就可以出装配图了。科大自动机械 为你解答2023-08-26 12:41:262
根据中国法律,关于反向工程的合法性,需要满足哪些条件
法律分析:反向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在集成电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。法律依据:《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》 第十二条 通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为反不正当竞争法第十条第(一)、(二)项规定的侵犯商业秘密行为。前款所称“反向工程”,是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,不予支持。2023-08-26 12:42:131
根据中国法律,关于反向工程的合法性,需要满足哪些条件
法律分析:反向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在集成电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。法律依据:《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》 第十二条 通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为反不正当竞争法第十条第(一)、(二)项规定的侵犯商业秘密行为。前款所称“反向工程”,是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,不予支持。2023-08-26 12:42:311
该怎么制定逆向工程技术学习目标
逆向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在集成电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。中文名逆向工程又 称逆向技术作 用保护知识产权所有者动 力确认竞争产品是否侵权专利或版权目录1 产生动机2 作用3 机械设备4 逆向工程5 方法实现6 相关操作软件7 硬件8 流行技术u25aa 研究发展u25aa 系统u25aa 关键技术9 相关法律10 拓展应用产生动机编辑需要逆向工程的原因如下:●接口设计。由于互操作性,逆向工程被用来找出系统之间的协作协议。●军事或商业机密。窃取敌人或竞争对手的最新研究或产品原型。●改善文档。当原有的文档有不充分处,又当系统被更新而原设计人员不在时,逆向工程被用来获取所需数据,以补充说明或了解系统的最新状态。●软件升级或更新。出于功能、合规、安全等需求更改,逆向工程被用来了解现有或遗留软件系统,以评估更新或移植系统所需的工作。●制造没有许可/未授权的副本。●学术/学习目的。●去除复制保护和伪装的登录权限。●文件丢失:采取逆向工程的情况往往是在某一个特殊设备的文件已经丢失了(或者根本就没有),同时又找不到工程的负责人。完整的系统时常需要基于陈旧的系统上进行再设计,这就意味着想要集成原有的功能进行项目的唯一方法,便是采用逆向工程的方法,分析已有的碎片进行再设计。●产品分析:用于调查产品的运作方式,部件构成,估计预算,识别潜在的侵权行为。●制作游戏外挂:通过逆向工程了解游戏运行机制,进而绕过保护机制并通过修改内存数值、修改内存中的代码、调用内部函数等方式来实现外挂功能。作用编辑逆向工程被广泛地应用到新产品开发和产品改型设计、产品仿制、质量分析检测等领域,它的作用是:1、缩短产品的设计、开发周期,加快产品的更新换代速度;2、降低企业开发新产品的成本与风险;3、加快产品的造型和系列化的设计;4、适合单件、小批量的零件制造,特别是模具的制造,可分为直接制模与间接制模法。直接制模法:基于RP技术的快速直接制模法是将模具CAD的结果由RP系统直接制造成型。该法既不需用RP系统制作样件,也不依赖传统的模具制造工艺,对金属模具制造而言尤为快捷,是一种极具开发前景的制模方法;间接制模法:间接制模法是利用RP技术制造产品零件原型,以原型作为母模、模芯或制模工具(研磨模),再与传统的制模工艺相结合,制造出所需模具。机械设备编辑随着计算机辅助设计的流行,逆向工程变成了一种能根据现有的物理部件通过CAD、CAM、CAE或其他软件构筑3D虚拟模型的方法。逆向工程的过程采用了通过丈量实际物体的尺寸并将其制作成3D模型的方法,真实的对象可以通过如CMMs,激光扫描仪,结构光源转换仪或者X射线断层成像这些3D扫描技术进行尺寸测量。这些测量数据通常被认作是点集,缺乏拓扑信息并且同时通常会被制作成更有用格式,例如多边形网格,NURBS曲线或者CAD模型。由于顶点云本身并不像3D软件里的模型那样直观,所以如同3-matic、Imageware、PolyWorks、Rapidform或者Geomagic,这些软件都提供了将顶点云变成能可视图像或者被其他应用软件,如3D CAD、CAM、CAE识别的格式的功能。逆向工程同时会被需要将真实的几何体应用在虚拟的数字开发环境中的商业活动中应用,比如将自己产品或者竞争者的三维数据数字化。通过这种手段可以分析出产品的运作方式,部件构成,估计预算和识别潜在的侵权行为等。价值工程也是商业中应用的类似手段。不过价值工程的目的是通过反构造和分析产品来找到节省开销的办法。逆向工程编辑逆向工程(又名反向工程,Reverse Engineering-RE)是对产品设计过程的一种描述。在2007年初,我国相关的法律为逆向工程正名,承认了逆向技术用于学习研究的合法性。在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。从这个意义上说,逆向工程在工业设计中的应用已经很久了。比如早期的船舶工业中常用的船体放样设计就是逆向工程的很好实例。随着计算机技术在各个领域的广泛应用,特别是软件开发技术的迅猛发展,基于某个软件,以反汇编阅读源码的方式去推断其数据结构、体系结构和程序设计信息成为软件逆向工程技术关注的主要对象。软件逆向技术的目的是用来研究和学习先进的技术,特别是当手里没有合适的文档资料,而你又很需要实现某个软件的功能的时候。也正因为这样,很多软件为了垄断技术,在软件安装之前,要求用户同意不去逆向研究。逆向工程的实施过程是多领域、多学科的协同过程。方法实现编辑软件逆向工程有多种实现方法,主要有三:1.分析通过信息交换所得的观察。最常用于协议逆向工程,涉及使用总线分析器和数据包嗅探器。在接入计算机总线或网络的连接,并成功截取通信数据后,可以对总线或网络行为进行分析,以制造出拥有相同行为的通信实现。此法特别适用于设备驱动程序的逆向工程。有时,由硬件制造商特意所做的工具,如JTAG端口或各种调试工具,也有助于嵌入式系统的逆向工程。对于微软的Windows系统,受欢迎的底层调试器有SoftICE。2.反汇编,即使用反汇编器,把程序的原始机器码,翻译成较便于阅读理解的汇编代码。这适用于任何的计算机程序,对不熟悉机器码的人特别有用。流行的相关工具有OllyDebug和IDA。3.反编译,即使用反编译器,尝试从程序的机器码或字节码,重现高级语言形式的源代码。相关操作软件编辑ImagewareImageware 由美国 EDS 公司出品,是最著名的逆向工程软件,正被广泛应用于汽车、航空、航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群,国外有 BMW、Boeing、GM、Chrysler、Ford、raytheon、Toyota 等著名国际大公司,国内则有上海大众、上海交大、上海 DELPHI、成都飞机制造公司等大企业。以前该软件主要被应用于航空航天和汽车工业,因为这两个领域对空气动力学性能要求很高,在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结构,制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止,如此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型,这就需要采用逆向工程软件。首先利用三坐标测量仪器测出模型表面点阵数据,然后利用逆向工程软件(例如:Imageware surfacer)进行处理即可获得 class 1 曲面。随着科学技术的进步和消费水平的不断提高,其它许多行业也开始纷纷采用逆向工程软件进行产品设计。以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件 Imageware 生成 CAD 数据。当产品推向市场后,由于外观新颖、曲线流畅,再加上手感也很好,符合人体工程学原理,因而迅速获得用户的广泛认可,产品的市场占有率大幅度上升。Imageware 逆向工程软件的主要产品有:Surfacer——逆向工程工具和 class 1 曲面生成工具Verdict——对测量数据和CAD数据进行对比评估Build it——提供实时测量能力,验证产品的制造性RPM——生成快速成型数据View——功能与 Verdict 相似,主要用于提供三维报告Imageware 采用 NURBS技术,软件功能强大,易于应用。Imageware 对硬件要求不高,可运行于各种平台:UNIX 工作站、PC 机均可,操作系统可以是 UNIX、NT、Windows95 及其它平台。Imageware 由于在逆向工程方面具有技术先进性,产品一经推出就占领了很大市场分额,软件收益正以 47% 的年速率快速增长。Surfacer 是 Imageware 的主要产品,主要用来做逆向工程,它处理数据的流程遵循点——曲线——曲面原则,流程简单清晰,软件易于使用。其流程如下:一、点过程读入点阵数据。Surfacer 可以接收几乎所有的三坐标测量数据,此外还可以接收其它格式,例如:STL、VDA 等。将分离的点阵对齐在一起(如果需要)。有时候由于零件形状复杂,一次扫描无法获得全部的数据,或是零件较大无法一次扫描完成,这就需要移动或旋转零件,这样会得到很多单独的点阵。Surfacer可以利用诸如圆柱面、球面、平面等特殊的点信息将点阵准确对齐。对点阵进行判断,去除噪音点(即测量误差点)。由于受到测量工具及测量方式的限制,有时会出现一些噪音点,Surfacer 有很多工具来对点阵进行判断并去掉噪音点,以保证结果的准确性。通过可视化点阵观察和判断,规划如何创建曲面。一个零件,是由很多单独的曲面构成,对于每一个曲面,可根据特性判断用用什么方式来构成。例如,如果曲面可以直接由点的网格生成,就可以考虑直接采用这一片点阵;如果曲面需要采用多段曲线蒙皮,就可以考虑截取点的分段。提前作出规划可以避免以后走弯路。根据需要创建点的网格或点的分段。Surfacer 能提供很多种生成点的网格和点的分段工具,这些工具使用起来灵活方便,还可以一次生成多个点的分段。二、曲线创建过程判断和决定生成哪种类型的曲线。曲线可以是精确通过点阵的、也可以是很光顺的(捕捉点阵代表的曲线主要形状),或介于两者之间。创建曲线。根据需要创建曲线,可以改变控制点的数目来调整曲线。控制点增多则形状吻合度好,控制点减少则曲线较为光顺。诊断和修改曲线。可以通过曲线的曲率来判断曲线的光顺性,可以检查曲线与点阵的吻合性,还可以改变曲线与其它曲线的连续性(连接、相切、曲率连续)。Surfacer 提供很多工具来调整和修改曲线。三、曲面创建过程决定生成那种曲面。同曲线一样,可以考虑生成更准确的曲面、更光顺的曲面(例如 class 1 曲面),或两者兼顾,可根据产品设计需要来决定。创建曲面。创建曲面的方法很多,可以用点阵直接生成曲面(Fit free form),可以用曲线通过蒙皮、扫掠、四个边界线等方法生成曲面,也可以结合点阵和曲线的信息来创建曲面。还可以通过其它例如圆角、过桥面等生成曲面。诊断和修改曲面。比较曲面与点阵的吻合程度,检查曲面的光顺性及与其它曲面的连续性,同时可以进行修改,例如可以让曲面与点阵对齐,可以调整曲面的控制点让曲面更光顺,或对曲面进行重构等处理。英国 Triumph Motorcycles 有限公司的设计工程师 Chris Chatburn 说:“利用 Surfacer 我们可以在更短的时间内完成更多的设计循环次数,这样可以让我们减少 50% 的设计时间。”最新发布的 Surfacer 10.6 软件将以下工作流程的高性能工具完整的集成到一起:【弹性的曲面创建工具】:可以在一个弹性的设计环境里非常方便的直接从曲线、曲面、或测量数据创建曲面,支持贝茨尔(Bezier)和非均匀有理 B 样条(NURBS)曲面两种方法。用户可以选择适合的曲面方法,通过结合两种方法的优点来获益。【动态的曲面修改工具】:允许用户在交互的方式下试探设计主题,立刻就可以看到是否美观和思路是否符合工程观念。设计、工程分析、制造的标准都通过精心的构造过程考虑进去,所以当每次修改曲面时不需要再重新校核标准。【实时的曲面诊断工具】:可以提供诸如任意截面的连续性、曲面反射线情况、高亮度线、光谱图、曲率云图和园柱型光源照射下的反光图等多种方法,在设计的任何时候都可以查出曲面缺陷。【有效的曲面连续性管理工具】:在复杂的曲面缝补等情况下,即使曲面进行了移动修改等操作,也能保证曲面同与之相连的曲面间的曲率连续,避免了乏味的手工再调整过程。【强大的处理扫描数据能力】:根据 Rainbow 图法(相当于假设雨水从上面落下,由于形状差异导致雨水流速差异)、曲率大小变化云图法(对于一个完全光顺的 class 1 曲面,相当于曲率大小变化为零,对于两个不同曲面,此值会不同)将扫描数据分开,这样可以很快地捕捉产品的主要特征,并迅速建立各个相应曲面,避免了费事的分析和处理。正是由于 Imageware 在计算机辅助曲面检查、曲面造型及快速样件等方面具有其它软件无可匹敌的强大功能,使它当之无愧的成为逆向工程领域的领导者。Geomagic Studio由美国 Raindrop (雨滴)公司出品的逆向工程和三维检测软件 Geomagic Studio 可轻易地从扫描所得的点云数据创建出完美的多边形模型和网格,并可自动转换为 NURBS 曲面。该软件也是除了 Imageware 以外应用最为广泛的逆向工程软件。Geomagic Studio 主要包括 Qualify、Shape、Wrap、Decimate、Capture 五个模块。主要功能包括:自动将点云数据转换为多边形(Polygons)快速减少多边形数目(Decimate)把多边形转换为 NURBS 曲面曲面分析(公差分析等)输出与 CAD/CAM/CAE 匹配的文件格式(IGS、STL、DXF等)1.从CAD数模得到的产品模型2.将CAD模型读入 Geomagic Studio3.CAD 设计模型与从实际模型扫描所得的点云数据(不同坐标系)4.扫描数据与CAD模型的自动对合5.扫描数据与CAD模型的自动对齐6.误差以彩色图形直观显示7.用户可标出任意点误差8. Qualify 的结果可以输出为 HTML 格式CopyCADCopyCAD 是由英国 DELCAM 公司出品的功能强大的逆向工程系统软件,它能允许从已存在的零件或实体模型中产生三维CAD模型。该软件为来自数字化数据的 CAD 曲面的产生提供了复杂的工具。CopyCAD 能够接受来自坐标测量机床的数据,同时跟踪机床和激光扫描器。CopyCAD 简单的用户界面允许用户在尽可能短的时间内进行生产,并且能够快速掌握其功能,即使对于初次使用者也能做到这点。使用 CopyCAD 的用户将能够快速编辑数字化数据,产生具有高质量的复杂曲面。该软件系统可以完全控制曲面边界的选取,然后根据设定的公差能够自动产生光滑的多块曲面,同时,CopyCAD 还能够确保在连接曲面之间的正切的连续性。该软件的主要功能如下:数字化点数据输入DUCT 图形和三角模型文件CNC 坐标测量机床分隔的 ASCII 码和 NC 文件激光扫描器、三维扫描器和 SCANTRONPC ArtCAMRenishaw MOD 文件点操作能够进行相加、相减、删除、移动以及点的隐藏和标记等点编辑能够为测量探针大小对模型的三维偏置进行补偿能够进行模型的转换、缩放、旋转和镜像等模型转换能够对平面、多边形或其它模型进行模型裁剪2023-08-26 12:42:391
reverse engineering 中文是?
(reverse engineering)意思是“逆向工程”reverse engineering也可以指“逆向工程资源”这里面有专门reverse engineering逆向工程介绍,可以看看:)~http://bbs.uying.com/105/27352/软件的"反向工程”,或称"逆向工程”,是指对软件的结构、流程、算法、代码等进行逆向拆解和分析。在原创者不愿公布硬件或软件产品的上述技术特征的情况下,竞争者可以利用"反向工程”进行仿制生产,而配套产品生产者则也希望通过"反向工程”生产出在技术上与原产品兼容的设备。2023-08-26 12:42:521
PC抄版什么意思
PCB抄板,也称“电路板克隆”,即在已经有电子产品实物和电路板实物的前提下,利用反向研发技术手段对电路板进行逆向解析,将原有产品的PCB文件、物料清单(BOM)文件、原理图文件等技术文件以及PCB丝印生产文件进行1:1的还原,然后再利用这些技术文件和生产文件进行PCB制板、元器件焊接、飞针测试、电路板调试,完成原电路板样板的完整复制。通俗地讲,就是分析一块现成的电路板,将它的线路走向及电子元件的使用完整地复制出来,然后自己照样子制作。2023-08-26 12:43:062
编译系统的反编译系统
高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件:VB: VBExplorer ;只能反编译界面图像,好像代码不能完全反编译JAVA: JAD ;java的反编译比较常见,所以反编译比较完全 C++ : eXeScope2023-08-26 12:43:161
什么是Java代码的编译与反编译?
Java代码的编译与反编译2017-02-21Hollis数盟一、什么是编译1、利用编译程序从源语言编写的源程序产生目标程序的过程。2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。二、什么是反编译计算机软件反向工程(Reverseengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。三、Java类的编译与反编译我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。class文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)四、什么时候会用到反编译1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件。2、学习Java过程中,JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译。五、反编译工具1、javap2、Jad:官网(墙裂推荐)客户端:可以在官网下载可执行文件,找到对应的操作系统的对应版本,然后进行安装使用。因为我使用的是linux操作系统,所以我下载的是Linux版本的工具,这个工具下载好之后会有一个执行文件,只要在执行文件所在目录执行./jadhelloworld.class就会在当前目录下生成helloworld.jad文件,该文件里就是我们很熟悉的Java代码Eclipse插件:下载地址在官网下载插件的jar包,然后将jar包放到eclipse的plugins目录下‘在打开Eclipse,Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,在Pathtodecompiler中输入你刚才放置jad.exe的位置,也可以制定临时文件的目录。当然在JadClipse下还有一些子选项,如Debug,Directives等,按照默认配置即可。基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->FileAssociations我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的ClassFileViewer,而JadClipse是默认的。全部配置完成,下面我们可以查看源码了,选择需要查看的类,按F3即可查看源码2023-08-26 12:43:331
逆向工程技术的发展趋势
逆向工程技术的研究现状及发展趋势 引言 逆向工程也称反求工程或反向工程,是根据已存在的产品或零件原型构造产品或零件的工程设计模型,并在此基础上对已有的产品进行剖析、理解和改进,是对已有设计的再设计。 从广义讲,逆向工程可分以下三类: (1)实物逆向:它是在已有产品实物的条件下,通过测绘和分折,从而再创造;其中包括功能逆向、性能逆向、方案、结构、材质等多方面的逆向。实物逆向的对象可以是整机、零部件和组件。 (2)软件逆向:产品样本、技术文件、设计书、使用说明书、图纸、有关规范和标准、治理规范和质量保证手册等均称为技术软件。软件逆向有三类:既有实物,又有全套技术软件;只有实物而无技术软件;没有实物,仅有全套或部分技术软件。 (3)影像逆向:设计者既无产品实物,也无技术软件,仅有产品的图片、广告介绍或参观后的印象等,设计者要通过这些影像资料往构思、设计产品,该种逆向称为影像逆向。 目前,国内外有关逆向工程的研究主要集中在几何外形的逆向,即重建产品实物的CAD,称为“实物逆向工程”。逆向工程与顺向工程如下图l所示: 2 逆向工程数据丈量技术 数据丈量是通过特定的丈量设备和丈量方法获取产品表面离散点的几何坐标数据,将产品的几何外形数字化。其丈量原理是:将被测产品放置于三坐标丈量机的丈量空间内,可以获得被测产品上各个丈量点的坐标位置,根据这些点的空间坐标值,经过计算机数据处理,拟合形成丈量元素,如圆、球、圆柱、圆锥、曲面等,经过数学计算的方法得出其外形、位置公差及其它几何量数据。高效、高精度地获取产品的数字化信息是实现逆向工程的基础和关键。 现有的数据采集方法主要分为两大类: (1)接触式数据采集方法接触式数据采集方法包括使用基于力的击发原理的触发式数据采集和连续式扫描数据采集、磁场法、超声波法。接触式数据采集通常使用三坐标丈量机,丈量时可根据实物的特征和丈量的要求选择测头及其方向,确定丈量点数及其分布,然后确定丈量的路径,有时还要进行碰撞的检查。触发式数据采集方法采用触发探头,触发探头又称为开关测头,当测头的探针接触到产品的表面时,由于探针受理变形触发采样开关,通过数据采集系统记下探针确当前坐标值,逐点移动探针就可以获得产品的表面轮廓的坐标数据。常用的接触式触发探头主要包括:机械式触发探头、应变片式触发探头、压电陶瓷触发探头。采用触发式测头的优点在于:适用于空间箱体类工件及已知产品表面的丈量;触发式探头的通用性较强,适用于尺寸丈量和在线应用;体积小,易于在狭小的空间内应用;由于丈量数据点时丈量机处于匀速直线低速状态,丈量机的动态性能对丈量精度的影响较小。但由于测头的限制,不能丈量到被测零件的一些细节之处,不能丈量一些易碎、易变形的零件。另外接触式丈量的测头与零件表面接触,丈量速度慢,丈量后还要进行测头补偿,数据量小,不能真实的反映实体的外形。 (2)非接触式数据采集方法非接触式数据采集方法主要运用光学原理进行数据的采集,主要包括:激光三角形法、激光测距法、结构光法以及图像分析法等。 非接触式数据采集速度快、精度高,排除了由丈量摩擦力和接触压力造成的丈量误差,避免了接触式测头与被测表面由于曲率干涉产生的伪劣点题目,获得的密集点云信息量大、精度高,测头产生的光斑也可以做得很小,可以探测到一般机械测头难以丈量的部位,最大限度地反映被测表面的真实外形。非接触式数据采集方法采用非接触式探头,由于没有力的作用,适用于丈量柔软物体;非接触式探头取样率较高,在50次/秒到23000次/秒之间,适用于表面外形复杂,精度要求不特别高的未知曲面的丈量,例如:汽车、家电的木模、泥模等。但是非接触式探头由于受到物体表面特征的影响(颜色、光度、粗糙度、外形等)的影响较大,目前在多数情况下其丈量误差比接触式探头要大,保持在10微米级以上。该方法主要用于对易变形零件、精度要求不高零件、要求海量数据的零件、不考虑丈量本钱及其相关软硬件的配套情况下的丈量。 总之,在可以应用接触式丈量的情况下,不要采用非接触式丈量;在只丈量尺寸、位置要素的情况下尽量采用接触式丈量;考虑丈量本钱且能满足要求的情况下,尽量采用接触式丈量;对产品的轮廓及尺寸精度要求较高的情况下采用非接触式扫描丈量;对离算点的丈量采用扫描式;对易变形、精度要求不高的产品、要求获得大量丈量数据的零件进行丈量时采用非接式丈量方法。 3 逆向工程数据处理技术 数据处理是逆向工程的一项重要的技术环节,它决定了后续CAD模型重建过程能否方便、正确地进行。根据丈量点的数目,丈量数据可以分为一般数据点和海量数据点;根据丈量数据的规整性,丈量数据又可以分为散乱数据点和规矩数据点;不同的丈量系统所得到的丈量数据的格式是不一致的,且几乎所有的丈量方式和丈量系统都不可避免地存在误差。因此,在利用丈量数据进行CAD重建前必须对丈量数据进行处理。数据处理工作主要包括:数据格式的转化、多视点云的拼合、点云过滤、数据精简和点云分块等。 每个CAD/CAM系统都有自己的数据格式,目前流行的CAD/CAM软件的产品数据结构和格式各不相同,不仅影响了设计和制造之间的数据传输和程序衔接,而且直接影响了CMM与CAD/CAM系统的数据通讯。目前通行的办法是利用几种主要的数据交换标准(IGES、STEP、AutoCAD的DXF等)来实现数据通讯。 在逆向工程实际的过程中,由于坐标丈量都有自己的丈量范围,因此无论我们采用什么丈量方法,都很难在同一坐标系下将产品的几何数据一次完全测出。产品的数字化不能在同一坐标系下完成,而在模型重建的时候又必须将这些不同坐标下的数据同一到一个坐标系里,这个数据处理过程就是多视数据定位对齐(多视点云的拼合)。多视数据的对齐主要可以分为两种:通过专用的丈量软件装置实现丈量数据的直接对齐;事后数据处理对齐。采用事后数据处理对齐又可以分为:对数据的直接对齐和基于图形的对齐。对数据的直接对齐研究研究中,出现了多种算法,如ICP算法;四元数法;SVD法;基于三个基准点的对齐方法等。 数据平滑的目的是消除丈量数据的噪声,以得到精确的数据和好的特征提取效果。目前通常是采用标准高斯、均匀或中值滤波算法。其中高斯滤波能较好地保持原数据的形貌,中值滤波消除数据毛刺的效果较好。因此在选用时应该根据数据质量和建模方法灵活选择滤波算法。 运用点云数据进行造型处理的过程中,由于海量数据点的存在,使存储和处理这些点云数据成了不可突破的瓶颈。实际上并不是所有的数据点都对模型的重建起作用,因此,可以在保证一定的精度的条件下减少数据量,对点云数据进行精简。·目前采用的方法有:利用均匀网格减少数据的方法;利用减少多变形三角形达到减少数据点的方法;利用误差带减少多面体数据点的方法。 数据分割是根据组成实物外形曲面的子曲面的类型,将属于同一曲面类型的数据成组,划分为不同的数据域,为后续的模型重建提供方便。数据分割方法可以分为基于丈量的分割和自动分割两种方法。目前的分割方法有:基于参数二次曲面逼近的数据分割方法;散乱数据点的自动分割方法;基于CT技术的数据分割方法。 4 逆向模型重建技术 在整个逆向工程中,产品的三位几何模型CAD重建是最关键、最复杂的环节。由于只有获得了产品的CAD模型我们才能够在此基础上进行后续产品的加工制造、快速成型制造、虚拟仿真制造和进行产品的再设计等。在进行模型重建之前,设计者不仅需要了解产品的几何特征和数据的特点等前期信息,而且需要了解结构分析、加工制作模具、快速成型等后续应用题目。目前使用的造型方法主要有: (1)曲线拟合造型:用一个多项式的函数通过插值往逼近原始的数据,终极得到足够光滑的曲面。曲线是构成曲面的基础,在逆向工程中常用的模型重建方法为,首先将数据点通过插值或逼近拟合成样条曲线,然后采用造型软件完成曲面片的重构造型。优点是原理比较简单,只要多项式的次数足够高就可以得到满足的曲面,但也轻易造成计算的不稳定,同时边界的处理能力也比较差,一般用于拟合比较简单的曲面。 (2)曲面片直接拟合造型该方法直接对丈量数据点进行曲面片拟合,获得曲面片经过过渡、混合、连接形成终极的曲面模型。曲面拟合造型既可以处理有序点,也可以处理散乱数据点。算法有:基于有序点的B样条曲面插值;B样条曲面插值;对任意丈量点的B样条曲面逼近。 (3)点数据网格化网络化实体模型通常是将数据点连接成三角面片,形成多面体实体模型。目前已经形成两种简化方法:基于给定数据点在保证初始几何外形的基础上,反复排除节点和面片,构建新的三角形,终极达到指定的节点数;寻找具有最小的节点和面片的最小多面体。 5 展看 逆向工程的研究已经日益引人注目,在数据处理、曲面片拟合、几何特征识别、商用专业软件和坐标丈量机的研究开发上已经取得了很大的成绩。但是在实际应用当中,整个过程仍需要大量的人机交互工作,操纵者的经验和素质直接影响着产品的质量,自动重建曲面的光顺性难以保证,下面一些关键技术将是逆向工程主要发展方面: (1)数据丈量方面:发展面向逆向工程的专用丈量设备,能够高速、高精度的实现产品几何外形的三维数字化,并能进行自动丈量和规划路径; (2)数据的顶处理方面:针对不同种类的丈量数据,开发研究一种通用的数据处理软件,完善改进目前的数据处理算法; (3)曲面拟合:能够控制曲面的光顺性和能够进行光滑拼接; (4)集成技术:发展包括丈量技术、模型重建技术、基于网络的协同设计和数字化制造技术等的逆向工程技术2023-08-26 12:43:481
反编译现在到了什么程度
反向编译 高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。 但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。 计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。 反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件: VB: VBExplorer 、VB反编译精灵和VBRezQ;只能反编译界面图像,好像代码不能完全反编译 JAVA: JAD ;java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的 C++ : eXeScope, IDA pro Dephi: DEDE c#:Reflector 易语言:E-Code Explorer.exe(易格式可执行文件分析器) 其实到什么程度的话就我知道的静态调试器IDA pro可以反编任何c++的程序,不过需要插件.net c#的程序有专门的反编软件Reflector是免费的,可以反编大部分net程序。2023-08-26 12:43:561
反编译是违法的吗
反编译不再是违法2023-08-26 12:44:093
反编译违法吗
法律分析:不违法。反编译不违法。反编译是指计算机软件反向工程也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。法律依据:《计算机软件保护条例》 第三条 本条例下列用语的含义:(一)计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。(二)文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。(三)软件开发者,是指实际组织开发、直接进行开发,并对开发完成的软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。(四)软件著作权人,是指依照本条例的规定,对软件享有著作权的自然人、法人或者其他组织。2023-08-26 12:44:421
在用MyEclipse时,用hibernate反向工程出现an internal error occurred during:"Generating Artifacts"急
这个应该不会影响你项目的正常运行吧。我是直接忽略2023-08-26 12:44:513
求大神帮忙,在MyEclipse8.5中,SSH反向工程配置完Hibernate Reverse Engineering时出错
解决办法:1.找到你的项目根目录找到.project,打开2.找到<natures><nature>com.genuitec.eclipse.springframework.springnature</nature><nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature><nature>com.genuitec.eclipse.hibernate.hibernatenature</nature><nature>com.genuitec.eclipse.j2eedt.core.webnature</nature><nature>org.eclipse.jdt.core.javanature</nature><nature>org.eclipse.wst.jsdt.core.jsNature</nature></natures>将spring那一栏删除回到项目后就发现可以再次add Spring capabilities和add hibernate capabilities了2023-08-26 12:45:001