rofl0r / rofl0r/proxychains-ng

`hookmethod=auto` does not work correctly on mac monterey

Open
#464 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
10.7k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

I followed #409 to check why proxychains4 not working on monterey, however, the default switch hookmethod=auto does not work on my recently updated macos (12.4). The expected log using Monterey style DYLD hooking did not show up.

image

I tested by adding lines to configure, in check_define __APPLE__ section

		osver=$(get_define_stripped __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 2>/dev/null)
+		echo "xxx osver=$osver"

it outputs

xxx osver=110300

It definitely not correct. I have to add --hookmethod=dyld to ./configure to make it work correctly.

Does it seem the correct way to detect MacOS version is the command sw_vers?

$ sw_vers
ProductName:	macOS
ProductVersion:	12.4
BuildVersion:	21F79

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.

Research direction

Start in configure, especially the check_define APPLE section that reads ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED. Compare that value with sw_vers on macOS 12.4 and trace how hookmethod=auto selects the hook mode. Done means auto selects Monterey-style DYLD hooking and the expected log appears without passing --hookmethod=dyld.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.