reverse engineering windows driver for linux

From: g.wall (wallge_at_eng.fsu.edu)
Date: 11/29/05


Date: Tue, 29 Nov 2005 13:25:31 -0500

I am trying to reverse engineer another windows driver for a new PCI
fpga board. I am trying to figure out how to catch signals being sent
out over the pci bus, or maybe through the windows kernel in order to
see what commands
are being sent to the device (ie DMA transfer, reset, reconfigure, etc)
(the device API has all these things well hidden in the code i have been
given).
I have been able to get a software package
that shows what windows API function calls are being made for a given
executable, and i have some other
reverse engineering tools, but i was wondering if you knew of something
easier, or could make a suggestion on my approach.

what i have:
1. C API libraries for configuring, IO, various device specific
functions for the pci board
2. A .sys windows driver file (this is binary but can be opened and
parsed with some reverse engineering tools i have)
3. debuggers, dissassemblers which show the windows API function being
called for a given process, and the values passed to these API functions

what i need
1. device specific command and control values
2. information about memory mappings on the device, ie what address maps
to what fpga, sdram, etc

ideally i would like to catch values sent to the PCI board as i step
through the devices API function calls in my test code(writeword,
readword, etc)
in order to match a certain command bit sequence to an API function call.

if you have any thoughts at all on this, they would be most appreciated.



Relevant Pages

  • Re: reverse engineering windows driver for linux
    ... > I am trying to reverse engineer another windows driver for a new PCI ... > that shows what windows API function calls are being made for a given ... The PCI transactions are the result of memory/IO access to addresses ...
    (comp.os.linux.hardware)
  • Re: send more than 8 bits with parallel port
    ... standard Windows API functions. ... experimenter-type interfaces to replace the parallel port for classroom ... But you cannot build them yourself and PCI isn't ... Then do a final boardfor the customer that meets ...
    (sci.electronics.basics)
  • Re: send more than 8 bits with parallel port
    ... standard Windows API functions. ... The ISA bus was really nice and not too complex for a serious hobbyist ... But you cannot build them yourself and PCI isn't ... Then do a final boardfor the customer that meets ...
    (sci.electronics.basics)
  • Re: Dont Waste Your Time With Linux
    ... > After enduring years of painful computing with Windows I decided to spring ... time I tried to configure a real PCI modem I messed up and it took a while ... Two hard IDE hard drives. ... Symbios 8951U Ultra 2 LVD PCI SCSI controller driving two Quantum Atlas ...
    (comp.os.linux.misc)
  • Re: Dont Waste Your Time With Linux
    ... > After enduring years of painful computing with Windows I decided to spring ... time I tried to configure a real PCI modem I messed up and it took a while ... Two hard IDE hard drives. ... Symbios 8951U Ultra 2 LVD PCI SCSI controller driving two Quantum Atlas ...
    (alt.os.linux.suse)