From 68e17872313ff6c0f84494b212cb264a35901879 Mon Sep 17 00:00:00 2001 From: Jackson Coxson Date: Sun, 6 Apr 2025 22:47:58 -0600 Subject: [PATCH] Update examples for new lockdown get value --- ffi/examples/lockdownd.c | 20 ++++++++++++++++++-- ffi/examples/mount_personalized.c | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ffi/examples/lockdownd.c b/ffi/examples/lockdownd.c index 73372d9..5e17877 100644 --- a/ffi/examples/lockdownd.c +++ b/ffi/examples/lockdownd.c @@ -1,7 +1,9 @@ // Jackson Coxson #include "idevice.h" +#include "plist/plist.h" #include +#include #include #include #include @@ -64,7 +66,7 @@ int main() { // Get device name plist_t name_plist = NULL; - err = lockdownd_get_value(client, "DeviceName", &name_plist); + err = lockdownd_get_value(client, "DeviceName", NULL, &name_plist); if (err != IdeviceSuccess) { fprintf(stderr, "Failed to get device name: %d\n", err); } else { @@ -77,7 +79,7 @@ int main() { // Get product version plist_t version_plist = NULL; - err = lockdownd_get_value(client, "ProductVersion", &version_plist); + err = lockdownd_get_value(client, "ProductVersion", NULL, &version_plist); if (err != IdeviceSuccess) { fprintf(stderr, "Failed to get product version: %d\n", err); } else { @@ -88,6 +90,20 @@ int main() { plist_free(version_plist); } + // Get product version + plist_t developer_mode_plist = NULL; + err = + lockdownd_get_value(client, "DeveloperModeStatus", + "com.apple.security.mac.amfi", &developer_mode_plist); + if (err != IdeviceSuccess) { + fprintf(stderr, "Failed to get product version: %d\n", err); + } else { + uint8_t enabled = 0; + plist_get_bool_val(developer_mode_plist, &enabled); + printf("Developer mode enabled: %s\n", enabled ? "true" : "false"); + plist_free(developer_mode_plist); + } + // Get all values plist_t all_values = NULL; err = lockdownd_get_all_values(client, &all_values); diff --git a/ffi/examples/mount_personalized.c b/ffi/examples/mount_personalized.c index 9e91f52..97c1447 100644 --- a/ffi/examples/mount_personalized.c +++ b/ffi/examples/mount_personalized.c @@ -150,7 +150,7 @@ int main(int argc, char **argv) { // Get UniqueChipID plist_t unique_chip_id_plist = NULL; - err = lockdownd_get_value(lockdown_client, "UniqueChipID", + err = lockdownd_get_value(lockdown_client, "UniqueChipID", NULL, &unique_chip_id_plist); if (err != IdeviceSuccess) { fprintf(stderr, "Failed to get UniqueChipID: %d\n", err);