最新消息:

[iOS Hacker] 不越狱使用 Xcode 调试第三方应用

iOS/MacOSX/移动安全 exchen 271浏览 0评论

不越狱使用 Xcode 调试第三方应用

在越狱环境我们经常通过 SSH 远程登录,然后在命令行下使用 lldb 调试第三方应用,但是有些情况下手机是没越狱的,但是又想调试第三方应用怎么办?也有办法,原理就是“偷梁换柱”,主要有这下面几个步骤:

(1) 使用 Xcode 建一个和第三方应用一样名称的工程,比如工程名叫 WeChat。

(2) 在 Xcode 上编译工程并运行起来, 同时将 WeChat.app 复制替换我们新建工程生成的 .app。

(3 ) 对 WeChat.app 进行签名。

(4) 最后将签名后的 WeChat.app 安装到手机上,这样 Xcode 就像是在运行我们自己的 APP,想怎么调试就怎么调。

下面我们来具体操作一下,先看一下 AloneMonkey 写的脚本,这个脚本的作用就是完成“偷梁换柱”,将第三方应用替换掉原始的 .app 文件,欺骗 Xcode 以为是在运行原始的 .app,具体代码如下:

使用之前先将 WeChat.app 复制到和工程文件 .xcodeproj 在同一个目录,如下图所示:

将这个脚本复制到工程里,方法选择 Build Phases,点击 + 号,再点击 New Run Script Phase,将代码复制进去,点击运行就可以,如下图所示:

运行成功之后,点击那个暂停按钮就能将程序断下来,接下来就可以在命令窗口输入 lldb 命令了,就像是在调试自己写的程序一样,如下图所示:

比如来查看一下加载的模块和基地址:

点击 Debug View Hierarchy,还能查看到应用的 UI 结构,如下图所示:

转载请注明:exchen's blog » [iOS Hacker] 不越狱使用 Xcode 调试第三方应用

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址