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



有一些Android应用程序允许用户克隆手机上已有的应用程序。例如:http://fixoptimize.com/app-cloner你能解释一下这些克隆器是如何工作的吗?非常感谢。

  1. 更改AndroidManifest.xml中的包名称并重新对应用程序进行签名。请注意,xml是二进制的,而不是apk包中的文本。安卓识别不同的应用程序的包名,包名更改后,应用程序将被视为"新应用程序">
  2. 虽然简单的方法可能起作用,也可能不起作用(例如,应用程序假定其包名为常量,或检查其签名),但在许多情况下,应应用各种其他更改,包括更改java包名、禁用签名检查、更改字符串文字,这些文字是假定的包含包名的路径名。所有这些都(可能)需要对dex甚至native代码进行反编译和反汇编,这不仅很难,而且也是非法的
  3. 现代方式:对应用程序进行沙盒处理。将创建一个沙盒环境,在该环境中,被"克隆"的应用程序实际上不会被克隆,并且保持不变。沙箱将拦截克隆的应用程序与系统、用户和其他应用程序之间的所有通信,因此它是transparent且稳定的。应用程序和用户都不会注意到该应用程序被沙盒化了。除非模拟器也被禁止,否则这很可能会让法律问题远离。github上有一些开源的沙盒应用程序,你可以检查并复制
  1. 并行空间应用程序在自己的应用程序中创建一个沙箱来托管克隆的应用程序
  2. 例如Parallel Space应用程序";双应用程序";将为我们的CloneAppChecker应用程序创建沙盒,格式为/data/user/0/com.dual.space.paralle.app.clone.multiple/virtual/data/user0/com.example.CloneAppChecker/files
  3. 我们需要检查应用程序中的沙盒,以验证应用程序是否有自己的沙盒(/data/user/0.com/example.cloneappchecker/files)或由Parallel Space应用程序创建
  4. 因此,我们可以限制并行应用程序,原始应用程序将按原样运行。5.我检查了大约15到16个平行空间应用程序,所有应用程序的行为都是一样的

相关内容

最新更新