在看到这个关于保护你的应用程序不被破解的问题后,我看到顶级回答者提到了能够看到设备是否因内核中的某些内部不平衡而被越狱的问题.仔细研究了一下,我发现了内核架构概述指南,并了解了与Mach-BSD内核交互的方法.我需要知道的是:我在寻找什么?当设备在内核的上下文中被越狱时,是否存在某种键或内部状态会发生变化?
要清楚,我不是在寻找代码(我知道如何自己做这些事情),我正在寻找寻找的东西......听起来很奇怪.我已经看到了链接问题中的答案,我知道它们有效,但我想知道一个全内核路由,这似乎是一种通用而有效的方法来检查而不是搜索可能会更改或删除密钥的目录可能有不同的名字.
我也不打算因为盗版而禁用应用程序的任何功能(只是根据条件显示消息或某些内容).
我正在开发一个针对越狱iOS设备的应用程序.它有助于自动执行某些任务.我需要在/ private/var/mobile/Library中创建一个简单的文本文件(实际上是.lua文件).显然,调试器会抛出访问被拒绝的异常.该应用程序现在被命名为"CreateFile",用于测试.
我尝试了以下步骤来获得root访问权限:
打开原始可执行文件并使用以下脚本替换其内容:
#!/bin/bash
dir=$(dirname "$0")
exec "${dir}"/CreateFile "$@"
Run Code Online (Sandbox Code Playgroud)
在iOS上直接启动根应用程序失败.因此,我们使用启动根可执行文件的脚本替换应用程序的主可执行文件.
在终端中,导航到应用包.
chmod 0775原始可执行文件和chmod 6775复制的可执行文件.使用此方法,我可以成功将应用程序安装到/ Applications文件夹并启动它,但是我希望我仍然没有root权限,因为只要应用程序尝试写入操作,它就会崩溃.
如果有人能对这种情况有所了解,我将非常感激!
编辑:
在@creker的建议下做了一些额外的测试.当我尝试在应用程序的文档中创建允许目录中的文件时,它创建就好了,没有任何问题.因此,我确信文件创建不会导致崩溃,并且它只是无法访问的文件夹路径.
同样在@creker的建议下,我尝试将应用程序安装到/ Applications而没有任何启动脚本.应用程序以这种方式打开时崩溃.如果我在安装后将应用程序可执行文件chmod到775,则应用程序将打开但在尝试创建文件时仍会崩溃.
我查看了崩溃记者的系统日志.这是崩溃线:
System.UnauthorizedAccessException: Access to the path "/private/var/mobile/Library/test.txt" is denied
Run Code Online (Sandbox Code Playgroud)
仍然希望解决这个问题,欢迎任何想法!
我正在尝试将文件写入设备的根分区.它是一个Jailbreak应用程序,因此它安装在/ Applications中.使用写入写入根文件系统NSFileManager失败时出现"权限被拒绝"错误.
好像我的应用程序没有以root用户身份运行.它安装在/ Applications中.我的应用程序如何成为root用户?
我有以下代码来读取和写入iOS 10.3.3越狱iPhone 6S上的串口(我使用h3lix进行越狱):
Serial.h:
//
// Serial.h
// iOUSB
//
// Created by Brandon on 2018-05-21.
// Copyright © 2018 XIO. All rights reserved.
//
#if !defined(__cplusplus) //-fmodules -fcxx-modules
@import Foundation;
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wauto-import"
#import <Foundation/Foundation.h>
#pragma clang diagnostic pop
#endif
#define BAUD_RATE 9600
@interface Serial : NSObject
+ (instancetype)shared;
- (bool)setup:(NSString *)filePath;
- (bool)disconnect;
- (size_t)available;
- (size_t)read:(uint8_t *)bytes length:(int32_t)length;
- (size_t)write:(uint8_t *)bytes length:(int32_t)length;
- (void)flushInputStream;
- (void)flushOutputStream;
- (void)flush;
- (NSString …Run Code Online (Sandbox Code Playgroud)