Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Open Source Python Linux

How Device Drivers Are Reverse Engineered 27

An anonymous reader writes: Linux Voice magazine has published a long article about how people go about reverse engineering drivers for hardware peripherals. They use Python and a USB radio-controlled car to demonstrate, walking us through the entire process. It's a cool, easy-to-follow insight into what often seems to be a rather opaque process.
This discussion has been archived. No new comments can be posted.

How Device Drivers Are Reverse Engineered

Comments Filter:
  • by invictusvoyd ( 3546069 ) on Friday March 20, 2015 @05:53PM (#49305741)
    are reverse engineered ?
    • by sjames ( 1099 )

      Based on their current status they seem pretty good at it. They should publish an artic...OH WELL.

  • by Anonymous Coward on Friday March 20, 2015 @05:54PM (#49305745)

    Nice article, I used a similar technique, and found a reference where someone reverse engineered a usb missile launcher toy. I used that knowledge to buld the USB driver for the Antec Kuhler 920 water cooler, my small contribution to the open source community.

    Of course, the Kuhler Windows App was rather poor quality, as well as the USB implementation. But at least they didn't do anything esoteric, like use USB interrupt transfers, etc. Thank goodness for simple USB transfers.

    Sharing knowledge like this is what the open source community is all about.

    Check me out on sourceforge, kuhler_ctl.

    • by Anonymous Coward

      Usually when I need to reverse engineer software, I fire up the disassembler and debugger and start poking through the code.

      • by Anonymous Coward

        Tsk tsk, reverse engineering or decompiling the executable would violate the license agreement. I decided to use "black box" reverse engineering to protect myself from silly American laws. Besides, the Windows app was crap. It used polling based on wait loops instead of timers/interrupts, and other stupid techniques. Analyzing that code would have been painful.

        Analyzing the USB packets was faster, provided the same or better data, and means some stupid American firm can't sue me [doesn't mean they can't try

    • Course, there are companies like, for instance, Autel, which sell ODB readers for cars for only $100 to over $1000, but are too cheap to implement and/or license a signed Windows driver. And it's only a stupid USB serial device, dumping text data from the memory card to the computer. And it SHOULD be more complicated, because it also has software on the memory card that can be updated [to update the firmware, you have to remove the memory card and put it in a normal card reader, which their software will

  • by Lunix Nutcase ( 1092239 ) on Friday March 20, 2015 @06:04PM (#49305797)

    Maybe Linux Voice needs to learn to engineer a working database?

  • by Ichijo ( 607641 ) on Friday March 20, 2015 @06:27PM (#49305899) Journal
    Google cache of TFA [googleusercontent.com]
  • Ben Affleck. Problem Solved.

Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.!

Working...