Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

perez987

macrumors regular
Original poster
Sep 22, 2021
107
270
Spain
Hello, I am trying to fix an issue with SIP info in About This Hack app. It's the primary GH repo.

I would appreciate Apple Silicon owners running this command on Terminal and posting the output, saying if it matches current SIP value.
On Intel machines the command runs fine.

Bash:
 ioreg -l | grep csr-active-config | cut -c 38- | cut -c -8

It would be even better trying with SIP disabled too.

Thank you!!!
 
For me, no results are returned. The grep doesn't output any lines. I have SIP turned on -- csrutil status returns "System Integrity Protection status: enabled."

2024 Mac Mini with the M4 Pro chip (12 core CPU)
Sequoia 15.3.1

I quickly searched through the ioreg -l output. The only thing I see related is a *huge long* line that contains the string: csr-data"={"Present"=No,"Read"=1}
 
  • Like
Reactions: perez987
@Brian33
Thank you!
Please try this app on the Mac Mini M4 Pro and tell me if the tooltip when hovering over macOS version shows the correct SIP value (enabled/disabled).
Thanks again.

sip.png

 
That window doesn't exist in Mac OS Sequoia. The closest equivalent is the "About" page in System Settings. No tooltip is displayed when hovering over the OS version.
 
@mfram
Yes. I know that.
It's an app (GitHub project) to bring back the About This Mac design from older versions of macOS.
The app can work on real Macs, Macs with OCLP and Hacks.

As I don't have any chance to try it in an Apple Silicon, that's why I've asked for help from users with this kind of Macs to tell me if the commands used by the app work on Silicon as they do on Intel.

I've already seen that the command to see if csr-active-config exists in the ioreg tree doesn't work (it does on Intel).

Now I've asked @Brian33 (and any other user who wants to try) to try the modified app to see if the info about SIP is properly displayed in the tooltip.
 
Different approach. I know that Intel Macs have perl preinstalled by default.
But I don't know if Silicon Macs have it too although I think so.

Can you run in Terminal perl --version or perl -v?

Thank you.
 
Different approach. I know that Intel Macs have perl preinstalled by default.
But I don't know if Silicon Macs have it too although I think so.

Can you run in Terminal perl --version or perl -v?
It seems that Macs do have perl installed. Entering /usr/bin/perl --version outputs this:

This is perl 5, version 34, subversion 1 (v5.34.1) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2022, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


Please try this app on the Mac Mini M4 Pro and tell me if the tooltip when hovering over macOS version shows the correct SIP value (enabled/disabled).

Your app looks really nice! However, I'd rather not install any extra apps at this time. I don't mind entering some Terminal commands (which I can look up their 'man' page for).
 
  • Like
Reactions: perez987
hovering over macOS version shows the correct SIP value (enabled/disabled).
Can your app use the csrutil status command that I mentioned in post #2? It's been around for several macOS releases so I don't think it's going away anytime soon. No password required; works with standard user account.

It will return "System Integrity Protection status: enabled." (or, presumably, "System Integrity Protection status: disabled." )
 
  • Like
Reactions: perez987
@Brian33
Thanks for your help.
csrutil status is not useful here since the app wants to show the hexadecimal value of SIP.
E.g.:csrutil status returns enabled / disabled / unknown state but the app must show "Enabled 0x00000000" or "Disabled 0x0308000". 03080000 is an example, SIP disabled fully or partially may show another number.

It seems that perl can do what I'm looking for, which is the hexadecimal value of SIP without too much complexity in the code.

Knowing that we have perl by default, the Terminal command below must return the hexadecimal value of SIP (00000000, 03080000, etc.). You can try and tell to me if it's so.

Bash:
nvram -x csr-active-config | grep -E '\s<data>$' -A1 | tail -1 | base64 -d | hexdump | cut -c 9- | tr -d ' ' | xxd -revert -plain | LC_ALL=C rev | tr -d '\n' | xxd -plain | perl -pe 's/^(.{4})(.{4})$/\2\1/g'

Thanks again.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.