So, I am completely new to this in a sense. I have this .BIN file in which I was told is a HEX file. I am using Hex Fiend to read it in but when changing the text encoding it doesn't translate to a language I am aware of. This program from what I was told is read onto an IC chip. One IC chip handles decimal values and the other doesn't support it. I am trying to ultimately figure out the differences in the code. Thank you=]

The NEW file supports decimals the other does not.

https://drive.google.com/drive/folders/1Hx7LsRdqW7npwJkhau9qIU9PDCAmkoqb?usp=sharing enter image description here

  • \$\begingroup\$ Welcome to EE.SE. Cannot download a binary file. Convert to hexadecimal format so we can read it. Reverse engineering is neigh impossible without the right tools. Right now we have no idea what you are working with. You could take a screen shot of it and send it as a image file. \$\endgroup\$ – Sparky256 Oct 2 '18 at 1:34
  • \$\begingroup\$ You have two MCUs that do different tasks, one that outputs (or accepts) decimal values (in ASCII?) and one that does NOT (perhaps binary only?) Spend a LOT more time describing the MCUs you are examining, their stand-alone purposes, and why you are connecting them together, at all. Data rates would help. You may need a "protocol-changer" MCU to mediate between them, if you don't have source code, though it is possible that you can directly edit code using a hex editor -- Nintendo game hackers do it all the time. But it takes experience and practice to get there. \$\endgroup\$ – jonk Oct 2 '18 at 18:54

A .BIN file is not a HEX file, it's a BIN file ...

Ok - so what that means is that it's the 'raw' binary and no text editor is going to be able to make any sense of it because it contains values which don't map to 'printable' ASCII characters.
A HEX file would typically hold the same information, but formatted differently, and in a way which is at least displayable by a text editor.

However, seeing the hex in a text editor is not likely to help you if you're expecting "a language I am aware of". The binary (or its hex equivalent) is the 'raw' machine code for whatever microcontroller or processor it's intended to run on.
If you know what that device is then you can probably feed your bin or hex into a 'disassembler' which will produce an assembler listing for you.
Allegedly there are even tools which claim to be able to 'disassemble' a binary image into a higher level language like C, but even these would most likely need to know what language the original program was written in to be able to make a decent attempt.

|improve this answer|||||
  • \$\begingroup\$ Thank you so much for your input! I will dig into it a little more! \$\endgroup\$ – Snoopy Oct 2 '18 at 1:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.