以编程方式克隆android应用程序

时间:2019-01-04 00:28:28

标签: android clone cloneable

有些Android应用程序允许用户克隆手机上的现有应用程序。 例如:http://fixoptimize.com/app-cloner 您能解释这些克隆器如何工作吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

  1. AndroidManifest.xml中更改程序包名称,然后重新签署应用程序。请注意,xml是二进制文件,而不是apk包中的文本。 Android会使用包名称标识不同的应用,并且更改包名称后,某个应用将被视为“新应用”。
  2. 尽管在很多情况下,简单的方法可能行不行(例如,应用程序假定其程序包名称为常数,或检查其签名),但仍应进行各种其他更改,包括更改Java程序包名称,禁用签名检查,更改假定为包含包名称的路径名的字符串文字。所有这些都可能(可能)要求对dex甚至native代码进行反编译和取消重新确定,这不仅是困难的,而且也是非法的。
  3. 现代方式:对应用进行沙盒化。将创建一个沙箱环​​境,在该环境中,“克隆”的应用实际上并未被克隆,并且保持不变。沙箱将拦截克隆的应用程序与系统,用户和其他应用程序之间的所有通信,因此它transparent稳定。应用程序和用户都不会注意到该应用程序已被沙箱化。除非仿真器也被取缔,否则这很可能使法律问题不再存在。 github上有开源沙箱应用程序,您可以检查并复制。

答案 1 :(得分:0)

  1. 平行空间应用程序在自己的应用程序中创建一个沙箱来托管克隆的应用程序。
  2. 例如,Parallel Space 应用程序“Dual Apps”将为我们的 CloneAppChecker 应用程序创建沙箱 /data/user/0/com.dual.space.parallel.app.clone.multiple/virtual/data/user/0/com .example.cloneappchecker/文件
  3. 我们需要在我们的应用程序中检查 Sandbox,以验证应用程序是否有自己的沙箱 (/data/user/0/com.example.cloneappchecker/files) 或由 Parallel Space 应用程序创建。
  4. 因此我们可以限制并行应用程序,原始应用程序将按原样运行。 5.我检查了近 15 到 16 个平行空间应用程序,所有应用程序的行为都相同。
相关问题