How to support iOS27/Xcode27

Open Beginner friendly
#99 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
c, ios

Research direction

Start with the mprotect() handling and SEG_DATA_CONST references mentioned in the issue, then inspect the linked fishhook commit for the proposed change. Build and run the library against the iOS 27/Xcode 27 beta, confirming that symbol rebinding succeeds without EINVAL and that existing tests still pass.

Written by the indexing model from the issue text.

Description

Hi maintainers,

First up, thanks for making this incredibly useful library available. I use it in a project of mine InjectionIII which allows users to "inject" code changes into a live app in Swift or Objective-C.

I've been testing the new Xcode/iOS 27 beta and found I hade to make a change to page align the memory address passed to mprotect() or else you get a EINVALID error and subsequent code fails as it can not write to SEG_DATA_CONST to update the function indirections.

The change required very minor and is available here:
https://github.com/johnno1962/fishhook/commit/51b4b873fb03072921337fc4b86a45e2fb24556e

Thanks again for this code.

John

Dominant language
C
Stars
5.4k
Forks
990
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

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 facebook/fishhook

All issues in facebook/fishhook

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.