avast / avast/retdec

Synthetic symbol table for 64-bit PowerPC

Open
#170 0 comments 0 reactions 0 assignees View on GitHub
C-fileformat enhancement T-arch-powerpc64
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

64-bit PowerPC contains [function descriptor section .opd](http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES). The real symbol address is not in the symbol table. To get to it, `.opd` needs to be used. GNU tools solve this by introducing _synthetic symbol table_. It looks like an ordinary symbol table, but symbol names are prefixed with `.` (dot), and values reference real addresses/offsets.

We will need this to create statically linked function patterns, and eventual decompilation of 64-bit PowerPC.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked 64-bit PowerPC ELF ABI description and comparing how GNU tools expose synthetic symbols for the .opd section. Done means RetDec can represent dot-prefixed synthetic symbols whose values refer to the real function addresses or offsets, enabling statically linked function patterns.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.