7

I am currently reversing firmware for some device. Without any issues I was able to reach deep into its core and extract the file-system. Now I was trying to reverse some of the special applications on this device. After checking the file format I noticed the following: It is an ELF 32-bit MSB (big-endian) on the Ubicom32 platform.

After googling, checking woodmann and tinkering with it a bit I couldn't find too much information about this format expect the fact that "it exist".

Are there tools (or plug-ins) that handle this file format? Can I just regard this as ARM or MIPS? I did find OpenWRT - Ubicom32 Kernel but no toolchain.

Stolas
  • 2,331
  • 14
  • 34

3 Answers3

8

Ubicom32 is a proprietary architecture, not at all related to ARM or MIPS (other than the fact that it is RISC...well, kind of). IIRC it was designed specifically for networking and multimedia streaming applications, so it's a bit of an odd architecture. It was developed by Ubicom, but they were bought by Qualcomm.

There are Linux tool chains out there for it, the best place to get them that I've found is from vendor GPL releases. If there is no GPL release for your particular device, look for other Ubicom-based devices from that vendor (or other vendors) which do have GPL releases.

Beware that just having a toolchain probably won't be sufficient for reversing the code, you'll need an assembly reference to understand the instructions as well. AFAIK Ubicom never released this publicly, but some creative Googling turned up some mostly complete references for me a while back. I'll see if I can track down the links.

UPDATE: Found the datasheet for the IP5000 series Ubicom CPUs, which includes an instruction set reference: http://www.texim-europe.com/getfile.aspx?id=68544

devttys0
  • 2,714
  • 13
  • 10
3

For those interested I found the: GNU Toolchain including GDB.

Stolas
  • 2,331
  • 14
  • 34
-1

You can find the toolchain in Western Digital N900's GPL source code.

Ange
  • 6,694
  • 3
  • 28
  • 62
arprip
  • 1