Кто-нибудь знает, как обойти права в iOS 8?

Как вы знаете, что знаменитый _XPConnectionHasEntitlement больше не работает в iOS 8, есть ли другой способ обойти права с помощью твиков, которые требуют права? Я узнаю, что _BSAuditTokenTaskHasEntitlement может решить проблему, но я не могу пройти через это.

Я использую следующий фрагмент кода, чтобы подключиться к backboardd & assertionsd.

static int (*orig_BSAuditTokenTaskHasEntitlement)(id connection, NSString *entitlement);
static int hooked_BSAuditTokenTaskHasEntitlement(id connection, NSString *entitlement) {
    NSLog(@"Got it.");
    if (xpc_connection_get_pid(connection) == [[UIDevice currentDevice] __qrwaGetPIDForProcess:@"SpringBoard"] && [entitlement isEqualToString:@"com.apple.multitasking.unlimitedassertions"]) {
        return 1;
    } else {
        return orig_BSAuditTokenTaskHasEntitlement(connection, entitlement);
    }
}

%ctor {
          %init;
          MSHookFunction(((int *)MSFindSymbol(NULL, "_BSAuditTokenTaskHasEntitlement")), (int*) hooked_BSAuditTokenTaskHasEntitlement, (int**) &orig_BSAuditTokenTaskHasEntitlement);
}

Проблема с этим, заявления NSLog никогда не печатались. Поэтому я чувствую, что что-то не так с синтаксисом функции _BSAuditTokenTaskHasEntitlement, но не уверен.

Если кто-нибудь укажет мне правильное направление, я ценю их помощь.

0 ответов

Другие вопросы по тегам