avast / avast/retdec

Suggestion from web: from Ukraine with love

Open
#176 1 comment 0 reactions 0 assignees View on GitHub
enhancement P-output
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

[Binary](https://github.com/avast-tl/retdec/files/1702980/structaddress.zip) sent to us by user through https://retdec.com/.

**The original message (:-D):**
_Доброго часу доби! Так, цікавить, цікавить! Ваш декомпілятор дуже високої якості.
Він досить добре відновлює структури. Цілком приємний виходить код.
Але є і явні недоліки.
Ось приклад. Все це, скрізь це звернення до змінних структури! + 104 + 108, це змінні структури адресу, і такого коду половина. Було б куди приємніше звертатися до них за допомогою оператора стрільця ->. А тим більше, що параметри функції видно відмінно!
А так, в цілому дуже добре!_

**Google translate:**
_Good day! Thus, interested, interesting! Your kompylyator very high quality.
He recovers well enough structure. It turns out nice code.
But there are obvious shortcomings.
Here's an example. All this, it always appeals to the changing structure! + 104 + 108, the structure is variable address and the code of the half. It would be much nicer to contact them by using the arrow ->. And the more that function parameters seen great!
And, in general, very good!_

Basically we should look into better work with structures.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by examining the attached structaddress.zip binary and the decompiler output it produces. Determine how recovered structures are represented and where pointer member access is emitted; done means producing readable arrow-based access instead of repeated offset arithmetic for the demonstrated case.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.