无法反汇编 iOS 银行应用程序

Not able to disassemble iOS Banking app

我使用漏斗反汇编程序来反汇编 iOS 个应用程序。它适用于大多数应用程序。

然而今天我只是好奇地想了解一个银行应用程序,所以我试着拆解它。因此,我将应用程序从我的越狱设备移到了我的 mac 上,当我尝试使用漏斗对其进行反汇编时,它只会给我一些无用的东西。

为什么会这样?此银行应用程序的二进制文件是否已加密?如果是,我该如何解密?

他们究竟做了什么来混淆代码?他们的代码与其他应用程序代码有何不同?

我使用 iFunbox 将应用程序的可执行文件从我的 iPhone 获取到我的 mac。所有通过这种方式导出的应用程序在反汇编时都没有问题。所以我认为 iFunbox 会删除 DRM。只有这个特定的银行应用程序不起作用。

我什至尝试了 class 转储,但它只给了我一个名为 CDStructures.h 的文件,里面什么也没有。

您需要删除 iOS 应用加密(为此调用 FairPlay). Since you have device with jailbreak you can do this. There is at least one tool

如果您对是否加密 IPA 有疑问,可以使用此命令:

otool -l BINARY | grep -A 4 LC_ENCRYPTION_INFO

另请记住,在某些国家/地区,拆卸可能是非法的。

在 SF(2017 年)的 RSA 展会上,我 运行 进入了一家公司,该公司拥有用于混淆 iOS 和 Android 代码的产品。他们演示了一个网页可以在用户不知情的情况下越狱手机并修补应用程序以将银行凭证发送给第三方的场景,同时看起来主要是为用户工作。这足以说明市场上至少有 2 种工具可以处理它(就快速 google 收益率而言,Arxan 和 Preemptive)。我对复杂程度感到惊讶,但显然它是一种攻击向量,对于具有高价值和高敏感性的公司来说是值得缓解的……比如银行应用程序。如果他们这样做,我一点也不会感到惊讶。