mirror of
https://github.com/leminlimez/Nugget.git
synced 2025-04-08 04:23:05 +08:00
fix ai spoofing
This commit is contained in:
@@ -2,12 +2,14 @@ from enum import Enum
|
|||||||
from pymobiledevice3.lockdown import LockdownClient
|
from pymobiledevice3.lockdown import LockdownClient
|
||||||
|
|
||||||
class Device:
|
class Device:
|
||||||
def __init__(self, uuid: int, name: str, version: str, build: str, model: str, locale: str, ld: LockdownClient):
|
def __init__(self, uuid: int, name: str, version: str, build: str, model: str, hardware: str, cpu: str, locale: str, ld: LockdownClient):
|
||||||
self.uuid = uuid
|
self.uuid = uuid
|
||||||
self.name = name
|
self.name = name
|
||||||
self.version = version
|
self.version = version
|
||||||
self.build = build
|
self.build = build
|
||||||
self.model = model
|
self.model = model
|
||||||
|
self.hardware = hardware
|
||||||
|
self.cpu = cpu
|
||||||
self.locale = locale
|
self.locale = locale
|
||||||
self.ld = ld
|
self.ld = ld
|
||||||
|
|
||||||
|
|||||||
@@ -57,13 +57,27 @@ class DeviceManager:
|
|||||||
ld = create_using_usbmux(serial=device.serial)
|
ld = create_using_usbmux(serial=device.serial)
|
||||||
vals = ld.all_values
|
vals = ld.all_values
|
||||||
model = vals['ProductType']
|
model = vals['ProductType']
|
||||||
|
hardware = vals['HardwareModel']
|
||||||
|
cpu = vals['HardwarePlatform']
|
||||||
try:
|
try:
|
||||||
product_type = settings.value(device.serial + "_model", "", type=str)
|
product_type = settings.value(device.serial + "_model", "", type=str)
|
||||||
|
hardware_type = settings.value(device.serial + "_hardware", "", type=str)
|
||||||
|
cpu_type = settings.value(device.serial + "_cpu", "", type=str)
|
||||||
if product_type == "":
|
if product_type == "":
|
||||||
# save the new product type
|
# save the new product type
|
||||||
settings.setValue(device.serial + "_model", model)
|
settings.setValue(device.serial + "_model", model)
|
||||||
else:
|
else:
|
||||||
model = product_type
|
model = product_type
|
||||||
|
if hardware_type == "":
|
||||||
|
# save the new hardware model
|
||||||
|
settings.setValue(device.serial + "_hardware", hardware)
|
||||||
|
else:
|
||||||
|
hardware = hardware_type
|
||||||
|
if cpu_type == "":
|
||||||
|
# save the new cpu model
|
||||||
|
settings.setValue(device.serial + "_cpu", cpu)
|
||||||
|
else:
|
||||||
|
cpu = cpu_type
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
dev = Device(
|
dev = Device(
|
||||||
@@ -72,6 +86,8 @@ class DeviceManager:
|
|||||||
version=vals['ProductVersion'],
|
version=vals['ProductVersion'],
|
||||||
build=vals['BuildVersion'],
|
build=vals['BuildVersion'],
|
||||||
model=model,
|
model=model,
|
||||||
|
hardware=hardware,
|
||||||
|
cpu=cpu,
|
||||||
locale=ld.locale,
|
locale=ld.locale,
|
||||||
ld=ld
|
ld=ld
|
||||||
)
|
)
|
||||||
@@ -94,6 +110,8 @@ class DeviceManager:
|
|||||||
self.data_singleton.gestalt_path = None
|
self.data_singleton.gestalt_path = None
|
||||||
self.current_device_index = 0
|
self.current_device_index = 0
|
||||||
tweaks["SpoofModel"].value[0] = "Placeholder"
|
tweaks["SpoofModel"].value[0] = "Placeholder"
|
||||||
|
tweaks["SpoofHardware"].value[0] = "Placeholder"
|
||||||
|
tweaks["SpoofCPU"].value[0] = "Placeholder"
|
||||||
else:
|
else:
|
||||||
self.data_singleton.current_device = self.devices[index]
|
self.data_singleton.current_device = self.devices[index]
|
||||||
if Version(self.devices[index].version) < Version("17.0"):
|
if Version(self.devices[index].version) < Version("17.0"):
|
||||||
@@ -102,6 +120,8 @@ class DeviceManager:
|
|||||||
else:
|
else:
|
||||||
self.data_singleton.device_available = True
|
self.data_singleton.device_available = True
|
||||||
tweaks["SpoofModel"].value[0] = self.data_singleton.current_device.model
|
tweaks["SpoofModel"].value[0] = self.data_singleton.current_device.model
|
||||||
|
tweaks["SpoofHardware"].value[0] = self.data_singleton.current_device.hardware
|
||||||
|
tweaks["SpoofCPU"].value[0] = self.data_singleton.current_device.cpu
|
||||||
self.current_device_index = index
|
self.current_device_index = index
|
||||||
|
|
||||||
def get_current_device_name(self) -> str:
|
def get_current_device_name(self) -> str:
|
||||||
@@ -319,8 +339,10 @@ class DeviceManager:
|
|||||||
# restore to the device
|
# restore to the device
|
||||||
update_label("Restoring to device...")
|
update_label("Restoring to device...")
|
||||||
try:
|
try:
|
||||||
# remove the saved device model
|
# remove the saved device model, hardware, and cpu
|
||||||
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 + "_cpu", "")
|
||||||
domain, file_path = self.get_domain_for_path("/var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist")
|
domain, file_path = self.get_domain_for_path("/var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist")
|
||||||
restore_files(files=[FileToRestore(
|
restore_files(files=[FileToRestore(
|
||||||
contents=b"",
|
contents=b"",
|
||||||
|
|||||||
@@ -547,6 +547,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||||||
tweaks["AIEligibility"].set_language_code(text)
|
tweaks["AIEligibility"].set_language_code(text)
|
||||||
def on_spoofedModelDrp_activated(self, index: int):
|
def on_spoofedModelDrp_activated(self, index: int):
|
||||||
tweaks["SpoofModel"].set_selected_option(index)
|
tweaks["SpoofModel"].set_selected_option(index)
|
||||||
|
if index == 0:
|
||||||
|
tweaks["SpoofHardware"].set_selected_option(0)
|
||||||
|
tweaks["SpoofCPU"].set_selected_option(0)
|
||||||
|
else:
|
||||||
|
tweaks["SpoofHardware"].set_selected_option(1)
|
||||||
|
tweaks["SpoofCPU"].set_selected_option(0)
|
||||||
|
|
||||||
|
|
||||||
## SPRINGBOARD OPTIONS PAGE
|
## SPRINGBOARD OPTIONS PAGE
|
||||||
|
|||||||
4974
qt/mainwindow.ui.autosave
Normal file
4974
qt/mainwindow.ui.autosave
Normal file
File diff suppressed because it is too large
Load Diff
@@ -41,8 +41,10 @@ tweaks = {
|
|||||||
|
|
||||||
## AI Enabler
|
## AI Enabler
|
||||||
"AIEligibility": AITweak(),
|
"AIEligibility": AITweak(),
|
||||||
"AIGestalt": MobileGestaltTweak("Enable Apple Intelligence (for Unsupported Devices) (Gestalt)", "A62OafQ85EJAiiqKn4agtg", min_version=Version("18.1")),
|
"AIGestalt": MobileGestaltMultiTweak("Enable Apple Intelligence (for Unsupported Devices) (Gestalt)", {"A62OafQ85EJAiiqKn4agtg": 1, "6J0wLdcDgChLVU8l8pz8CA": 1}, min_version=Version("18.1")),
|
||||||
"SpoofModel": MobileGestaltPickerTweak("Spoofed Device Model", "h9jDsbgj7xIVeIQ8S3/X3Q", values=["Placeholder", "iPhone16,2", "iPhone17,4", "iPhone17,3", "iPhone17,2", "iPad16,3"], min_version=Version("18.1"), divider_below=True),
|
"SpoofModel": MobileGestaltPickerTweak("Spoofed Device Model", "h9jDsbgj7xIVeIQ8S3/X3Q", values=["Placeholder", "iPhone16,2", "iPhone17,4", "iPhone17,3", "iPhone17,2", "iPad16,3"], min_version=Version("18.1")),
|
||||||
|
"SpoofHardware": MobileGestaltPickerTweak("Spoof Hardware Model", "oYicEKzVTz4/CxxE05pEgQ", values=["Placeholder", "D93AP"], min_version=Version("18.1")),
|
||||||
|
"SpoofCPU": MobileGestaltPickerTweak("Spoof CPU Model", "5pYKlGnYYBzGvAlIU8RjEQ", values=["Placeholder", "t8130"], min_version=Version("18.1"), divider_below=True),
|
||||||
|
|
||||||
## Springboard Tweaks
|
## Springboard Tweaks
|
||||||
"LockScreenFootnote": BasicPlistTweak(
|
"LockScreenFootnote": BasicPlistTweak(
|
||||||
|
|||||||
Reference in New Issue
Block a user