在没有信息的情况下开发驱动程序

发布于 2024-07-05 05:46:14 字数 51 浏览 13 评论 0原文

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

How does the open-source/free software community develop drivers for products that offer no documentation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

A君 2024-07-12 05:46:14

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

This is a pretty vague question, but I would say reverse engineering. How they go about that is dependent on what kind of device it is and what is available for it. In many cases the device may have a similar core chipset to another device that can be modified to work.

挖鼻大婶 2024-07-12 05:46:14

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

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

示例:

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

  1. 开发操作系统和/或驱动程序中的挂钩,以便您可以看到驱动程序的输入和输出
  2. 生成典型输入,并记录输出
  3. 分析输出并合成描述输入和输出之间关系的模型
  4. 测试模型 - 放置它代替黑匣子驱动程序,然后运行测试
  5. 如果它满足您需要的一切,那么您就完成了,如果没有冲洗并重复

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

这种方法比净室逆向工程稍微安全(合法),净室逆向工程是有人实际反编译代码,或拆解产品,彻底分析它,并根据他们所看到的内容制作模型。 然后,模型(除此之外)被传递给开发人员来复制产品的功能。 然而,拆开原始代码的工程师不能参与,因为他可能会带来代码/设计的受版权保护的部分,并无意中将它们放入新代码中。

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

-亚当

How do you reverse engineer something?

  • You observe the input and output, and develop a set of rules or models that describe the operation of the object.

Example:

Let's say you want to develop a USB camera driver. The "black box" is the software driver.

  1. Develop hooks into the OS and/or driver so you can see the inputs and outputs of the driver
  2. Generate typical inputs, and record the outputs
  3. Analyze the outputs and synthesize a model that describes the relationship between the input and output
  4. Test the model - put it in place of the black box driver, and run your tests
  5. If it does everything you need, you're done, if not rinse and repeat

Note that this is just a regular problem solving/scientific process. For instance, weather forecasters do the same thing - they observe the weather, test the current conditions against the model, which predicts what will happen over the next few days, and then compare the model's output to reality. When it doesn't match they go back and adjust the model.

This method is slightly safer (legally) than clean room reverse engineering, where someone actually decompiles the code, or disassembles the product, analyzes it thoroughly, and makes a model based on what they saw. Then the model (AND NOTHING ELSE) is passed to the developers replicating the functionality of the product. The engineer who took the original apart, however, cannot participate because he might bring copyrighted portions of the code/design and inadvertently put them in the new code.

If you never disassemble or decompile the product, though, you should be in legally safe waters - the only problem left is that of patents.

-Adam

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文