提问人:Mike 提问时间:9/12/2008 最后编辑:gprathourMike 更新时间:6/9/2017 访问量:426
在没有信息的情况下开发驱动程序
Developing drivers with no info
答:
2赞
Christian Lescuyer
9/12/2008
#1
通常通过对代码进行逆向工程。不过,某些国家/地区可能存在法律问题。
0赞
GEOCHET
9/12/2008
#2
这是一个非常模糊的问题,但我会说逆向工程。他们如何做到这一点取决于它是什么样的设备以及它可用的设备。在许多情况下,该设备可能具有与另一个设备相似的核心芯片组,可以修改以使其正常工作。
7赞
Adam Davis
9/12/2008
#3
你如何对某物进行逆向工程?
- 您可以观察输入和输出,并开发一组描述对象操作的规则或模型。
例:
假设您要开发一个 USB 摄像头驱动程序。“黑匣子”是软件驱动程序。
- 在操作系统和/或驱动程序中开发挂钩,以便可以看到驱动程序的输入和输出
- 生成典型输入,并记录输出
- 分析输出并合成描述输入和输出之间关系的模型
- 测试模型 - 将其置于黑匣子驱动程序的位置,然后运行测试
- 如果它能满足你所需要的一切,你就完成了,如果没有,请冲洗并重复
请注意,这只是一个常规的问题解决/科学过程。例如,天气预报员做同样的事情——他们观察天气,根据模型测试当前条件,预测未来几天会发生什么,然后将模型的输出与现实进行比较。当它不匹配时,他们会返回并调整模型。
这种方法(合法地)比洁净室逆向工程稍微安全一些,在洁净室逆向工程中,有人实际上反编译代码,或反汇编产品,对其进行彻底分析,并根据他们所看到的内容制作模型。然后,将模型(仅此而已)传递给开发人员,以复制产品的功能。但是,拆解原始代码的工程师不能参与,因为他可能会带来代码/设计的受版权保护的部分,并无意中将它们放入新代码中。
但是,如果您从不反汇编或反编译产品,那么您应该处于法律安全的水域 - 剩下的唯一问题是专利问题。
-亚当
评论