Hi guys!
I'm looking for a more elegant way to skip machine chek in Sierra (without editing dist files or without using any 3rd party url). Anyone knows about "/var/db/softwareupdated/productvalidations.plist"? I we found a way to skip some checks for updates (maybe). When i check SoftwareUpdate PrivateFramework with 'otool -tvV', i found some intresting things:
- method with name "loadProductValidations", that loads productvalidations.plist (if file exists) with dictionaryWithContentsOfFile
- method with name "validationOverrideForProductKey" that checks a dict about the following keys:
- pass-all-checks (boolValue)
- installation-check (string, checked for "pass")
- volume-check (string, checked for "pass")
- visible (boolValue)
- visibleOnlyForPredicate (boolValue)
But i can't figure out the right syntax for "/var/db/softwareupdated/productvalidations.plist". Anyone can help me how to debug the running softwareupdated with SoftwareUpdate privateframework?
Installation checks isn't determined by SoftwareUpdate, but rather sysctl and Apple Installer APIs.
Wow buddy! Not sure where you're going with this.
First, you definitely DON'T want to patch machdep.cpu.features. Aside from the security aspect here, almost all apps/system services etc... at one point in their life check for these cpu features to, sometimes configure themselves correctly. You would break a lot of stuff. So don't even go there.
Second is var/db/softwareupdated/productvalidations.plist even a thing? I don't have a trace of it on my system. Do you? Are there symbols in the binary you are otool'ing that point to a productvalidations.plist? Just asking...