开发没有信息的驱动程序
时间:2020-03-05 18:52:17 来源:igfitidea点击:
开源/自由软件社区如何为不提供文档的产品开发驱动程序?
解决方案
回答
通常通过对代码进行逆向工程。但是,某些国家可能存在法律问题。
- 逆向工程
- 反向工程Windows USB设备驱动程序,目的是为Linux创建兼容的设备驱动程序
- 英伟达严厉打击第三方驱动程序开发
回答
这是一个非常模糊的问题,但是我要说逆向工程。他们如何做到这一点取决于它是哪种设备以及可用的设备。在许多情况下,该设备可能具有与其他设备类似的核心芯片组,可以对其进行修改以正常工作。
回答
我们如何对某些东西进行逆向工程?
- 我们观察输入和输出,并开发出一组描述对象操作的规则或者模型。
例子:
假设我们要开发USB摄像头驱动程序。 "黑匣子"是软件驱动程序。
- 将挂钩开发到OS和/或者驱动程序中,以便我们可以看到驱动程序的输入和输出
- 生成典型输入,并记录输出
- 分析输出并综合描述输入和输出之间关系的模型
- 测试模型-代替黑盒驱动程序,然后运行测试
- 如果它可以满足所有需求,那么我们就可以洗净然后重复
请注意,这只是常规的问题解决/科学过程。例如,天气预报员会做同样的事情,即观察天气,根据模型测试当前条件,从而预测未来几天会发生什么,然后将模型的输出与实际情况进行比较。当不匹配时,他们返回并调整模型。
这种方法(在法律上)比无尘室逆向工程更安全(合法),在逆向工程中,人们实际上是反编译代码或者反汇编产品,对其进行彻底的分析,然后根据所看到的内容进行建模。然后将模型(AND NOTHING ELSE)传递给开发人员,以复制产品的功能。但是,将原始内容拆散的工程师无法参加,因为他可能会带走代码/设计中受版权保护的部分,而无意中将其放入新代码中。
但是,如果我们从不拆卸或者反编译产品,则应在法律上安全的水中,唯一剩下的问题就是专利问题。
-亚当