开发没有信息的驱动程序

时间:2020-03-05 18:52:17  来源:igfitidea点击:

开源/自由软件社区如何为不提供文档的产品开发驱动程序?

解决方案

回答

通常通过对代码进行逆向工程。但是,某些国家可能存在法律问题。

  • 逆向工程
  • 反向工程Windows USB设备驱动程序,目的是为Linux创建兼容的设备驱动程序
  • 英伟达严厉打击第三方驱动程序开发

回答

这是一个非常模糊的问题,但是我要说逆向工程。他们如何做到这一点取决于它是哪种设备以及可用的设备。在许多情况下,该设备可能具有与其他设备类似的核心芯片组,可以对其进行修改以正常工作。

回答

我们如何对某些东西进行逆向工程?

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

例子:

假设我们要开发USB摄像头驱动程序。 "黑匣子"是软件驱动程序。

  • 将挂钩开发到OS和/或者驱动程序中,以便我们可以看到驱动程序的输入和输出
  • 生成典型输入,并记录输出
  • 分析输出并综合描述输入和输出之间关系的模型
  • 测试模型-代替黑盒驱动程序,然后运行测试
  • 如果它可以满足所有需求,那么我们就可以洗净然后重复

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

这种方法(在法律上)比无尘室逆向工程更安全(合法),在逆向工程中,人们实际上是反编译代码或者反汇编产品,对其进行彻底的分析,然后根据所看到的内容进行建模。然后将模型(AND NOTHING ELSE)传递给开发人员,以复制产品的功能。但是,将原始内容拆散的工程师无法参加,因为他可能会带走代码/设计中受版权保护的部分,而无意中将其放入新代码中。

但是,如果我们从不拆卸或者反编译产品,则应在法律上安全的水中,唯一剩下的问题就是专利问题。

-亚当