【问题标题】:modify an apk without decompile it修改一个apk而不反编译它
【发布时间】:2014-04-01 14:57:55
【问题描述】:

我知道这是一个奇怪的问题,但我有这种情况:

我直接从一个站点提供一个 apk,这个 apk 里面有一个 WebView,它将打开一个网站的“安全”部分。

我想追踪下载它的人,然后打开它的人,所以我想到了这个:

我用这种方式(或类似方式)编写的 URL 编译 apk:

www.myserver.com/secretplace/landing.php?token=##########

然后,就在用户下载它之前,我使用动态创建的令牌更改那些 ########## 字符并存储在数据库中,当用户打开 apk 时,我可以检查令牌并识别出那是在特定时刻下载 apk 的用户。我想更改它,就像我在记事本中加载 apk 并手动更改它一样...

我真的明白这很奇怪,但是……你认为它会起作用吗?

是否有人对如何为打开它的人跟踪下载 apk 的用户有其他想法?

问题是:有可能在不反编译的情况下修改 apk 吗?有问题吗?有一些限制吗?例如,“是的,您可以修改它,但您必须使用相同数量的字符”,这是可以接受的。

注意事项: 必须下载 apk 并且用户必须使用 APK 才能访问该站点。

【问题讨论】:

  • 还有;您可以检查您的流量来自哪里以及来自哪个操作系统(和 IP 地址)。尝试找到一个很好的预构建统计插件,它将提供这种类型的功能......
  • 好吧...因为我必须这样做...出于某些对这个问题并不重要的原因。 ip有点弱作为解决方案,如果用户从wifi转到3g,ip会改变,另外,如果他今天下载apk,但明天打开它,无法知道他是一样的......
  • 您仍然可以拥有一个会员系统,在该系统中,用户可以通过服务器端的用户数据库登录到网站的“秘密”部分。这样你就知道是谁了。
  • 我们不是在谈论“用户如何访问该站点”,这是已经计划好的(对此感到抱歉,但我无法更改)。我的问题是另一个。
  • 据我了解,您想跟踪用户是否正确?那么你的问题得到了充分的回答......解决这个问题的最好和最简单的方法是创建某种用户帐户的服务器端管理,这样当他们登录时你可以将android设备(APK)与帐户相关联名字。因此,您将知道他们何时下载它以及他们在什么设备上下载它(需要会员才能下载)。

标签: php android download tracking


【解决方案1】:

是的,你的问题很奇怪。无论如何,你可以做到这一点(部分)。 apk 是一个压缩文件夹,您可以打开它。但更多部分代码被编译。但你的资产不是。因此,您可以更改一些资产文件并从您的应用程序中读取它。这里没有安全,但如果你愿意,你可以使用一些登录系统(此外,无论如何在 apk 中使用哈希将失败,因为你可以将 apk 复制到另一台设备)。

还有其他方法。您可以即时编译您的 apk。使用您的网络服务来更改您想要的代码。阅读:http://developer.android.com/tools/building/building-cmdline.html

好吧,我真的建议您尝试使用带有 OAuth 之类的令牌的登录系统(但这是与您同在的)。

【讨论】:

  • 听起来很完美。即时构建是另一种方式。但是如果同时发出许多请求,则需要很长时间。所以你知道是否没有强制数据被序列化或其他东西。顺便说一句,稍后我会尝试:p
  • 是的,但您也可以让服务器在夜间生成一些白天的构建。只是一个想法。但我认为您喜欢更改资产,也可以。
  • 好吧,apk 副本也可以很好,因为我可以跟踪那个特定的 apk...
猜你喜欢
  • 2012-09-04
  • 2017-12-05
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
  • 2012-08-28
  • 2015-07-28
  • 1970-01-01
  • 2015-10-26
相关资源
最近更新 更多