Skip to content

Refactor: Add support for CleanMyMac 5 paths and research tools#1

Open
chakravartiraj wants to merge 1 commit intomwangaben:mainfrom
chakravartiraj:main
Open

Refactor: Add support for CleanMyMac 5 paths and research tools#1
chakravartiraj wants to merge 1 commit intomwangaben:mainfrom
chakravartiraj:main

Conversation

@chakravartiraj
Copy link
Copy Markdown

Problem:
The original patch script was version-locked to CleanMyMac X 4.11.4 and failed on systems with CleanMyMac 5 installed due to hardcoded paths and signature mismatches.

Actions:

  • Updated 'patch.py' to automatically detect both version 4 (MAS) and version 5 paths.
  • Updated 'verify.sh' to check codesign for version 5 binaries.
  • Introduced 'search_hex.py' and 'search_wildcard.py' for easier signature discovery in newer versions.
  • Updated 'README.md' to document dual-version support and clarify version lock for patching logic.

Root-cause:
Version 5 uses a fundamentally different directory structure and modular framework architecture compared to version 4, rendering the original MAS-specific paths obsolete.

Solution:
Implementation of dynamic path detection allows the script to function (at least for detection) across both major versions, while new research tools provide a foundation for future signature updates.

Verification:
Manual verification confirmed 'patch.py' correctly identifies CleanMyMac 5 paths. Codesign verification via updated 'verify.sh' confirmed original binaries are valid before patching attempts.

Problem:
The original patch script was version-locked to CleanMyMac X 4.11.4 and failed on systems with CleanMyMac 5 installed due to hardcoded paths and signature mismatches.

Actions:
- Updated 'patch.py' to automatically detect both version 4 (MAS) and version 5 paths.
- Updated 'verify.sh' to check codesign for version 5 binaries.
- Introduced 'search_hex.py' and 'search_wildcard.py' for easier signature discovery in newer versions.
- Updated 'README.md' to document dual-version support and clarify version lock for patching logic.

Root-cause:
Version 5 uses a fundamentally different directory structure and modular framework architecture compared to version 4, rendering the original MAS-specific paths obsolete.

Solution:
Implementation of dynamic path detection allows the script to function (at least for detection) across both major versions, while new research tools provide a foundation for future signature updates.

Verification:
Manual verification confirmed 'patch.py' correctly identifies CleanMyMac 5 paths. Codesign verification via updated 'verify.sh' confirmed original binaries are valid before patching attempts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant