Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   Assembly (http://www.programmingforums.org/forum20.html)
-   -   Disassembly and USB hardware devices (http://www.programmingforums.org/showthread.php?t=13510)

-IK- Jul 8th, 2007 4:17 PM

Disassembly and USB hardware devices
 
Hiya everyone...I'm a relative newbie (although I used to disassemble software when I was a youngster) and this idea maybe impossible so please don't flame me

Firstly, can anyone recommend me some software which can disassemble a Windows Intel chip executable file into C or C++ source code?

Secondly, is there a simple way (I'm thinking prewritten Windows software) to interrogate a USB device to find out what it does and how it does it...For example, software that can tell me what the class of a USB device is e.g Storage Device or a non storage and how it communicates with a PC.

The questions relate to this...

I have a USB disco and stage light controller box, which when connected to a PC via USB running control software, can receive settings to move the lights and turn them off and on in a sequence.

I had a cool idea to make a version of this control software for a Pocket PC device which has a USB socket.

Now I know the Pocket PC operating system doesn't have the facility to mount external storage devices like CD-ROMs, but I'm thinking this is more a software limitation than a hardware one and in any case the device I'm trying to work with doesn't require the protocols for working with these devices.

What do people think of the possibility of getting this to work?

Thanks.

niteice Jul 8th, 2007 5:53 PM

Wouldn't it be easier to intercept the USB packets somehow and try to decode those instead?

-IK- Jul 9th, 2007 8:51 AM

Quote:

Originally Posted by niteice (Post 130319)
Wouldn't it be easier to intercept the USB packets somehow and try to decode those instead?

Its a good suggestion and I could use the returned packets to get the control information for my device, but the PC control software can control a range of devices that have more features than the device I have.

I would like to be able to work with these devices also, but can't really buy them as yet so would still like to see how the PC software controls them.

I'm suprised there's not more responses to this on here. I thought Assembly programmers were hardcore :D

DaWei Jul 9th, 2007 11:12 AM

You can't expect software to reasonably decompile an executable into C/C++ code. It might not have been written in those languages, even. The decompilers that work worth a poot at all usually have access to code that has at least retained its symbols. Disassembly is practically a one-to-one matchup of mnemonics to machine language. Decompilation is something else, again.

As for the second part, I'd think some Google trips or MSDN trips (think IOCTL) would be in order. You can also get an embedded VC++ compiler from MS.

-IK- Jul 9th, 2007 12:58 PM

Quote:

Originally Posted by DaWei (Post 130367)
You can't expect software to reasonably decompile an executable into C/C++ code. It might not have been written in those languages, even. The decompilers that work worth a poot at all usually have access to code that has at least retained its symbols. Disassembly is practically a one-to-one matchup of mnemonics to machine language. Decompilation is something else, again.

As for the second part, I'd think some Google trips or MSDN trips (think IOCTL) would be in order. You can also get an embedded VC++ compiler from MS.

Thanks for your input DaWei.

I know that the decompiler won't produce exactly the same source code that went in the compiler to produce the machine code. I quite expect to have to modify the source, and anyway, I'm not looking to make a direct port of the software to the PocketPC platform, just to learn enough so I can write my own version of the Windows light control software.

I used to decompile code on an old Amiga into C back in 1995 with pretty good success.

Yes, I know it was a far simpler machine, although it had a multitasking OS and other modern day features. Surely there must be some pretty good software to do this on the Windows platform.

I will consult Google.

Thanks anyway.

Wizard1988 Jul 9th, 2007 9:48 PM

You might want to try http://www.ollydbg.de/


All times are GMT -5. The time now is 12:47 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC