Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 8th, 2007, 4:17 PM   #1
-IK-
Newbie
 
Join Date: Dec 2005
Posts: 11
Rep Power: 0 -IK- is on a distinguished road
Talking 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.
-IK- is offline   Reply With Quote
Old Jul 8th, 2007, 5:53 PM   #2
niteice
Programmer
 
niteice's Avatar
 
Join Date: Aug 2005
Posts: 98
Rep Power: 3 niteice is on a distinguished road
Send a message via AIM to niteice
Wouldn't it be easier to intercept the USB packets somehow and try to decode those instead?
niteice is offline   Reply With Quote
Old Jul 9th, 2007, 8:51 AM   #3
-IK-
Newbie
 
Join Date: Dec 2005
Posts: 11
Rep Power: 0 -IK- is on a distinguished road
Quote:
Originally Posted by niteice View Post
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
-IK- is offline   Reply With Quote
Old Jul 9th, 2007, 11:12 AM   #4
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
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.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Jul 9th, 2007, 12:58 PM   #5
-IK-
Newbie
 
Join Date: Dec 2005
Posts: 11
Rep Power: 0 -IK- is on a distinguished road
Quote:
Originally Posted by DaWei View Post
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.
-IK- is offline   Reply With Quote
Old Jul 9th, 2007, 9:48 PM   #6
Wizard1988
Professional Programmer
 
Wizard1988's Avatar
 
Join Date: Oct 2005
Location: Chitown
Posts: 416
Rep Power: 3 Wizard1988 is on a distinguished road
Send a message via AIM to Wizard1988
You might want to try http://www.ollydbg.de/
__________________
JG-Webdesign
Wizard1988 is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 9:38 PM.

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