The last time I tried my hand at disassembly it was in
1986-1988... a Z80 embedded processor PROM image file...
42K of code turned into 27000+ lines of assembler code...
using a disassembly program called Dazzlestar... which
ran on 8080/8085/Z80 CP/M (am I dating myself?)
Anyway I was able to add a number of features to the
source and re-assemble it and it worked...
But that was then and this is now.
I've been asked by a friend to patch the firmware in another embedded system, a Z180 that uses a little over half of a 27C512. All he wants to do is to change the baud rate of the Exar 88C681 serial port from 2400 baud to 9600 or even 19.2 if it will do it. If I'm reading the Exar data sheet correctly it should be a 1 or 2 byte patch.
Yes, this old embedded product was designed to run with a Hayes Smartmodem 2400 because at that time it was the most common modem in personal home computing. The product itself has been abandoned by the manufacturer... they no longer support it and they'd like to pretend they never made it.
I have IDA Free 8.3 on my Win10 laptop and the 64kb image file of the 27c512 PROM chip (it is a .bin, the executable code starts at address zero).
When I start IDA it says that it can't proceed because it's not a PE file.
It took me about 30 minutes to find out that PE meant Portable Executable.
How do I fix this? Is there a tool that will convert a .bin to an acceptable PE ? Or is there a command line option to allow it to read a .bin ?
I did some searches looking for any mention of IDA Free and PE and found nothing. But as I said, I'm a newbie and may not have searched with the correct words...
Is there a tool that I missed that converts a .bin into a PE ?
If IDA is not the proper tool for breaking a .bin into assembly then what is?
It needs to be free or cheap as I'm in my 70s, retired, on a limited fixed income and doing this out of my own pocket as a favor for a friend I've known for over 50 years. It will be fun to get back into bit-banging!
I really hope the image file is assembly and not compiled!
.bin
suggests you have some form of compiled (or assembled) binary, though. So a disassembler targeting the desired instruction set should be capable of helping out. Also have a look atobjdump
from Binutils if the others don't work.