avast / avast/retdec

Mach-O: special analysis for dyld_stub_binder() function

Open
#165 1 comment 0 reactions 0 assignees View on GitHub
C-bin2llvmir enhancement T-format-macho
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

Compare decompilation output for stripped and not-stripped binaries from: [test.zip](https://github.com/avast-tl/retdec/files/1700328/test.zip). What is `dyld_stub_binder()` doing? Looks like some kind of symbol lazy binding.

Another example [10f62cd02bb164433249522e6597f2eeaa6545a3a763ca8bb70af7b9e6308098](https://www.virustotal.com/en/file/10f62cd02bb164433249522e6597f2eeaa6545a3a763ca8bb70af7b9e6308098/analysis/) and its IDA: ![arm-macho-6ae192c4caa958a6d1c4479221a7785d-ida](https://user-images.githubusercontent.com/20342097/35876911-15ac2f1e-0b74-11e8-92b4-d96bc9c25851.png)

Analyze and implement special handling if needed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the stripped and unstripped binaries in test.zip and their decompilation output, then inspect how dyld_stub_binder() is represented. Determine whether it performs symbol lazy binding and whether the differing output requires special handling; done means the behavior is understood and any necessary handling is implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, reverse-engineering
Issue type
Bug
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.