Комментарии 16
void *provider = *(void**)(app + providerOffset);
Это имхо хуже, чем приватные апи
+5
Я ожидал такого комментария, да. Вы правы конечно.
Что я могу сказать: цель оправдывает средства. Но если вам нужно сделать такое приложение, как, например Charge Alert, которое имеет конкурентное преимущество (отображает реальные данные о батерее), то вам приходится взвешивать риски.
Что я могу сказать: цель оправдывает средства. Но если вам нужно сделать такое приложение, как, например Charge Alert, которое имеет конкурентное преимущество (отображает реальные данные о батерее), то вам приходится взвешивать риски.
+1
И еще, технически, адресная арифметика — это единственный возможный момент вытянуть структуру из Objective-C объекта, насколько мне известно.
См. руководство
См. руководство
0
Меня одного смущает то что арифметика происходит с указателем типа void? Размер которого неизвестен? Какой компилятор смог такое собрать?
+1
void* arithmetic
На всякий случай исправил на char*
На всякий случай исправил на char*
0
НЛО прилетело и опубликовало эту надпись здесь
Хочу написать дополнение к посту, в которой написал бы всю подноготную этих 5 строчек, но пока не хватает времени.
1) Apple Review Team проанализирует программу статическим анализатором (nm/strings/otool/grep), найдут строчки "_statusBar" и ''_currentRawData", и поймут что программист обращаются к приватным переменным. С моим подходом такого не произойдет. В каком-то смысле это обфускация.
2) Хотелось создать интригу, чтобы хабралюди сами попытались разобраться, что происходит.
1) Apple Review Team проанализирует программу статическим анализатором (nm/strings/otool/grep), найдут строчки "_statusBar" и ''_currentRawData", и поймут что программист обращаются к приватным переменным. С моим подходом такого не произойдет. В каком-то смысле это обфускация.
2) Хотелось создать интригу, чтобы хабралюди сами попытались разобраться, что происходит.
0
Т.е. это нестандартная особенность GCC. Буду знать. Но все же лучше пользоваться конкретными типами.
Спасибо что исправили.
Спасибо что исправили.
0
НЛО прилетело и опубликовало эту надпись здесь
Вы правы, разве что я использовал class-dump-z и в большей мере сам рантайм iOS.
0
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ещё один способ получить нестандартные данные в iOS