如何实现同一个apk程序的“双开”

如何实现同一个apk程序的“双开”,第1张

所谓技术参观,指写给技术玩家观看和互相交流的文章。本文是关于同一个apk程序实现“双开”(实际是伪双开)的一些想法和实现。

一、关于apk程序的双开

今天查邮件看到有人发邮件问我android下的阿里旺旺怎么双开。经过我的中外查证,貌视同个apk程序没有办法运

多个实例,也就是同一个程序不能实现双开;同时同个程序也不能被安装二次,更进一步扼杀了双开的可能。于是那我唯一能想到的是:改apk,让

android系统认不出原版和改版是同一个程序。那么关键在哪里?android又是凭什么说这二个程序是相同的或不同的呢?网上一找无果。不过,以前

捣鼓的时候有注意一个问题,在 /data/data

文件夹下,这个地方会存在安装的程序数据,每个文件夹是这个程序的包名,换句话说,android之所以能区分二个程序是不是相同或不同就是看它们的包名

(PS:包是java中的一个编程概念)。

按照这种思路,要实现同一个apk程序的“双开”,我们可以把原程序的“包”给它改一下。比如,原包是com.z4mod.z4root

是z4root程序的包名,那我们就把它改成 net.z4mod.z4root

这样原版和改版就不在同一个包下了,android就会认为它俩可没关系,是二个程序,这样就能同时安装这二个程序,就能同时运行,就能实现“双开”(这

种当然只能算是伪双开)。

好吧,下面我就用我刚发布的 SD2Flash.apk 来演示这个“双开”功能(至于你想挂多个QQ、旺旺,我表示我不会再去深入研究“双开”的问题,参考我这篇文章或许会有点启发)。先帖个图吧。

有人说了,你这二个SD2Flash名字都不一样,不会是写了二个程序来晃点人吧?这个我表示绝对不是,这个任务名称也可以直接改,不过单改这种名称是实现不了“双开”的。详细修改教程参考下文。

二、修改过程(仅供参考)

这里用我的SD2Flash作为修改源,这个程序比较简单,不过万丈高楼平地起,我这个人又懒,我就在这里只打个地基了,其它程序可能会复杂点,比如包含多个包,那改起来有够麻烦的:

1、用Apktool反编译SD2Flash.apk,假设得到反编译目录 SD2Flash

2、编辑 SD2Flash\AndroidManifest.xml,将:

package="mandarava.android"

改成:

package="mandaravb.android"

这样一改主要是为了让改版程序的包名与原版程序的包名不一致,android系统就会认为是二个程序,这样就可以同时安装原版和改版,实现“双开”。(改的时候注意只稍微改个字母就行了,不要用添加或删除字母的方式,这样特别是针对.so的二进制修改有好处)

3、编辑 SD2Flash\res\values\strings.xml,将:

<string name="app_name">SD2Flash</string>

改成:

<string name="app_name">SD2Flash2</string>

这个是改程序名称。这样一改主要是为了让改版创建的桌面图标不会覆盖原版,因为如果快捷图标的名称相同后装的会覆盖先装的。

4、接下来要将smali中所有包含有“mandarava/android/”的路径全部改成“mandaravb/android/”,这样与前面的改后的包名“mandaravb.android”相对应。这个用查找替换的方式,可以使用apk改之理快速替换。

另外,有些时候源代码文件中还会出现类似 mandarava.android 的包名情况,这些也要注意修改得与 mandaravb.android

一致。不过,SD2Flash 没这么复杂,没有这种情况;还有是有些程序带有.so文件的,如果也出现包关联的话,也要注意修改。

5、最后将 SD2Flash\mandarava 文件夹改名为:mandaravb ,这样与包名“mandaravb.android”也是保持一致。

改完成之后编译签名安装,会在桌面生成SD2Flash、SD2Flash2二个快捷图标,分别运行它们就可以实现伪“双开”。

我用的这个示例apk程序是很简单的,所以改起来没什么麻烦,不过如果其它的程序可能会遇到其它更多情况,比如可能包含.so文件,再比如程序有多个

包名的情况等等,我比较懒,我只抛砖引玉;我也不知道哪位想改阿里旺旺,我不去试了,如果你想改可以参考我这边的方法自己研究一下。不过我表示,这会挺麻

烦,改的时候要细心!

单线程脚本怎么写也不会同时 *** 作两个窗口,改成了多线程,变量i删了,循环改成了do...loop,两个窗口的脚本以子程序的方式调用,可以测试一下

HwndEx = Plugin.Window.Search("魔兽世界")

dim MyArray

MyArray = Split(HwndEx, "|")

Delay 10000'延时时间

Dimenv 窗口二

Call 窗口一_sub

窗口二=BeginThread(窗口二_sub)

Sub 窗口一_sub

    Do

        Call Plugin.Bkgnd.KeyPress(Myarray(0), 70)

        Delay 3500'延时时间

        Call Plugin.Bkgnd.KeyPress(Myarray(0), 70)

        Delay 3250'延时时间

        Call Plugin.Bkgnd.KeyPress(Myarray(0), 49)

        Delay 2310'延时时间

        Call Plugin.Bkgnd.KeyPress(Myarray(0), 52)

        Delay 1280'延时时间

    Loop

End Sub

Sub 窗口二_sub

    Do

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 50)

        Delay 3650'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 70)

        Delay 3120'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 69)

        Delay 3030'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 82)

        Delay 4890'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 32)

        Delay 4100'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 49)

        Delay 3120'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 69)

        Delay 3820'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 81)

        Delay 1830'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 50)

        Delay 3580'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 70)

        Delay 3210'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 69)

        Delay 3150'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 49)

        Delay 2205'

        Call Plugin.Bkgnd.KeyPress(Myarray(1), 69)

        Delay 11000'

    Loop

End Sub

手机上多账号和应用的多开运行

目前,双开助手已经实现了微信、QQ、陌陌、微博、钉钉等应用,以及部落冲突、王者荣耀、王者之战。 、梦幻西游、绝地求生、狂野行动等热门手游双账号支持。现实生活中,每个人或多或少都有多个账号常用的微信加好友软件,网游玩家也是同时开多个账号的,所以多开游戏或者多账号登录现在已经成为主流,可惜手机不是你不能开多个像 PC 一样自由地编程。可以说,所有的应用程序和游戏都不能在手机上同时打开。要登录一个帐户,必须注销另一个帐户。正是因为需要如此繁琐的 *** 作。因此,很多用户或多或少可能会出现忘记密码、无法登录、丢失数据等情况,所以很多人会想知道如何完全避免这些情况,同时实现多开和运行帐户和应用程序?答案其实很简单。只要有“双开助手”的帮助,这一切都不再是问题。双开助手的出现正好解决了用户对手机双 *** 作的需求。它不需要用户的手机具有root权限来支持手机。多开所有常用软件。双开助手在支持多开的同时,还具备更安全的“私密空间”和“安全锁”功能。用户可以使用“私人空间”来保护其应用程序中的数据、密码和其他信息不被任何人访问。窃取常用的微信加好友软件,开启此功能后,已添加到私密空间的应用将不再显示在手机其他界面。用户可以通过密码在私密空间中使用添加的应用程序,真正实现用户个人隐私和信息的全面性


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11835518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存