gpt4 book ai didi

linux - 开发没有信息的驱动程序

转载 作者:太空狗 更新时间:2023-10-29 11:26:46 33 4
gpt4 key购买 nike

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

最佳答案

如何进行逆向工程?

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

例子:

假设您要开发 USB 摄像头驱动程序。 “黑匣子”是软件驱动程序。

  1. 开发操作系统和/或驱动程序的 Hook ,以便您可以查看驱动程序的输入和输出
  2. 生成典型的输入,并记录输出
  3. 分析输出并合成描述输入和输出之间关系的模型
  4. 测试模型 - 将其放在黑盒驱动程序的位置,然后运行测试
  5. 如果它满足您的所有需求,那么您就完成了,如果没有冲洗并重复

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

这种方法(在法律上)比洁净室逆向工程稍微安全一些,在洁净室逆向工程中,有人实际反编译代码或拆解产品,对其进行彻底分析,然后根据他们所见制作模型。然后将模型(AND NOTHING ELSE)传递给开发人员以复制产品的功能。但是,拆开原件的工程师不能参与,因为他可能会带来代码/设计的受版权保护的部分,并无意中将它们放入新代码中。

但是,如果您从不反汇编或反编译产品,那么您应该处于合法安全的水域 - 剩下的唯一问题就是专利问题。

-亚当

关于linux - 开发没有信息的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59194/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com