首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发没有信息的驱动程序

开发没有信息的驱动程序
EN

Stack Overflow用户
提问于 2008-09-12 14:58:29
回答 3查看 411关注 0票数 2

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-12 15:17:03

你是如何逆向工程的?

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

示例:

假设你想开发一个USB摄像头驱动程序。“黑匣子”是软件驱动程序。

  1. 将钩子开发到操作系统和/或驱动程序中,这样就可以看到驱动程序的输入和输出。
  2. 生成典型输入,并记录输出
  3. 分析输出并合成一个模型来描述输入和输出之间的关系。
  4. 测试模型-将其替换为黑匣子驱动程序,并运行测试。
  5. 如果它做了你所需要的一切,你就完成了,如果没有冲洗和重复

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

这种方法比洁净室逆向工程稍微安全一些(合法),后者实际上是对代码进行反编译,或对产品进行反汇编,彻底分析产品,并根据他们所看到的进行建模。然后,模型(以及其他任何东西)传递给复制产品功能的开发人员。然而,把原始代码拆散的工程师不能参与,因为他可能会带来代码/设计的版权部分,并无意中将它们放入新代码中。

如果你从来没有拆卸或解压缩产品,你应该在法律上安全的水域-唯一的问题是专利。

-Adam

票数 7
EN

Stack Overflow用户

发布于 2008-09-12 15:02:18

通常是通过反向工程代码。不过,有些国家可能存在法律问题。

  • 逆向工程
  • 反向工程Windows设备驱动程序,以便为Linux创建兼容的设备驱动程序
  • Nvidia打击第三方驱动程序开发
票数 2
EN

Stack Overflow用户

发布于 2008-09-12 15:02:32

这是一个相当模糊的问题,但我想说的是逆向工程。他们如何做到这一点取决于它是什么类型的设备和什么是可用的。在许多情况下,该设备可能具有与可修改以工作的另一设备类似的核心芯片组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档