检测Android应用程序是否在调试模式下运行

x龙Z

无需重新编译应用程序,用户便可以使用xposed调试/堆转储应用程序,从而使应用程序可调试

是否有任何方法(root用户或非root用户)来检测应用程序当前是否为:

  • 在调试模式下运行

或者

  • 该应用程序在合子中使用可调试标志启动

或者

  • 应用正在堆转储

使用BuildConfig.DEBUGApplicationInfo,并检查flags字段是否FLAG_DEBUGGABLE 不起作用,因为该应用程序是由zygote直接使用调试标志启动的

下面是钩住进程类的代码

    try {
        Method start = Process.class.getMethod(
                "start", String.class, String.class, Integer.TYPE, Integer.TYPE, int[].class,
                Integer.TYPE, Integer.TYPE, Integer.TYPE, String.class, String[].class);
        XposedBridge.log("start hook, appInfo: " + loadPackageParam.appInfo);
        XposedBridge.hookMethod(start, new XC_MethodHook() {
            @Override
            protected void beforeHookedMethod(MethodHookParam methodHookParam) throws Throwable {
                    int id = 5;
                    int flags = (Integer) methodHookParam.args[id];
                    if ((flags & 0x1) == 0) {
                        flags |= 0x1;
                    }
                    methodHookParam.args[id] = flags;
                    }
            }
        });
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }

所有应用程序都是可调试的

罗伯特

在安装了Xposed的设备上,您无法阻止任何事情,也不能依赖您的应用程序在Java / dex代码中处理的任何数据。Xposed可以修改任何内容。

因此,唯一的方法是通过添加本机代码来加强您的应用程序,这些本机代码将阻止在安装了Xposed的设备上执行。好的强化框架也使附加调试器非常困难/几乎不可能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Phonegap:如何检测android应用程序是否在开发模式下运行

来自分类Dev

确定应用程序是否在不使用httpcontext的情况下以调试模式运行。(asp.net)

来自分类Dev

确定程序是否在调试模式下运行

来自分类Dev

如何在iOS中以不同的api在调试模式和发布模式下运行应用程序

来自分类Dev

Nativescript 6 - 检测应用程序是否处于调试或生产模式

来自分类Dev

如何使用Eclipse在调试模式下运行Dropwizard应用程序?

来自分类Dev

在运行时检测应用程序是否处于发布模式

来自分类Dev

在root模式下运行的应用程序是否可以覆盖OS或其他程序的内存部分?

来自分类Dev

我怎么知道我的Android应用程序是在发布还是调试模式下构建的?

来自分类Dev

在调试和发布模式下都允许从Android应用程序进行Api访问

来自分类Dev

调试模式下的 AsyncTaskRunner 退出应用程序?

来自分类Dev

应用程序不会在调试模式下启动

来自分类Dev

如何在 android studio 3.3.1 中以调试模式运行应用程序?

来自分类Dev

检查程序是否在调试模式下运行

来自分类Dev

Android-调试和发布模式的应用程序图标

来自分类Dev

Android 应用程序在未处于调试模式时崩溃

来自分类Dev

如何检测Android应用程序是否正在使用Espresso运行UI测试

来自分类Dev

Android服务来检测其他应用程序是否正在运行

来自分类Dev

检测其他应用程序是否正在运行

来自分类Dev

检测应用程序是否在Microsoft Surface RT上运行?

来自分类Dev

检测其他应用程序是否正在运行

来自分类Dev

iOS应用程序默认在后台模式下运行

来自分类Dev

在超级开发模式下运行GWT应用程序

来自分类Dev

在产品模式下播放应用程序,如何运行

来自分类Dev

iOS应用程序默认在后台模式下运行

来自分类Dev

在引导访问模式下让设备运行多个应用程序

来自分类Dev

在离线模式下运行 Angular6 应用程序

来自分类Dev

是否可以在“桌面模式”下使用Metro应用程序?

来自分类Dev

Android Studio:运行/调试应用程序的发行版本

Related 相关文章

  1. 1

    Phonegap:如何检测android应用程序是否在开发模式下运行

  2. 2

    确定应用程序是否在不使用httpcontext的情况下以调试模式运行。(asp.net)

  3. 3

    确定程序是否在调试模式下运行

  4. 4

    如何在iOS中以不同的api在调试模式和发布模式下运行应用程序

  5. 5

    Nativescript 6 - 检测应用程序是否处于调试或生产模式

  6. 6

    如何使用Eclipse在调试模式下运行Dropwizard应用程序?

  7. 7

    在运行时检测应用程序是否处于发布模式

  8. 8

    在root模式下运行的应用程序是否可以覆盖OS或其他程序的内存部分?

  9. 9

    我怎么知道我的Android应用程序是在发布还是调试模式下构建的?

  10. 10

    在调试和发布模式下都允许从Android应用程序进行Api访问

  11. 11

    调试模式下的 AsyncTaskRunner 退出应用程序?

  12. 12

    应用程序不会在调试模式下启动

  13. 13

    如何在 android studio 3.3.1 中以调试模式运行应用程序?

  14. 14

    检查程序是否在调试模式下运行

  15. 15

    Android-调试和发布模式的应用程序图标

  16. 16

    Android 应用程序在未处于调试模式时崩溃

  17. 17

    如何检测Android应用程序是否正在使用Espresso运行UI测试

  18. 18

    Android服务来检测其他应用程序是否正在运行

  19. 19

    检测其他应用程序是否正在运行

  20. 20

    检测应用程序是否在Microsoft Surface RT上运行?

  21. 21

    检测其他应用程序是否正在运行

  22. 22

    iOS应用程序默认在后台模式下运行

  23. 23

    在超级开发模式下运行GWT应用程序

  24. 24

    在产品模式下播放应用程序,如何运行

  25. 25

    iOS应用程序默认在后台模式下运行

  26. 26

    在引导访问模式下让设备运行多个应用程序

  27. 27

    在离线模式下运行 Angular6 应用程序

  28. 28

    是否可以在“桌面模式”下使用Metro应用程序?

  29. 29

    Android Studio:运行/调试应用程序的发行版本

热门标签

归档