标签: xposed

Crashlytics 崩溃报告提到 XposedBridge

我昨天发布了一个 Android 应用程序的更新,今天我在 Crashlytics 中看到了一些崩溃日志:

   Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.MyWebViewActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
          at android.app.ActivityThread.-wrap12(ActivityThread.java)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
          at android.os.Handler.dispatchMessage(Handler.java:102)
          at android.os.Looper.loop(Looper.java:154)
          at android.app.ActivityThread.main(ActivityThread.java:6119)
          at java.lang.reflect.Method.invoke(Method.java)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
          at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)

   Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
          at com.example.myapp.MyWebViewActivity.onCreate(MyWebViewActivity.java:77)
          at android.app.Activity.performCreate(Activity.java:6679)
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
          at android.app.ActivityThread.-wrap12(ActivityThread.java)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
          at android.os.Handler.dispatchMessage(Handler.java:102)
          at …
Run Code Online (Sandbox Code Playgroud)

android android-intent oncreate crashlytics xposed

8
推荐指数
1
解决办法
1517
查看次数

以编程方式启用/禁用沉浸式模式

我想让我的Android应用程序全屏,但只在某个屏幕上显示android导航栏(我的设置屏幕).我知道将导航栏永久隐藏在屏幕上是危险的,但我想知道这是否可行.我已经研究过使用我的设备并使用Xposed框架.

有没有办法以编程方式禁用导航栏,或"粘滞模式",并在以后重新启用?

编辑:我看过Android沉浸式模式,但似乎用户触摸边缘时导航栏仍会显示.我想删除导航栏的任何提示,直到它们进入我的设置屏幕.

java android xposed

7
推荐指数
1
解决办法
5999
查看次数

Snapchat如何检测XPosed框架?

我尝试在我新植入的Xposed智能手机上安装Snapchat.但是,当Snapchat检测到Xposed Framework时,登录是不可能的.我"理解"这种限制的原因,尽管我认为它有点太多,因为我没有使用Xposed for Snapchat.

但我的问题是:他们如何检测框架?

android snapchat xposed-framework xposed

7
推荐指数
1
解决办法
3342
查看次数

Android (root) - 强制相机图像

我想知道是否有任何应用程序/(Xposed)模块可以强制相机看到图像。

基本上,我想要一台扫描仪来扫描自制的条码,而不是需要两部手机;一个用于生成和显示条形码,另一个用于从特定应用程序扫描它。

任何会在应用程序中显示扫描仪图像的东西都可以。

camera android root barcode-scanner xposed

5
推荐指数
0
解决办法
446
查看次数

我的 Android 应用程序如何扫描自己的内存映射以查找已知的坏关键字,例如“Xposed”或“Frida”?

我正在工作的一个应用程序最近进行了笔测试。报告中提到的风险之一是它没有适当的 Hook 检测。我已经实现了 RootBeer 库,但这很容易避免。

测试人员为 Android 应用程序创建了一个 Frida 脚本,用于在运行时修改根检测逻辑。该脚本连接到 System.exit 方法以返回 false 而不是 true。这阻止了应用程序在检测到设备已被 root 后退出。

渗透测试人员建议我们实施尽可能多的不同检查以阻止逆向工程师。

其中一项检查是让 Android 应用程序扫描位于以下位置的自己的内存映射文件

/proc/<pid>/maps
Run Code Online (Sandbox Code Playgroud)

在哪里

<pid>
Run Code Online (Sandbox Code Playgroud)

是应用程序的进程 ID (PID)。

我检查了 Android 文档,只能找到有关处理内存的信息,但找不到有关扫描内存的信息。例如。https://developer.android.com/topic/performance/memory

我看到您可以“获取设备当前内存状态的 MemoryInfo 对象”。但这仅显示系统上的可用内存。

有没有人有解决这个问题的方法?

memory android detection xposed frida

5
推荐指数
1
解决办法
724
查看次数

如何通过在android中挂钩来获取Context

背景是:

  1. 我正在使用xposed框架来挂钩第三方应用程序.
  2. 当我挂钩方法XXX时,xposed给了我"ClassNotFound"错误.我检查并发现方法XXX在dex文件中,并在运行时由DexClassLoader加载.
  3. 要挂钩方法XXX,我需要更改xposed中的默认ClassLoader DexClassLoader.要获取DexClassLoader实例,我需要第三方应用程序的Context实例.
  4. 这里有一个问题:如何获取上下文实例?

我搜索了stackoverflow,发现有人说你可以在Activity或Receiver中挂钩方法来检索它们的上下文.但我检查了Activity.class,发现没有返回Context类型值的方法,只有一个方法有Context类型参数,onCreateView(String name, Context context, AttributeSet attrs).

有没有办法获得上下文?

hook android android-context xposed

3
推荐指数
1
解决办法
6159
查看次数

Xposed Not Loading我的模块,ClassNotFoundException

我正在开发一个Xposed模块,如FatMinMin的的扩展minminHide模块也似乎是一个很好的锻炼开发以及:)问题是,在引导过程中,当我检查xposed日志我得到的下面:

5-04 17:06:44.305 I/Xposed  (581): Loading modules from /data/app/xposed.sudocode.com.sudohide-1/base.apk
05-04 17:06:44.325 I/Xposed  (581):   Loading class xposed.sudocode.com.sudohide.XposedMain
05-04 17:06:44.326 E/Xposed  (581): java.lang.ClassNotFoundException: Didn't find class "xposed.sudocode.com.sudohide.XposedMain" on path: DexPathList[[zip file "/data/app/xposed.sudocode.com.sudohide-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
05-04 17:06:44.326 E/Xposed  (581):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-04 17:06:44.326 E/Xposed  (581):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-04 17:06:44.326 E/Xposed  (581):     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
05-04 17:06:44.326 E/Xposed  (581):     at de.robv.android.xposed.XposedBridge.loadModule(XposedBridge.java:497)
05-04 17:06:44.326 E/Xposed  (581):     at de.robv.android.xposed.XposedBridge.loadModules(XposedBridge.java:457)
05-04 17:06:44.326 E/Xposed  (581):     at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:122)
05-04 17:06:44.326 E/Xposed  (581):     Suppressed: java.lang.ClassNotFoundException: Didn't find class "xposed.sudocode.com.sudohide.XposedMain" on …
Run Code Online (Sandbox Code Playgroud)

java android xposed-framework xposed

1
推荐指数
1
解决办法
3924
查看次数

Xposed Framework如何在Android中挂钩方法

我正在通过Android中的Xposed框架.特别是阅读博客 - http://d3adend.org/blog/?p=589了解潜在的对策,并对这些问题提出了几个问题.

因此,当我们使用Xposed挂钩方法时,框架将该方法设置为本机并执行它想要挂钩的代码.那么如何在stacktrace原始方法中调用它?

com.example.hookdetection.DoStuff->getSecret    //This one
de.robv.android.xposed.XposedBridge->invokeOriginalMethodNative
de.robv.android.xposed.XposedBridge->handleHookedMethod
com.example.hookdetection.DoStuff->getSecret    //This one again
com.example.hookdetection.MainActivity->onCreate
android.app.Activity->performCreate
android.app.Instrumentation->callActivityOnCreate
android.app.ActivityThread->performLaunchActivity
android.app.ActivityThread->handleLaunchActivity
android.app.ActivityThread->access$800
android.app.ActivityThread$H->handleMessage
android.os.Handler->dispatchMessage
android.os.Looper->loop
android.app.ActivityThread->main
java.lang.reflect.Method->invokeNative
java.lang.reflect.Method->invoke
com.android.internal.os.ZygoteInit$MethodAndArgsCaller->run
com.android.internal.os.ZygoteInit->main
de.robv.android.xposed.XposedBridge->main
dalvik.system.NativeStart->main
Run Code Online (Sandbox Code Playgroud)

另外为什么它会在stacktrace中出现两次.我想了解它们的执行顺序.

实际的方法是否运行?由于钩子方法代码执行,因此理想情况下不会执行原始方法代码.那么我们怎样才能在相同的方法中添加一个stracktrace检测机制,知道它将被替换.

security android rooted-device cydia-substrate xposed

1
推荐指数
1
解决办法
3527
查看次数

java Xpose中的findAndHookMethod代码是错误的。帮助!!(无此类方法错误)

挂钩目标:ButtonClickCount(int a)

如果下面的代码

public int ButtonClickCount()
{
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

使用下面的挂钩代码成功。

    findAndHookMethod(
            "com.study.MainActivity",
            lpparam.classLoader,
            "ButtonClickCount",

            new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    super.beforeHookedMethod(param);
                    XposedBridge.log("before");
                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    XposedBridge.log("after");
                    param.setResult(10000);
                }
            }

    );
}
Run Code Online (Sandbox Code Playgroud)

但是,如果 ButtonClickCount 方法接收参数值,则会引发 NoSuchMethodError。

public int ButtonClickCount(int a)
{
    return a++;
}
Run Code Online (Sandbox Code Playgroud)

这是 findAndHookMethod 中的错误,我不知道要在代码中添加什么。

java xposed

0
推荐指数
1
解决办法
1231
查看次数