我一直在阅读有关反向工程iOS应用程序的PDF,并到达了幻灯片39,对二进制文件进行了解密。但是,我一直试图在OS X 10.9.5(而不是iOS)中反汇编和探索二进制文件,因为我的手机没有越狱,所以我不想这样做。

我下载了使用在笔记本电脑上本地运行的转发代理从App Store获取IPA文件,以拦截iPhone上的下载请求并将其复制到笔记本电脑上。从那里,我按照这些指示从IPA文件中提取加密的二进制文件,并使用PDF文件中的指示来检查它是否已加密。我确认它已被加密,因为otool的输出是:

Load command 11
          cmd LC_ENCRYPTION_INFO
      cmdsize 20
    cryptoff  8192
    cryptsize 15187968
    cryptid   1


是否有一种方法可以仅使用我的Apple计算机解密DRM?

#1 楼

当前,如果没有设备,您将无法解密iOS应用。最终,加密密钥受未知密钥保护,该密钥已烧入处理器,无法使用软件提取,这就是为什么尚未制作“离线”解密应用程序的原因。

#2 楼

使用dumpdecrypted或离合器: br />您可以在OS / X上安装Clutch,但不确定是否需要有效的Apple开发人员许可证才能使用XCODE编译iphone。我发现通过越狱设备中的Cydia进行安装要容易得多(只需在Cydia数据包管理器中查找并安装)。

关于dumpdecrypted,您需要在OS /中进行编译X和XCODE命令行工具(以及XCODE附带的IOS SDK)。使用XCODE,只需做一个make就可以编译,不需要对makefile进行任何修改。编译后,您可以通过ssh将其上传到您的越狱设备:

# scp dumpdecrypted.dylib root@192.168.0.192:/Library/


将其注入要解密的应用程序/进程:

# DYLD_INSERT_LIBRARIES=/Library/dumpdecrypted.dylib PATH_TO_YOUR_APP mach-o decryption dumper


评论


我已经尝试过dumpdecrypted,但不确定如何编辑Makefile以使其在OSX上编译。但是我现在正在尝试Clutch,我已经安装了iOSOpenDev并且可以正常编译,但是在运行时它尝试访问/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport,但这是仅在iOS上存在的框架,而不是OSX 。我下载了github.com/nst/iOS-Runtime-Headers并将框架放在目录中,但是它仍然没有被加载,我不确定如何加载。您能否更详细地了解如何在OSX中获得这些功能?

–帕特里克·罗伯茨(Patrick Roberts)
16年1月1日在21:20

我在原始答案中包含了有关安装的更多详细信息

– davidfm
16年1月1日在22:48

这些指示假设我拥有一部越狱的iPhone。我在我的问题中明确表示我不打算越狱。如果这些仅在OSX上不起作用,请删除您的答案。

–帕特里克·罗伯茨(Patrick Roberts)
16年1月1日于23:55

AFAIK解密会在实际设备上发生,而离合器仅在调试器下运行可执行文件,监视main()断点并转储解密的可执行文件内存。因此,您目前无法在OSX中解密。我们应该停止使用包含数字手铐的令人沮丧的专有设备...

– k3a
17年1月27日在17:47