iOS11脚本执行报错

需求: 给debugserver提权

代码:

#include <spawn.h>

extern char **environ;

int run_cmd(const char *cmd)
{
    pid_t pid;
    const char *argv[] = {"sh", "-c", cmd, NULL};
    
    int status = posix_spawn(&pid, "/bin/sh", NULL, NULL, (char* const*)argv, environ);
    if (status == 0) {
        if (waitpid(pid, &status, 0) == -1) {
            perror("waitpid");
        }
    }
    
    return status;
}

int main(int argc, char **argv, char **envp) {
    if (argc < 2)
    {
        fprintf(stderr, "usage: %s program args...\n", argv[0]);
        
        return EXIT_FAILURE;
    }
    
    int ret, status;
    pid_t pid;
    posix_spawnattr_t attr;
    
    posix_spawnattr_init(&attr);
    posix_spawnattr_setflags(&attr, POSIX_SPAWN_START_SUSPENDED);
    
    ret = posix_spawnp(&pid, argv[1], NULL, &attr, &argv[1], envp);
    
    posix_spawnattr_destroy(&attr);
    
    if (ret != 0)
    {
        printf("posix_spawnp failed with %d: %s\n", ret, strerror(ret));
        return ret;
    }
    
    char buf[200];
    
    snprintf(buf, sizeof(buf), "/electra/jailbreakd_client %d 1", pid);
    run_cmd(buf);
    
    kill(pid, SIGCONT);
    waitpid(pid, &status, 0);
    
    return 0;
}

// vit=objc

在ios11越狱环境下只从此脚本报错:
/usr/bin/JBDO: line 1: syntax error near unexpected token newline' /usr/bin/JBDO: line 1: !<arch>’
网上查过许多方法都不行,比如什么换行符不对等等,希望大佬能赐教

这不是个脚本哇

这不是提权脚本吗?

http://www.iosre.com/t/ios-11-debugserver-lldb/12197参考这个帖子写的

你可能需要谭浩强的C程序设计第三版

Wow,
just wow

原文里

使用theos的tool模版制作一个小的命令行工具,我这里用的名字是JBDO。make package install 后ssh进入设备

被你放到哪去了

直接make package install会被killed,后来我给了权限之后,make package之后放到了/usr/bin/下了

我很菜,求大佬别嘲笑。

你file一下这个line 1的文件是啥,我怀疑你操作错了

刚才不小心把/usr/bin文件夹给删除了。该怎么办。。

entitlement要加上这个

	<key>platform-application</key>
	<true/>

加了呀,我现在把/usr/bin文件夹删除了,该如何是好。。

加了怎么会killed

我们忘了这个,这个没记错的话是deb的类型签名。他直接执行deb了

我想调试apple的framework,查看原代码,可以吗?

相信我,他会把deb当二进制执行的话我们继续在这件事情上浪费精力没有太大的意义,这人很明显完全没有看过任何那些广泛可用的资源就来倒腾逆向了。

为了我们的精神能维持正常, Don’t

不好意思哈,刚接触没几天,百度不到的问题所以就来论坛上问了。希望大佬不要见怪