linux - Developing drivers with no info -


how open-source/free software community develop drivers products offer no documentation?

how reverse engineer something?

  • you observe input , output, , develop set of rules or models describe operation of object.

example:

let's want develop usb camera driver. "black box" software driver.

  1. develop hooks os and/or driver can see inputs , outputs of driver
  2. generate typical inputs, , record outputs
  3. analyze outputs , synthesize model describes relationship between input , output
  4. test model - put in place of black box driver, , run tests
  5. if need, you're done, if not rinse , repeat

note regular problem solving/scientific process. instance, weather forecasters same thing - observe weather, test current conditions against model, predicts happen on next few days, , compare model's output reality. when doesn't match go , adjust model.

this method safer (legally) clean room reverse engineering, decompiles code, or disassembles product, analyzes thoroughly, , makes model based on saw. model (and nothing else) passed developers replicating functionality of product. engineer took original apart, however, cannot participate because might bring copyrighted portions of code/design , inadvertently put them in new code.

if never disassemble or decompile product, though, should in legally safe waters - problem left of patents.

-adam


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -