从 PC 应用程序发送命令到越狱 iphone

Send command from PC application to Jailbroken iphone

我正在通过 C# 在 PC 上制作一个简单的应用程序,以向越狱的 iphone 发送命令(exp:打开应用程序,获取安装在 iphone..e.t.c.. 上的列表应用程序) 但我不知道如何发送到 iphone,搜索 google 但找不到可以执行此操作的东西。任何人都知道如何向 iphone 发送命令,请指出我或一些文档以了解这一点。 谢谢。

首先,您必须在越狱后的 iDevice 上创建一个守护进程。它将包含一个 TCP 服务器,它接受来自您的 PC 的连接并将它们转换为您的命令。之后命令将由您的守护程序执行,您必须编写代码来处理每种类型的命令。

另一种简单的解决方案是将 Cycript 与 SSH 结合使用。 如果Cycript安装在越狱phone上,SSH服务器是运行,你可以写一些脚本上传到phone。 通过运行他们,它会输出相关信息到标准输出。

你仍然需要做一些非常基本的逆向操作才能知道你想要显示什么(即要求正确的 SpringBoard 控制器获得所需的信息)

我认为最好的方法是使用 SSH,步骤如下

在越狱设备上(如果您已经安装了 ssh 服务器并且运行,请跳过此步骤)

  1. 从 Cydia 下载 SSH 服务器
  2. 记下您设备的 IP 地址
  3. 默认用户名:root 和密码:alpine 记得更改!我还建议为您的应用创建另一个用户

在您的申请中

  1. 从 NuGET 下载并安装 SSH.NET 库 here

  2. 实现连接、断开连接和发送命令的适当方法,参见这些示例:

    using (var client = new SshClient("phoneIp", "phoneUsername", "phonePassword")) {
        client.Connect();
        //Open the Facebook app and show your profile
        client.RunCommand("open fb://profile");
        //Alternative method using `uiopen`
        client.RunCommand("uiopen fb://profile");
    
        //Read device network info (install network-cmds first)
        Console.WriteLine(client.RunCommand("ifconfig"));
    
        //List all apps installed via Cydia
        Console.WriteLine(client.RunCommand("dpkg –list"));
    
        //List all apps that are installed from iTunes/Appstore
        Console.WriteLine(client.RunCommand("cat /private/var/mobile/Library/Caches/com.apple.mobile.installation.plist"));
        client.Disconnect();
    }
    

我当然没有测试过这段代码,我也没有越狱 iOS 设备,但这至少应该让你走上正确的道路!