逆向工程
逆向工程
逆向工程(又稱逆向技術),是一種產品設計技術再現過程,即對一項目標產品進行逆向分析及研究,從而演繹並得出該產品的處理流程、組織結構、功能特性及技術規格等設計要素,以製作出功能相近,但又不完全一樣的產品。逆向工程源於商業及軍事領域中的硬體分析。其主要目的是在不能輕易獲得必要的生產信息的情況下,直接從成品分析,推導出產品的設計原理。
逆向工程可能會被誤認為是對知識產權的嚴重侵害,但是在實際應用上,反而可能會保護知識產權所有者。例如在集成電路領域,如果懷疑某公司侵犯知識產權,可以用逆向工程技術來尋找證據。
需要逆向工程的原因如下:
●介面設計。由於互操作性,逆向工程被用來找出系統之間的協作協議。
●軍事或商業機密。竊取敵人或競爭對手的最新研究或產品原型。
●改善文檔。當原有的文檔有不充分處,又當系統被更新而原設計人員不在時,逆向工程被用來獲取所需數據,以補充說明或了解系統的最新狀態。
●軟體升級或更新。出於功能、合規、安全等需求更改,逆向工程被用來了解現有或遺留軟體系統,以評估更新或移植系統所需的工作。
●製造沒有許可/未授權的副本。
●學術/學習目的。
●去除複製保護和偽裝的登錄許可權。
●文件丟失:採取逆向工程的情況往往是在某一個特殊設備的文件已經丟失了(或者根本就沒有),同時又找不到工程的負責人。完整的系統時常需要基於陳舊的系統上進行再設計,這就意味著想要集成原有的功能進行項目的唯一方法,便是採用逆向工程的方法,分析已有的碎片進行再設計。
●產品分析:用於調查產品的運作方式,部件構成,估計預算,識別潛在的侵權行為。
●製作遊戲外掛:通過逆向工程了解遊戲運行機制,進而繞過保護機制並通過修改內存數值、修改內存中的代碼、調用內部函數等方式來實現外掛功能。
逆向工程被廣泛地應用到新產品開發和產品改型設計、產品仿製、質量分析檢測等領域,它的作用是:
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.反編譯,即使用反編譯器,嘗試從程序的機器碼或位元組碼,重現高級語言形式的源代碼。
Imageware
逆向工程
以前該軟體主要被應用於航空航天和汽車工業,因為這兩個領域對空氣動力學性能要求很高,在產品開發的開始階段就要認真考慮空氣動力性。常規的設計流程首先根據工業造型需要設計出結構,製作出油泥模型之後將其送到風洞實驗室去測量空氣動力學性能,然後再根據實驗結果對模型進行反覆修改直到獲得滿意結果為止,如此所得到的最終油泥模型才是符合需要的模型。如何將油泥模型的外形精確地輸入計算機成為電子模型,這就需要採用逆向工程軟體。首先利用三坐標測量儀器測出模型表面點陣數據,然後利用逆向工程軟體(例如: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 及其它平台。
逆向工程
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 主要包括 Qualify、Shape、Wrap、Decimate、Capture 五個模塊。主要功能包括:
自動將點雲數據轉換為多邊形(Polygons)
快速減少多邊形數目(Decimate)
把多邊形轉換為 NURBS 曲面
曲面分析(公差分析等)
輸出與 CAD/CAM/CAE 匹配的文件格式(IGS、STL、DXF等)
1.從CAD數模得到的產品模型
2.將CAD模型讀入 Geomagic Studio
3.CAD 設計模型與從實際模型掃描所得的點雲數據(不同坐標系)
4.掃描數據與CAD模型的自動對合
5.掃描數據與CAD模型的自動對齊
6.誤差以彩色圖形直觀顯示
7.用戶可標出任意點誤差
8. Qualify 的結果可以輸出為 HTML 格式
CopyCAD
逆向工程
CopyCAD 簡單的用戶界面允許用戶在儘可能短的時間內進行生產,並且能夠快速掌握其功能,即使對於初次使用者也能做到這點。使用 CopyCAD 的用戶將能夠快速編輯數字化數據,產生具有高質量的複雜曲面。該軟體系統可以完全控制曲面邊界的選取,然後根據設定的公差能夠自動產生光滑的多塊曲面,同時,CopyCAD 還能夠確保在連接曲面之間的正切的連續性。
該軟體的主要功能如下:
數字化點數據輸入
DUCT 圖形和三角模型文件
CNC 坐標測量機床
分隔的 ASCII 碼和 NC 文件
激光掃描器、三維掃描器和 SCANTRON
PC ArtCAM
Renishaw MOD 文件
點操作
能夠進行相加、相減、刪除、移動以及點的隱藏和標記等點編輯
能夠為測量探針大小對模型的三維偏置進行補償
能夠進行模型的轉換、縮放、旋轉和鏡像等模型轉換
能夠對平面、多邊形或其它模型進行模型裁剪
三角測量
在用戶定義的公差和選項內的數字化模型的三角測量,包括:
① 原始的——法線設置
② 尖銳——尖銳特徵強化
③ 特徵匹配——來自點法線數據的特徵
④ 關閉三角測量——為了快速繪圖可以關閉模型
特徵線的產生
邊界——轉換模型外邊緣為特徵線
間斷——為找到簡單的特徵(如凸出和凹下)而探測數據里的尖銳邊緣
能夠轉換數字化掃描線為特徵線
輸入的數據——能夠從點文件中摘錄多線條和樣條曲線
曲面構造
通過在三角測量模型上跟蹤直線產生多樣化曲面
在連接的曲面之間,用已存在的曲面定義帶有選項的正切連續性的邊界
使用特徵線指導和加快曲面定義
曲面錯誤檢查
比較曲面與數字化點數據
報告最大限、中間值和標準值的錯誤背離
錯誤圖形形象地顯示變化
輸出
IGES、CADDS4X
STL ASCII 碼和二進位
DUCT 圖形、三角模型和曲面
分隔的 ASCII 碼
RapidForm
RapidForm 是韓國 INUS 公司出品的全球四 大逆向工程軟體之一,RapidForm 提供了新一代運算模式,可實時將點雲數據運算出無接縫的多邊形曲面,使它成為 3D Scan 后處理之最佳化的介面。RapidForm 也將使您的工作效率提升,使 3D 掃描設備的運用範圍擴大,改善掃描品質。
多點雲數據管理介面
高級光學 3D 掃描儀會產生大量的數據(可達 100,000 ~ 200,000點),由於數據非常龐大,因此需要昂貴的電腦硬體才可以運算 RapidForm 提供記憶管理技術(使用更少的系統資源)可縮短您處理數據的時間。
多點雲處理技術
可以迅速處理龐大的點雲數據,不論是稀疏的點雲還是跳點都可以輕易地轉換成非常好的點雲, RapidForm 提供過濾點雲工具以及分析表面偏差的技術來消除 3D 掃描儀所產生的不良點雲。
快速點雲轉換成多邊形曲面的計演演算法
在所有逆向工程軟體中,RapidForm 提供一個特別的計算技術,針對 3D 及 2D 處理是同類型計算,軟體提供了一個最快最可靠的計算方法,可以將點雲快速計算出多邊形曲面。RapidForm 能處理無順序排列的點數據以及有順序排列的點數據。
彩色點雲數據處理
RapidForm 支持彩色 3D 掃描儀,可以生成最佳化的多邊形,並將顏色信息映像在多邊形模型中。在曲面設計過程中,顏色信息將完整保存,也可以運用 RP 成型機製作出有顏色信息的模型。RapidForm 也提供上色功能,通過實時上色編輯工具,使用者可以直接對模型編輯自己喜歡的顏色。
點雲合併功能
多個點掃描數據有可能經手動方式將特殊的點雲加以合併,當然,RapidForm 也提供一技術,使用者可以方便地對點雲數據進行各種各樣的合併。
註:Roland 模具加工機隨機所附的 PixForm 軟體為 RapidForm 的 OEM 軟體。
逆向工程能在擁有現有物理部件之上,利用激光掃描儀、結構光源轉換儀或X射線斷層成像之類3D掃描儀技術進行尺寸測量,再通過CAD、CAM、CAE或其他軟體構築3D虛擬模型的方法。逆向工程經常被用于軍事上,在二戰和冷戰中經常被用到。
比較流行的逆向工程技術便是PCB抄板與晶元解密了。PCB抄板,又稱為電路板抄板,電路板克隆、複製,PCB逆向設計或PCB反向研發,即在已經有電子產品實物和電路板實物的前提下,利用反向研發技術手段對電路板進行逆向解析,將原有產品的PCB文件、物料清單(BOM)文件、原理圖文件等技術文件以及PCB絲印生產文件進行1:1的還原,然後再利用這些技術文件和生產文件進行PCB制板、元器件焊接、飛針測試、電路板調試,完成原電路板樣板的完整複製。晶元解密,又稱為IC解密,單片機解密,就是通過一定的設備和方法,直接得到加密單片機中的燒寫文件,可以自己複製燒寫晶元或反彙編后自己參考研究。單片機攻擊者藉助專用設備或者自製設備,利用單片機晶元設計上的漏洞或軟體缺陷,通過多種技術手段,從晶元中提取關鍵有用信息,獲取單片機內程序,這就叫晶元解密。
研究
1980年始歐美國家許多學校及工業界開始注意逆向工程這塊領域。1990年初期包括台灣在內,各國學術界團隊大量投入逆向工程的研究並發表成果。逆向工程的硬體最早是運用仿製加工設備,製作出來的成品品質粗糙。後來有接觸式掃瞄設備,運用探針接觸工件取得產品外型。再來進一步開發非接觸式設備,運用照相或激光技術,計算光線反射回來的時間取得距離。
逆向工程軟體部分品牌包括Surfacer(Imageware)、ICEM、CopyCAD、Rapid Form等。逆向軟體的演進約略可區分為三個階段。十一年前在逆向工程上,只能運用CATIA等CAD/CAM高階曲面系統。市場發展出兩套主流產品技術日漸成熟,廣為業界引用。發展出不同以往的逆向工程數學邏輯運算,速度快。
發展
逆向工程所需的技能
1998年,NEWPOWER啟動了逆向工程的一些項目,要求是把客戶的現有源代碼轉變成設計,如果需要的話,進一步轉化成產品需求規約。這恰恰與類似於V模型的標準開發過程模型相逆。這樣一來,客戶就可以容易地維護他們的產品(需求,設計,源代碼等等),而不需要想以前那樣,每次改動產品都需要直接修改源代碼。
是指從實物上採集大量的三維坐標點,並由此建立該物體的幾何模型,進而開發出同類產品的先進技術。逆向工程與一般的設計製造過程相反,是先有實物後有模型。仿形加工就是一種典型的逆向工程應用。逆向工程,逆向工程的應用已從單純的技巧性手工操作,發展到採用先進的計算機及測量設備,進行設計、分析、製造等活動,如獲取修模后的模具形狀、分析實物模型、基於現有產品的創新設計、快速仿形製造等。
通俗說,從某種意義上說,逆向工程就是仿造。這裡的前提是默認我們傳統的設計製造為“正向工程(當然,沒有這種說法)”。
軟體的逆向工程是分析程序,力圖在比源代碼更高抽象層次上建立程序的表示過程,逆向工程是設計的恢復過程。逆向工程工具可以從已存在的程序中抽取數據結構、體系結構和程序設計信息。
研究或應用中的系統可分以下幾類:
逆向工程在編程中的應用從二進位到源碼
(2)專用曲面擬合軟體系統曲面擬合是逆向工程的關鍵過程,開發了擬合3D激光掃描數據的軟體包,數據點被交互的劃分區域,擬合曲面輸入通用CAD系統進行相交、延伸、過渡、建立完整的CAD模型。此系統只處理標準的二次曲面。
(3)與商用CAD系統的結合有些系統直接把數字化系統與商用CAD系統結合,Kwok開發的系統將CMM與AutoCAD結合起來,每測一個點的坐標,自動轉化為IGES格式,系統具有實時可視化功能。
(4)測量與擬合的集成
以上系統中數字化與曲面擬合是兩個分離的過程,為了提高測量精度,用擬合結果指導測量,減少測量數據,出現了測量與擬合的集成系統。Liang-Chia提出的集成系統,首先由用戶交互地劃分測量邊界,每個面片的測量中實時進行B2樣條曲面擬合,用擬合結果進行下一個測量點的位置預測,用實測值與預測值的誤差控制測量精度和擬合精度。
(5)與快速原形製造的結合
縮短產品製造的周期是逆向工程的目的之一,出現了數字化系統直接用子製造的逆向工程與快速製造的集成系統,Jones C開發了由激光掃描結果產生螺旋線數控加工路徑的系統。
當前使用的逆向工程系統存在以下不足之處:
(1)大多數系統是針對具體的應用而開發,數據處理往往針對特定的測量設備、測量對象,通用性差。
(2)曲面擬合系統大多是對於代數二次曲面,對自由曲面,特別是由大數據量散亂點擬合自由曲面,系統一般沒有此功能
(3)數據區域分割往往要交互操作,降低了CAD建模的速度,自動化程度低;
(4)系統集成化程度低,有些系統只側重與曲面的擬合,有些系統只側重於與特定製造技術的結合,系統只包含簡單幾何數據,不符合現代設計製造的并行思想。
3.2發展方向及關鍵技術
幾何建模是逆向工程的關鍵環節,同時也是影響逆向工程速度的瓶頸問題,因此,提高逆向工程幾何建模的自動化程度和通用性是逆向工程研究的一個重點方向。這是一種逆向工程幾何建模自動化系統,具有體現設計意圖的特徵建模的特點,數據點的組織方式不限,輸出的B-rep模型與現有商用CAD系統完全兼容。系統的關鍵技術在於特徵的自動提取、組合自由曲面的光滑連接。
提高系統的集成性,有些情況CAD 模型並不是必需的,或者為了最快的製造產品,需要數字化系統與CMM 的直接結合;另外,有些產品(例如注塑模、注塑件的設計)需要多次進行CAE 分析,由數據點直接產生CAE 模型,可極大地提高產品的設計、分析過程,在上一節已有一些集成系統的應用實例,大多是根據具體情況的部分集成,邢淵提出了完整的逆向工程集成系統框架,具有CAD、CAE、CAM 多個數據介面,採用了面向對象的集成方法。關鍵技術是通用、開放的產品資料庫結構。
三坐標測量可分為接觸式測量和非接觸式測量兩大類。接觸式測量方法通過感測測量頭與樣件的接觸而記錄樣件表面的坐標位置,可以細分為點觸髮式和連續式數據採集方法。對於航空航天、汽車等行業,大型樣件的測量一般可以選用接觸式測量,以滿足精度要求。因為,接觸式測量中的點觸髮式測量可以通過人為規劃,使得在大麴率或曲率變化劇烈的區域獲得較多的測量點,而在相對平坦的區域則可以測量較少的點。結合造型方法,人工對被測物體進行區域規劃,測量對物體形狀起關鍵作用的特徵線和曲線網格,數據點可以根據需要組織成模型重建軟體所需要的形式,然後根據特徵線及曲線網格重建物體的CAD模型,減少了數據處理的難度和工作量。其唯一的缺點是測量效率較低。
非接觸式測量方法主要是基於光學、聲學、磁學等領域中的基本原理,將一定的物理模擬量通過適當的演演算法轉化為樣件表面的坐標點。例如:聲納測量儀利用聲音遇到被測物體產生回聲的時間計算點與聲源間的距離;激光測距法是將激光束的飛行時間轉化為被測點與參考平面間的距離。非接觸式測量使測量效率得到了極大提高,某些光學測量機可以在數秒鐘內得到幾十萬個數據點,因而在測量過程中可以大大減少人工測量規劃,在整個樣件表面快速採集大量的密集點集。由於操作簡便,以激光測距法為代表的非接觸式測量技術近兩年來,發展迅速,應用普及面越來越廣。不過,非接觸測量獲得的海量數據的數據量非常龐大,常有幾十萬、上百萬,甚至更多。必須配合較強功能的逆向軟體和高性能的計算機設備,才能順利使用。不過,根據摩爾定律,計算機硬體的性能迅速提高,軟體技術也今非昔比,基於光學的非接觸式測量方法和三坐標測量設備在逆向工程中得到了更為廣泛的應用。
在美國及其他許多國家,製品或製法都受商業秘密保護,只要合理地取得製品或製法就可以對其進行逆向工程。專利需要把你的發明公開發表,因此專利不需要逆向工程就可進行研究。逆向工程的一種動力就是確認競爭者的產品是否侵權專利或侵犯版權。
為了互用性(例如,支持未公開的文件格式或硬體外圍),而對軟體或硬體系統進行的逆向工程被認為是合法的,雖然專利持有者經常反對並試圖打壓以任何目的對他們產品進行的逆向工程。
為了獲取一個有版權的計算機程序中隱含的思想和功能元素且有合法的理由要獲取,當只有拆解這一種方法時,根據法律判定,拆解是對有版權作品的公平使用。