Скомпилируйте скрипт командной строки для iOS
Я написал кодировку iOKit для iOS. Вот код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mach/mach.h>
#include <mach/vm_map.h>
#include <IOKit/IOKitLib.h>
int main()
{
io_service_t service = IOServiceGetMatching(kIOMasterPortDefault, IOserviceMatching("IOUSBHIDDriver")); // change service each time
if(!service)
{
return -1;
}
io_connect_t connect;
kern_return_t kr = IOServiceOpen(service, mach_task_self(), 0, &connect);
if(kr != kIOReturnSuccess)
{
return -1;
}
uint32_t selector =3;
uint64_t input[0];
input[0] = 0x44444444444;
IOConnectCallMethod(connect, selector, input, 1, 0, 0, NULL, NULL, NULL, NULL);
printf("Did it crash? No? Do it again! -Toxic\n");
}
Я уже некоторое время пытаюсь скомпилировать это с GCC, но получаю всевозможные ошибки. Я хотел бы знать, если кто-нибудь точно знает, как скомпилировать инструмент командной строки для iOS. Благодарю.
1 ответ
Идк, вы нашли решение или нет, но в любом случае. Если вы хотите скомпилировать clang на типе устройства: clang -framework IOKit your_app.c -isysroot /var/theos/sdks/iPhoneos_whwhat_sdk_you_have -o output
И это должно скомпилироваться. На Mac же просто без isysroot & /var...
И если вы попробуете в xcode, убедитесь, что драйвер может работать внутри песочницы и включить заголовки iokit
:D
Насколько мне известно, не существует такого инструмента командной строки для (не взломанного) iOS, хотя вы можете выводить в журнал, используя NSLog из приложения. Кроме того, в наборе инструментов Apple для iOS используется clang (llvm), хотя команда 'gcc' обычно имеет псевдоним clang. Самый простой способ получить скрипт - это создать тестовый проект в Xcode, собрать его и посмотреть журнал сборки. Это показывает вам все команды, которые были запущены с какими аргументами.