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.
- develop hooks os and/or driver can see inputs , outputs of driver
- generate typical inputs, , record outputs
- analyze outputs , synthesize model describes relationship between input , output
- test model - put in place of black box driver, , run tests
- 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
Post a Comment