用 Instruments 来分析 iPhone 应用程序

注意哦, 这里说的不是你自己的应用, 那个太简单容易了, 没什么挑战, 不值得在这里写一篇 blog.

目标: 用 Instruments 来 profiling 第三方的应用, 没有源码的, 只有 binary 的.

Apple 在系统中对 Instruments 运行有一个限制: 在碰到使用 distributed certificate 做 codesign 的 app, 不予运行, 直接 kill 9.

所以, 我们需要有一个可用的 developer certificate. 然后就很简单了.

codesign -fs "iPhone Developer: Holly Lee" --resource-ruls ResourceRules.plist --entitlements Entitlements.xml AppBinary

好了之后放入 iPhone 里覆盖原来的 binary, 然后运行 Instruments 选择该 app 就行了.

当然, 默认的前提是: iPhone 需要 jailbroken 先.

5 thoughts on “用 Instruments 来分析 iPhone 应用程序”

  1. 我运行这命令的时候提示:replacing invalid existing signature,能请问一下是怎么回事呢?

    ResourceRules.plist 和AppBinary 使用91从 ipad中复制出来的。 Entitlements.xml 是新建了一个。
    内容是:

    1.
    2.
    3.
    4.
    5. 这里我试了那个要调试的程序,比如com.kaoshi100.kaoshi100 也试了自己的
    6.
    7. get-task-allow
    8.
    9. task_for_pid-allow
    10.
    11.
    12.

  2. [code]
    1.
    2.
    3.
    4.
    5. com.apple.springboard.debugapplications
    6.
    7. get-task-allow
    8.
    9. task_for_pid-allow
    10.
    11.
    12.

    [/code]

  3. replacing invalid existing signature 表示原先 app 的签名就不是一个合法的签名, 盗版的吧?

Leave a Reply

Your email address will not be published. Required fields are marked *