I am by no means a competent programmer in any sense of the word. I've only ever fiddled with .NET building very, very basic applications. If it's possible to be given step-by-step instructions, then please do.

That said, my issue right now is figuring out a way to convert a binary file compiled for the CELL architecture to Intel. These are binary files rather than executables. I've thoroughly searched the net looking for answers, however all of them seem to refer to PowerPC instead of PPE.

In a perfect world, the preferred solution would entail simply dragging/dropping the big-endian files onto a conversion executable. Since this is not a perfect world, I wont look forward to such a thing.

NOTE 1: The binary files in question are 64 bit, judging from the specs on the CELL architecture.

NOTE 2: Fortunately, I have versions of these binaries in both big and little-endian. Using UltraCompare (albeit taking an ungodly amount of time to compare,) I can verify byte-swapping in the headers when comparing against it's little-endian counterparts.

"If you have both versions, then why do you need to convert them?"

There are some binaries not available in little-endian and those are the ones I need.

  • If these are not executables, what are they? Some sort of resource bundles? If so, you'd need to know the exact file format. Then, writing a script to convert endianness won't be an issue. Jul 10, 2014 at 12:41
  • "I can verify byte-swapping in the headers" ... is it just the headers that have their bytes swapped, or the data as well? Jul 10, 2014 at 16:51
  • @GuntramBlohm - As far as I know, and according to research being done by others on this, it seems to indeed be just the headers. I'm not well-versed in this subject, so I can't give you a definitive answer. However, I can give you a screenshot showing what I mean.
    – Steve
    Jul 10, 2014 at 19:35
  • Seems like some stuff is byte-swapped, for example the headers up to byte 0x18; after the 5-byte "None\0", byte-swapping continues. But there are also ranges of bytes that seem wildly different, for example 0x41-0x51. If these two files are indeed reprentations of the same object, it seems conversion between them is much harder that just a few endianness swaps. Jul 10, 2014 at 21:34


Your Answer

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

Browse other questions tagged or ask your own question.