-1

我正在阅读The iOS Hacker's Handbook并同时学习 python。我设法在越狱的 iPhone 4 上构建、加载和启动我的自定义 ramdisk (iOS 5.1.1 (9A405))。我已连接设备,并运行脚本将本地端口 2222 和 1999 转发到远程端口 22 和分别是 1999 年(我想我几乎明白那里发生了什么)。

本书的下一步是运行暴力攻击来破解锁屏(我将其设置为 0000,以使生活相对容易)。但是当我运行脚本时python demo_bruteforce.py,我得到以下输出:

Thomas-MacBook:python_scripts thomas$ python demo_bruteforce.py
Connecting to device : b5c981d7e83707d80c1240e1969428c85e572694
Traceback (most recent call last):
  File "demo_bruteforce.py", line 76, in <module>
    bf_system()
  File "demo_bruteforce.py", line 19, in bf_system
    client = RamdiskToolClient()
  File "/Users/thomas/Downloads/iphone-dataprotection/python_scripts/util/ramdiskclient.py", line 47, in __init__
    self.connect(udid)
  File "/Users/thomas/Downloads/iphone-dataprotection/python_scripts/util/ramdiskclient.py", line 70, in connect
    raise Exception("Connexion to device port %d failed" % self.port)
Exception: Connexion to device port 1999 failed

整个项目可以在这里找到。正如我所提到的,我是 Python 新手,最近才将它安装在我的笔记本电脑上。可能缺少一些模块,但我不确定如何从这个输出中找到它。任何帮助将不胜感激。

4

1 回答 1

1

此函数内部的连接失败。它不会在任何导入上失败,因此您似乎没有缺少任何必需的模块。

   def connect(self, udid=None):
            mux = usbmux.USBMux()
            mux.process(1.0)
            if not mux.devices:
                    print "Waiting for iOS device"
                    while not mux.devices:
                            mux.process(1.0)
            if not mux.devices:
                    print "No device found"
                    return
            dev = mux.devices[0]
            print "Connecting to device : " + dev.serial
            try:
                    self.s = mux.connect(dev, self.port)
            except:
                    raise Exception("Connexion to device port %d failed" % self.port)

问题是最后一行吞下了实际的异常消息并引发了更通用的异常消息。如果我正在调试这个问题,我会打开一个 Python shell 并手动遍历这个函数。然后至少我可以看到正在引发的真正异常并且可能有机会修复它。

于 2013-01-26T18:00:10.297 回答