【问题标题】:How does SourceDNA track SDKs used by appsSourceDNA 如何跟踪应用程序使用的 SDK
【发布时间】:2015-06-28 20:13:41
【问题描述】:

我刚刚读完媒体对 AFNetworking 的歇斯底里的报道,他们将应用程序暴露给处于中间攻击的人。我很惊讶 sourcedna.com 声称

SourceDNA 分析数千个 iOS 和 Android 应用中的代码。

sourcedna.com 甚至有一个搜索引擎来报告供应商的应用程序是否使用 AFNetworking SDK。

考虑到他们无权访问付费应用,他们如何声称这样做?像 AFNetworking 日志 SDK 这样的 SDK 是否以某种形式使用?如果有,给谁?

【问题讨论】:

    标签: ios sdk reverse-engineering


    【解决方案1】:

    我也很好奇这个。这是我收集的:

    SourceDNA 仅检查库是否链接到应用程序二进制文件。他们不检查应用程序如何或是否实际使用了该库。

    Objective-C 是一种动态语言,并在二进制文件中保存了大量元数据。您可以在任何未加密的二进制文件上轻松运行 class-dumpotool -ov 之类的工具,它会列出所有类的名称和继承,以及每个类中所有方法和实例变量的名称和签名等。

    像 AFNetworking 这样的库有许多独特的类名,它们可以在应用程序的类列表中进行检查。每个版本都会有一些添加或删除的方法和/或实例变量,因此通过检查应用程序中的类转储与每个版本的库中的类声明,他们可以找出使用的库的版本。

    但是,从 App Store 下载的应用程序是加密的; App Store 是 SourceDNA 获得这些应用程序的唯一途径。可以解密/破解加密的应用程序(这就是人们盗版付费应用程序的方式——他们购买、破解它们,然后在盗版网站上发布未加密的二进制文件),但我认为这样做的常用方法包括购买和运行越狱设备上的应用程序。

    我认为 SourceDNA 人员一定以某种方式自动化了这个过程,以便他们可以自动报告数千个应用程序。

    【讨论】:

    • 我已经对我的应用程序和免费应用程序进行了取证。显然,在下载应用程序之前我无法分析它,并且如果不购买付费应用程序就无法下载它。我最担心的是图书馆正在“打电话回家”或使用某种跟踪机制来捕获这些信息。
    • @Dan:嗯,AFNetworking 是开源的,所以你可以自己检查
    • 感谢您的关注和回复。我原来的帖子是由供应商索赔提示的。如果我发现任何新内容,我会更新。
    • 嘿@Dan,你发现了什么吗?
    • @janselrx,抱歉回复迟了。我相信正如我所怀疑的那样,他们只能分析免费应用程序。来自他们的网站:“SourceDNA 分析了数千个 iOS 和 Android 应用程序中的代码。这份报告可让您探索有关前 500 名免费应用程序中的移动 SDK 和工具的最新数据。”
    【解决方案2】:

    正如我对@janselrx 的回复,我相信这是我所怀疑的,他们只能分析免费应用程序。从他们的网站:

    SourceDNA 分析数千个 iOS 和 Android 应用程序中的代码。此报告可让您探索有关排名前 500 名免费应用程序中的移动 SDK 和工具的最新数据。

    【讨论】:

    • 嘿@Dan,在我发表第一条评论后,我联系了 SourceDNA 团队以获取更多信息,他们告诉我,当少数应用程序开始使用库时,库会被他们的分析工具识别,但是同时开发者可以提交手动添加请求,然后被识别。
    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多