0

I recently stumbled upon a weird binary, complied by a "Qualcomm Hexagon" compiler. The ELF binary seems fine, however section tables (section header size and string table index) seem empty. For those reasons OBJDUMP didn't work on the binary.

Here is the output from the readelf.

    $ ./hexagon-readelf -a wierdBin.elf 
    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              EXEC (Executable file)
      Machine:                           Qualcomm Hexagon
      Version:                           0x1
      Entry point address:               0x40200000
      Start of program headers:          52 (bytes into file)
      Start of section headers:          0 (bytes into file)
      Flags:                             0x3, V4
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         31
      Size of section headers:           40 (bytes)
      Number of section headers:         0
      Section header string table index: 0

    There are no sections in this file.

    There are no sections to group in this file.

    Program Headers:
      Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
      NULL           0x000000 0x00000000 0x00000000 0x00414 0x00000     0
      LOAD           0x001000 0x40756000 0x40756000 0x01b94 0x02000     0x1000
  [..cut for brevity..]

I have never dealt with such type of binary, I guess I have to populate those areas to get OBJDUMP working on it.

Could someone help me to get it fixed? If anyone wants to take a look, I'm sharing the ELF binary. weirdBinary.elf

  • google says there is a binutils port an llvm compiler some disassembler and even a hexagon processor module for ida did you check any of them out hexagon by quallcomm appears to be a dsp for their snapdragon SOC – blabb Aug 27 '16 at 19:38
1

"Qualcomm Hexagon" is not a compiler, its an architecture by Qualcomm Inc.

The internet has a few resources which might be helpful in your endeavors.

  1. A third party IDA processor module
  2. An SDK provided by Qualcomm.
  3. A few other tools and documents provided by Qualcomm.

Although these do not explain the reason for the empty sections table, I assume going over those in-depth would provide that information.

|improve this answer|||||

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.