mirror of
https://github.com/leminlimez/Nugget.git
synced 2025-04-08 04:23:05 +08:00
force daemons to use regular domains
This commit is contained in:
@@ -20,9 +20,6 @@ def concat_exploit_file(file: FileToRestore, files_list: list[FileToRestore], la
|
|||||||
base_path = "/private/var/mobile/backup"
|
base_path = "/private/var/mobile/backup"
|
||||||
elif file.restore_path.startswith("/private/var/"):
|
elif file.restore_path.startswith("/private/var/"):
|
||||||
base_path = "/private/var/backup"
|
base_path = "/private/var/backup"
|
||||||
elif file.owner == 0 and file.group == 0:
|
|
||||||
# restore straight to the file since it won't restore otherwise
|
|
||||||
base_path = ""
|
|
||||||
# don't append the directory if it has already been added (restore will fail)
|
# don't append the directory if it has already been added (restore will fail)
|
||||||
path, name = os.path.split(file.restore_path)
|
path, name = os.path.split(file.restore_path)
|
||||||
domain_path = f"SysContainerDomain-../../../../../../../..{base_path}{path}/"
|
domain_path = f"SysContainerDomain-../../../../../../../..{base_path}{path}/"
|
||||||
|
|||||||
@@ -239,11 +239,11 @@ class DeviceManager:
|
|||||||
domain="ManagedPreferencesDomain"
|
domain="ManagedPreferencesDomain"
|
||||||
))
|
))
|
||||||
|
|
||||||
def get_domain_for_path(self, path: str) -> str:
|
def get_domain_for_path(self, path: str, owner: int = 501) -> str:
|
||||||
# returns Domain: str?, Path: str
|
# returns Domain: str?, Path: str
|
||||||
if self.get_current_device_supported() and not path.startswith("/var/mobile/"):
|
if self.get_current_device_supported() and not path.startswith("/var/mobile/") and not owner == 0:
|
||||||
# don't do anything on sparserestore versions
|
# don't do anything on sparserestore versions
|
||||||
return None, path
|
return path, None
|
||||||
fully_patched = self.get_current_device_patched()
|
fully_patched = self.get_current_device_patched()
|
||||||
# just make the Sys Containers to use the regular way (won't work for mga)
|
# just make the Sys Containers to use the regular way (won't work for mga)
|
||||||
sysSharedContainer = "SysSharedContainerDomain-"
|
sysSharedContainer = "SysSharedContainerDomain-"
|
||||||
@@ -270,11 +270,12 @@ class DeviceManager:
|
|||||||
parts = new_path.split("/")
|
parts = new_path.split("/")
|
||||||
new_domain += parts[0]
|
new_domain += parts[0]
|
||||||
new_path = new_path.replace(parts[0] + "/", "")
|
new_path = new_path.replace(parts[0] + "/", "")
|
||||||
return new_domain, new_path
|
return new_path, new_domain
|
||||||
return None, path
|
return path, None
|
||||||
|
|
||||||
def concat_file(self, contents: str, path: str, files_to_restore: list[FileToRestore], owner: int = 501, group: int = 501):
|
def concat_file(self, contents: str, path: str, files_to_restore: list[FileToRestore], owner: int = 501, group: int = 501):
|
||||||
domain, file_path = self.get_domain_for_path(path)
|
# TODO: try using inodes here instead
|
||||||
|
file_path, domain = self.get_domain_for_path(path, owner=owner)
|
||||||
files_to_restore.append(FileToRestore(
|
files_to_restore.append(FileToRestore(
|
||||||
contents=contents,
|
contents=contents,
|
||||||
restore_path=file_path,
|
restore_path=file_path,
|
||||||
@@ -313,6 +314,8 @@ class DeviceManager:
|
|||||||
elif isinstance(tweak, BasicPlistTweak) or isinstance(tweak, RdarFixTweak) or isinstance(tweak, AdvancedPlistTweak):
|
elif isinstance(tweak, BasicPlistTweak) or isinstance(tweak, RdarFixTweak) or isinstance(tweak, AdvancedPlistTweak):
|
||||||
basic_plists = tweak.apply_tweak(basic_plists, self.allow_risky_tweaks)
|
basic_plists = tweak.apply_tweak(basic_plists, self.allow_risky_tweaks)
|
||||||
basic_plists_ownership[tweak.file_location] = tweak.owner
|
basic_plists_ownership[tweak.file_location] = tweak.owner
|
||||||
|
if tweak.owner == 0:
|
||||||
|
uses_domains = True
|
||||||
elif isinstance(tweak, NullifyFileTweak):
|
elif isinstance(tweak, NullifyFileTweak):
|
||||||
tweak.apply_tweak(files_data)
|
tweak.apply_tweak(files_data)
|
||||||
if tweak.enabled and tweak.file_location.value.startswith("/var/mobile/"):
|
if tweak.enabled and tweak.file_location.value.startswith("/var/mobile/"):
|
||||||
@@ -419,7 +422,7 @@ class DeviceManager:
|
|||||||
settings.setValue(self.data_singleton.current_device.uuid + "_model", "")
|
settings.setValue(self.data_singleton.current_device.uuid + "_model", "")
|
||||||
settings.setValue(self.data_singleton.current_device.uuid + "_hardware", "")
|
settings.setValue(self.data_singleton.current_device.uuid + "_hardware", "")
|
||||||
settings.setValue(self.data_singleton.current_device.uuid + "_cpu", "")
|
settings.setValue(self.data_singleton.current_device.uuid + "_cpu", "")
|
||||||
domain, file_path = self.get_domain_for_path(
|
file_path, domain = self.get_domain_for_path(
|
||||||
"/var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist"
|
"/var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist"
|
||||||
)
|
)
|
||||||
restore_files(files=[FileToRestore(
|
restore_files(files=[FileToRestore(
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from tweaks.custom_gestalt_tweaks import CustomGestaltTweaks, ValueTypeStrings
|
|||||||
from tweaks.daemons_tweak import Daemon
|
from tweaks.daemons_tweak import Daemon
|
||||||
|
|
||||||
App_Version = "4.2"
|
App_Version = "4.2"
|
||||||
App_Build = 6
|
App_Build = 7
|
||||||
|
|
||||||
class Page(Enum):
|
class Page(Enum):
|
||||||
Home = 0
|
Home = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user