【问题标题】:Is there a possibility to find out the technology used for creating a mobile application?是否有可能找出用于创建移动应用程序的技术?
【发布时间】:2014-11-30 22:21:05
【问题描述】:

我发现可以通过使用 Wappalyzer、SimilarTech 或 BuiltWith 等服务了解网站是如何构建的(它们检查 HTTP 标头、ping 响应、cookie、cmets 和其他奇特的东西)。现在我想知道:您能找到如何使用类似的技术/服务构建移动应用程序(Android、iOS)吗?我知道代码是编译的,不应该尝试对其进行逆向工程(出于明显的版权原因)......但它可以在不“违反规则”的情况下完成(我的意思是至少发现服务是如何工作的,而不是背后的代码/算法?)

免责声明:这仅出于教育和安全原因。

【问题讨论】:

    标签: android ios security mobile


    【解决方案1】:

    免责声明:正如您提到的,逆向工程通常是 EULA 不允许的,并且在某些国家/地区可能是非法的。在进入该领域之前,请确保您了解适用的规则。

    对于 iOS,您可以使用 iOS Reverse Engineering ToolkitHopper 之类的东西对二进制文件进行逆向工程。这当然不会产生与实际源代码相同级别的代码,但它可以提供一些关于如何制作应用程序的见解。

    如果您有兴趣了解通信的工作原理,可以使用几种方法来监控 iPhone 使用计算机的网络流量。这是使用 RVI 完成的,这有点麻烦。 Apple 上有一个 guide(在页面上搜索 RVI),我发现 this blog 提供了一些详细信息。我只使用过一次,我记得在 Wireshark 中进行设置很痛苦,但没有提供有关如何配置的详细信息,您必须对设置进行一些修改才能使其正确。

    对于 Java,有大量关于逆向工程的资源,而且它通常比编译代码容易得多,但是混淆当然会使它变得更难。 JAD 是比较流行的反编译器之一。

    【讨论】:

      【解决方案2】:

      在 Android 上,您可以使用 http://proguard.sourceforge.net 混淆您的代码

      我会假设 Play 商店中的大多数应用都被混淆了。我不确定IOS。

      您始终可以运行 GNU“字符串”命令从二进制文件中提取纯文本。

      【讨论】:

        【解决方案3】:

        对于安卓:

        • 首先您需要找到 APK 文件。有几十个镜像,可以下载.apk(或.apks)文件。

        • APK 文件是一个存档文件。解压或使用 WinZIP / WinRAR 打开。

        • 查找作为所用语言/IDE 赠品的文件 - 例如。 Kotlin、Xamarin 等

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-26
          • 1970-01-01
          • 2010-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多