2008-09-12 116 views

回答

7

你如何反向工程?

  • 您觀察輸入和輸出,並開發一組描述對象操作的規則或模型。

例子:

比方說,你想開發一個USB攝像頭驅動程序。 「黑匣子」是軟件驅動程序。

  1. 發展掛鉤到操作系統和/或驅動程序,以便你可以看到司機
  2. 生成的典型輸入的輸入和輸出,並記錄輸出
  3. 分析的產出和合成描述模型輸入和輸出
  4. 測試模型之間的關係 - 把它代替黑匣子驅動器,並運行測試
  5. 如果它你需要的一切,你就大功告成了,如果沒有沖洗和重複

請注意,這只是一個常規的問題解決/科學過程。例如,天氣預報員會做同樣的事情 - 他們觀察天氣,根據模型測試當前情況,預測未來幾天會發生什麼,然後將模型的輸出與實際情況進行比較。當它不匹配時,他們回去調整模型。

這種方法比潔淨室逆向工程更安全一些,其中有人實際上反編譯代碼,或者拆卸產品,徹底分析它,並根據他們所看到的來製作模型。然後將模型(和其他零售商)傳遞給複製產品功能的開發人員。然而,將原始文件分開的工程師不能參與,因爲他可能會將代碼/設計的版權部分帶入其中,並將其無意中放入新代碼中。

但是,如果您從不拆解或反編譯產品,那麼您應該在法律上安全的水域 - 剩下的唯一問題就是專利問題。

-Adam

0

這是一個非常模糊的問題,但我要說的reverse engineering。他們如何去做取決於它是什麼類型的設備以及它可用的設備。在許多情況下,該設備可能有一個類似的核心芯片組,可以修改其他設備的工作。