2008-09-12 89 views

回答

7

你如何反向工程?

  • 您观察输入和输出,并开发一组描述对象操作的规则或模型。

例子:

比方说,你想开发一个USB摄像头驱动程序。 “黑匣子”是软件驱动程序。

  1. 发展挂钩到操作系统和/或驱动程序,以便你可以看到司机
  2. 生成的典型输入的输入和输出,并记录输出
  3. 分析的产出和合成描述模型输入和输出
  4. 测试模型之间的关系 - 把它代替黑匣子驱动器,并运行测试
  5. 如果它你需要的一切,你就大功告成了,如果没有冲洗和重复

请注意,这只是一个常规的问题解决/科学过程。例如,天气预报员会做同样的事情 - 他们观察天气,根据模型测试当前情况,预测未来几天会发生什么,然后将模型的输出与实际情况进行比较。当它不匹配时,他们回去调整模型。

这种方法比洁净室逆向工程更安全一些,其中有人实际上反编译代码,或者拆卸产品,彻底分析它,并根据他们所看到的来制作模型。然后将模型(和其他零售商)传递给复制产品功能的开发人员。然而,将原始文件分开的工程师不能参与,因为他可能会将代码/设计的版权部分带入其中,并将其无意中放入新代码中。

但是,如果您从不拆解或反编译产品,那么您应该在法律上安全的水域 - 剩下的唯一问题就是专利问题。

-Adam

0

这是一个非常模糊的问题,但我要说的reverse engineering。他们如何去做取决于它是什么类型的设备以及它可用的设备。在许多情况下,该设备可能有一个类似的核心芯片组,可以修改其他设备的工作。