avast / avast/retdec

fileformat: Add support for parsing of archives (static libraries)

Open
#204 0 comments 0 reactions 0 assignees View on GitHub
C-fileformat C-fileinfo new-feature
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

Currently, we don't support archives (static libraries) in fileformat. We have separate tool called `ar-extractor` which is able to extract object files out of archive and then we can run decompilation on the extracted files.

It would be nice to incorporate support of archives into `fileformat`. This is going to be hard task because `fileformat` is absolutely not prepared for such change. It expects executable file with ordinary data structures such as import tables, symbols, etc.

We would also get rid of `fileinfo.sh` script if we solved this ticket.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing fileformat implementation and the separate ar-extractor tool to understand how archive members are extracted before decompilation. Check how fileinfo.sh currently connects these steps. Done means fileformat can parse static-library archives directly and fileinfo.sh is no longer needed.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.