ios二进制载入后没有进行rebase

Open
#1,243 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
ios, python

Research direction

Start by reproducing the sample in issue #1243 and inspect Qiling's iOS binary-loading path. Compare its relocation behavior with the referenced unidbg MachOLoader.rebase function; done means the sample memory reads return the expected relocated values, including 0x174aa40.

Written by the indexing model from the issue text.

Description

*Describe the bug
A clear and concise description of what the bug is.

Sample Code

ql = Qiling(self.path, self.rootfs, verbose=QL_VERBOSE.DEBUG)
print(ql.mem.read(0xE88741C, 4))
print(ql.mem.read(0x174aa40, 4))

Expected behavior
内存读值错误
image
0x174aa40打印的值为0

Screenshots
image

Additional context
需要https://github.com/zhkl0228/unidbg/tree/master/unidbg-ios/src/main/java/com/github/unidbg/ios/MachOLoader.java 的rebase函数

Dominant language
Python
Stars
6.1k
Forks
798
Avg merge
1d 1h
Merged PRs (30d)
9

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from qilingframework/qiling

All issues in qilingframework/qiling

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.