Coder Social home page Coder Social logo

unidbg-boot-server's Introduction

基于unidbg0.9.7和spring boot 2.6.3开发的高并发server服务器

重要说明

使用

环境准备

  1. 必须使用Java8(jdk11或其他版本引发的问题,请自行解决)
  2. Maven3.5以上 ,如果电脑没有安装Maven,最简单办法是将下面的 mvn 命令替换成 mvnw(如果是linux/mac一类的,要替换成./mvnw,并且先执行chmod +x ./mvnw) ,会自动下载maven
  3. Idea 2021+
  4. 需要安装Lombok插件
  5. 注意,很多人不会用多线程以及 unidbg 对多线程支持的不好,所以默认禁用多线程,如果需要启用,修改 application.yml 里的 async 为 true

快速体验

git clone https://github.com/anjia0532/unidbg-boot-server.git

# 体验jar版本,打成jar包
mvn package -T10 -DskipTests
# 没有maven就用 mvnw package -T10 -DskipTests (linux等需要用 chmod +x ./mvnw && ./mvnw package -T10 -DskipTests)

java -jar target\unidbg-boot-server-0.0.1-SNAPSHOT.jar

# 体验docker版本
docker run --restart=always -d -p9999:9999 anjia0532/unidbg-boot-server 

调用

启动成功后会打印类似内容

----------------------------------------------------------
	应用: 		unidbg-boot-server 已启动!
	地址: 		http://127.0.0.1:9999/
	演示访问: 	curl http://127.0.0.1:9999/api/tt-encrypt/encrypt (linux)
	演示访问: 	http://127.0.0.1:9999/api/tt-encrypt/encrypt (windows: 浏览器直接打开)
	常见问题: 	https://github.com/anjia0532/unidbg-boot-server/blob/main/QA.md
	配置文件: 	[application, application-dev]
----------------------------------------------------------
# GET 方式访问
curl -XGET  http://127.0.0.1:9999/api/tt-encrypt/encrypt

# POST 方式访问
curl -XPOST  http://127.0.0.1:9999/api/tt-encrypt/encrypt

压测

在我个人开发电脑上(Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 2.60 GHz,32.0 GB (31.9 GB 可用),win 11 64位),压测结果是每秒4003.10次(QPS 4003.10) ,wrk相关教程,可以参考 HTTP压测工具之wrk

[root@wrk]# docker run --rm  williamyeh/wrk -t12 -c400 -d30s http://127.0.0.1:9999/api/tt-encrypt/encrypt
Running 30s test @ http://127.0.0.1:9999/api/tt-encrypt/encrypt
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   105.55ms   68.17ms 982.93ms   94.97%
    Req/Sec   341.43     55.05   460.00     80.70%
  120432 requests in 30.08s, 14.72MB read
  Socket errors: connect 0, read 0, write 81, timeout 0
Requests/sec:   4003.10
Transfer/sec:    501.09KB

瓶颈在cpu上,demo内存基本在400-600M左右,不会随着并发高而暴涨(注意,仅是此demo情况下,具体还是看实际业务复杂度)

使用定制化/快照版unidbg

git clone https://github.com/zhkl0228/unidbg.git
# 自己魔改
cd unidbg
# linux mac windows cmd
mvn clean install -Dgpg.skip=true -Dmaven.javadoc.skip=true -T10
# windows powershell
mvn clean install `-Dgpg.skip=true `-Dmaven.javadoc.skip=true `-T10

以最新快照版 0.9.5-SNAPSHOT 为例,修改 unidbg-boot-server/pom.xml 里的 <unidbg.version>0.9.4</unidbg.version><unidbg.version>0.9.5-SNAPSHOT</unidbg.version>

后续java打包或者docker不变

java 打包

# 打包
mvn package -T10 -DskipTests
# 运行
java -jar target\unidbg-boot-server-0.0.1-SNAPSHOT.jar

docker打包

用docker打包是为了避免个人电脑和生产服务器环境不一致导致的启动失败或者各种问题,保证了开发和生产环境的一致性,以及快速安装等需求

如何安装docker 参考docker官方文档 https://docs.docker.com/engine/install/

注意

  • 如果是windows的powershell, - 需要改成 `- ,建议windows用cmd
  • 将 your_docker_hub_username 换成真实的用户名 ,将 your_docker_hub_password 换成真实的密码
# 方案1 打包并发布到docker hub
mvn clean package -Djib.to.auth.username=your_docker_hub_username  -Djib.to.auth.password=your_docker_hub_password -Djib.to.image=your_docker_hub_username/unidbg-boot-server  jib:build -Dmaven.test.skip=true --batch-mode -T4

# 方案2 直接打到docker 守护进程里
mvn clean package  -Djib.to.image=your_docker_hub_username/unidbg-boot-server  jib:dockerBuild -Dmaven.test.skip=true --batch-mode -T4

# 方案3 打成docker.tar二进制包
mvn clean package  -Djib.to.image=your_docker_hub_username/unidbg-boot-server  jib:buildTar -Dmaven.test.skip=true --batch-mode -T4
docker load --input target/jib-image.tar

# 在装有docker的机器上运行
sudo docker run  -d -p9999:9999 your_docker_hub_username/unidbg-boot-server 

感谢

参见 QA.md

请我喝杯咖啡

如果觉得本项目对你有所帮助,可以请我喝杯咖啡吗?

微  信 支付宝

知识星球

unidbg-boot-server's People

Contributors

anjia0532 avatar ohmcfxg 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  avatar

unidbg-boot-server's Issues

大佬你好,补环境的情况下重写方法只执行一次

@OverRide
public DvmObject callObjectMethodV(BaseVM vm, DvmObject dvmObject, String signature, VaList vaList) {

    switch (signature) {
        case "android/content/Context->getPackageName()Ljava/lang/String;":
            StringObject stringObject = new StringObject(vm, appPkgName);
            return stringObject;

// return new StringObject(vm, vm.getPackageName());
}
return super.callObjectMethodV(vm, dvmObject, signature, vaList);
}

大佬你好 我想通过post传递参数进来执行,启动服务后执行第一次的时候这个重写的方法会执行,后续再传的时候就无效了,请问有什么解决办法吗,感谢

求大佬帮看看报错原因

本地unidbg可以正常运行 ,添加到unidbg-boot-server报错

求大佬帮看看什么原因

2024-06-03 14:17:17.772 WARN 6180 --- [ task-1] com.github.unidbg.AbstractEmulator : emulate RX@0x4022b1f8[libfekit.so]0x22b1f8 exception sp=unidbg@0xbffff700, msg=java.lang.NullPointerException, offset=873ms
lilac open file:/data/user/999
lilac open file:/data/user/128
lilac open file:/data/user/10
lilac open file:/data/user/11
lilac open file:/data/user/12
lilac open file:/data/user/13
lilac open file:/data/user/14
lilac open file:/data/user/15
lilac open file:/data/user/16
lilac open file:/data/user/17
lilac open file:/data/user/18
lilac open file:/data/user/19
lilac open file:/data/user/20
2024-06-03 14:17:17.889 WARN 6180 --- [ task-1] c.g.unidbg.linux.ARM64SyscallHandler : fstatat64 dirfd=-100, pathname=E:/data/user/0/com.tencent.mobileqq/files/.android_lq, statbuf=RW@0x40f7c990, flags=0
lilac open file:/system/lib/libhoudini.so
lilac open file:/system/lib64/libhoudini.so
lilac open file:/sdcard/Android/
2024-06-03 14:17:18.016 WARN 6180 --- [ task-1] c.g.unidbg.linux.ARM64SyscallHandler : handleInterrupt intno=2, NR=113, svcNumber=0x0, PC=RX@0x40bfa86c[libc.so]0x6a86c, LR=RX@0x40bad888[libc.so]0x1d888, syscall=null

java.lang.UnsupportedOperationException: clk_id=3
at com.github.unidbg.linux.ARM64SyscallHandler.clock_gettime(ARM64SyscallHandler.java:1125)
at com.github.unidbg.linux.ARM64SyscallHandler.hook(ARM64SyscallHandler.java:311)
at com.github.unidbg.arm.backend.UnicornBackend$11.hook(UnicornBackend.java:345)
at unicorn.Unicorn$NewHook.onInterrupt(Unicorn.java:128)
at unicorn.Unicorn.emu_start(Native Method)
at com.github.unidbg.arm.backend.UnicornBackend.emu_start(UnicornBackend.java:376)
at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:380)
at com.github.unidbg.thread.BaseTask.continueRun(BaseTask.java:104)
at com.github.unidbg.thread.ThreadTask.dispatch(ThreadTask.java:36)
at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:172)
at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:96)
at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:340)
at com.github.unidbg.arm.AbstractARM64Emulator.eFunc(AbstractARM64Emulator.java:236)
at com.github.unidbg.Module.emulateFunction(Module.java:163)
at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:135)
at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:52)
at com.anjia.unidbgserver.service.MobileQQService.initUin(MobileQQService.java:113)
at com.anjia.unidbgserver.service.MobileQQService.init(MobileQQService.java:93)
at com.anjia.unidbgserver.service.MobileQQService.getXwDebugID(MobileQQService.java:118)
at com.anjia.unidbgserver.service.MobileQQServiceWorker.doWork(MobileQQServiceWorker.java:85)
at com.anjia.unidbgserver.service.MobileQQServiceWorker.getXwDebugID(MobileQQServiceWorker.java:78)
at com.anjia.unidbgserver.service.MobileQQServiceWorker$$FastClassBySpringCGLIB$$2ae6b84c.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$doSubmit$3(AsyncExecutionAspectSupport.java:276)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

想要更新unidbg版本

大佬,想要更新unidbg版本,但是version改成0.9.7-SNAPSHOT,提示找不到,无法解析 com.github.zhkl0228:unidbg-dynarmic:0.9.7-SNAPSHOT

请教各位大佬,JNI调用如何传入String[]的参数

函数如下

public static native String fun_test(String[] strArr);

我的调用如下:

String[] strArr = new String[] {
            "4badf139b1f63572fa4ea36e55d5c324",
            "3eec859d349e429d13bfaf0a07cc89e4"
};
DvmObject<String> array = TTEncryptUtils.callStaticJniMethodObject(emulator, 
"fun_test([Ljava/lang/String;)Ljava/lang/String;", new ArrayObject(strArr));

这里callStaticJniMethodObject不知道改如何传入,谢谢大家,祝给位身体健康,多多发财。请教各位大佬,JNI调用如何传入String[]的参数

你好,logdebug之后如何设置成可在控制台输入?

我发现把logger name="com.github.unidbg" 设置了DEBUG后。在控制台是只读模式。
我想输出bt去获得堆栈,但是无法做到。
我在原来的unidbg可以输入,所以我想咨询你下这个问题该怎么解决。

`2022-11-19 21:44:45.639 DEBUG 12684 --- [ main] c.g.unidbg.linux.android.dvm.DalvikVM : ReleaseStringUTFChars string="0093CB6721DAF15D31CFBC9BBE3A2B79", pointer=RW@0x40172000, lr=RX@0x40000a9b[libwtf.so]0xa9b
2022-11-19 21:44:45.639 DEBUG 12684 --- [ main] com.github.unidbg.spi.AbstractLoader : munmap aligned=0x1000, start=0x40172000, base=0x40172000, size=4096
2022-11-19 21:44:45.643 WARN 12684 --- [ main] c.github.unidbg.arm.AbstractARMEmulator : Read memory failed: address=0x40172000, size=4, value=0x0, PC=RX@0x4003fc90[libc.so]0x18c90, LR=RX@0x40061b17[libc.so]0x3ab17
debugger break at: 0x4003fc90 @ Function32 address=0x40000931, arguments=[unidbg@0xfffe12a0, 1050058429, 503427379, 640294829, 1810273055]

r0=0x40172000 r1=0x40172000 r2=0xffffffff r3=0x0 r4=0x2 r5=0xbfffed18 r6=0xccccccc r7=0x0 r8=0xbffff654 sb=0x0 sl=0x40172000 fp=0xbffff658 ip=0x4009d7d0
SP=0xbfffec10 LR=RX@0x40061b17[libc.so]0x3ab17 PC=RX@0x4003fc90[libc.so]0x18c90 cpsr: N=0, Z=1, C=1, V=0, T=1, mode=0b10000
d0=0x0(0.0) d1=0x0(0.0) d2=0x3937423241334536(4.479439438725677E-33) d3=0x3431323236333632(2.739493383241826E-57) d4=0x2030203020302030(1.2027122125173386E-153) d5=0x2030203020302030(1.2027122125173386E-153) d6=0x2030203020302030(1.2027122125173386E-153) d7=0x2030203020302030(1.2027122125173386E-153)
d8=0x0(0.0) d9=0x0(0.0) d10=0x0(0.0) d11=0x0(0.0) d12=0x0(0.0) d13=0x0(0.0) d14=0x0(0.0) d15=0x0(0.0)
strlen + 0x0
=> *[libc.so 0x18c91][90f800f0]0x4003fc90:"pld [r0]"
[libc.so 0x18c95] [0146 ] 0x4003fc94: "mov r1, r0"
[libc.so 0x18c97] [10f00703] 0x4003fc96: "ands r3, r0, #7"
[libc.so 0x18c9b] [1dd0 ] 0x4003fc9a: "beq #0x4003fcd8"
[libc.so 0x18c9d] [c3f10803] 0x4003fc9c: "rsb.w r3, r3, #8"
[libc.so 0x18ca1] [5feac37c] 0x4003fca0: "lsls.w ip, r3, #0x1f"
[libc.so 0x18ca5] [02d0 ] 0x4003fca4: "beq #0x4003fcac"
[libc.so 0x18ca7] [11f8012b] 0x4003fca6: "ldrb r2, [r1], #1"
[libc.so 0x18cab] [42b3 ] 0x4003fcaa: "cbz r2, #0x4003fcfe"
[libc.so 0x18cad] [08d3 ] 0x4003fcac: "blo #0x4003fcc0"
[libc.so 0x18caf] [13f0020c] 0x4003fcae: "ands ip, r3, #2"
[libc.so 0x18cb3] [05d0 ] 0x4003fcb2: "beq #0x4003fcc0"
[libc.so 0x18cb5] [11f8012b] 0x4003fcb4: "ldrb r2, [r1], #1"
[libc.so 0x18cb9] [0ab3 ] 0x4003fcb8: "cbz r2, #0x4003fcfe"
[libc.so 0x18cbb] [11f8012b] 0x4003fcba: "ldrb r2, [r1], #1"
[libc.so 0x18cbf] [f2b1 ] 0x4003fcbe: "cbz r2, #0x4003fcfe"

`

//后续就无法输入了,显示只读模式。

关于是否开源基于Jnitrace日志补环境代码说明

演示视频放在阿里云云盘里 链接:https://www.aliyundrive.com/s/dCXoj1tRnV5

花了一个周末两天时间,完成了基于Jnitrace日志自动生成unidbg代码的功能(终于实现了大约1月前在群里吹的牛,自动补Unidbg代码)

可以自动生成本项目中的四个文件

  • XXService 业务逻辑代码
  • XXServiceWorker 多线程Worker
  • XXController 对外暴露http接口访问
  • XXTest 单元测试文件

我是用java写的,会跟这个项目集成度更好,如果是个人也想基于这个思路自己写,建议用python,会更好实现些。

难点主要在于 XXService 业务逻辑代码。分别以MT和PDD的两份为例,只展示核心业务逻辑部分

注意我只补过美团,所以相比较来说,美团基本上可用性更高,PDD可能还缺大部分,整体解析逻辑都可以了,补全也问题不大,就是个时间问题了

为了让我的付出有点意义,以及获得大家的认同,所以不打算无偿开源。准备三选一,满足任何一个条件都可。

注意,三选一条件不是绑架,本意是获得大家的认同及传播,同时技术难点几乎没有,原理也说了,就是基于jnitrace的log做的,纯粹是耗费时间而已。如果有大佬一激动手撸一个并无条件开源那更好。也欢迎。

MT.java
package com.anjia.unidbgserver.service;

import com.anjia.unidbgserver.config.UnidbgProperties;
import com.anjia.unidbgserver.utils.TempFileUtils;
import com.github.unidbg.AndroidEmulator;
import com.github.unidbg.Emulator;
import com.github.unidbg.EmulatorBuilder;
import com.github.unidbg.Module;
import com.github.unidbg.arm.backend.DynarmicFactory;
import com.github.unidbg.file.FileResult;
import com.github.unidbg.file.IOResolver;
import com.github.unidbg.linux.android.AndroidEmulatorBuilder;
import com.github.unidbg.linux.android.AndroidResolver;
import com.github.unidbg.linux.android.dvm.*;
import com.github.unidbg.linux.android.dvm.api.ApplicationInfo;
import com.github.unidbg.linux.android.dvm.array.ArrayObject;
import com.github.unidbg.linux.android.dvm.array.ByteArray;
import com.github.unidbg.linux.android.dvm.wrapper.DvmInteger;
import com.github.unidbg.linux.android.dvm.wrapper.DvmLong;
import com.github.unidbg.linux.file.ByteArrayFileIO;
import com.github.unidbg.linux.file.SimpleFileIO;
import static com.anjia.unidbgserver.utils.PrintUtils.*;
import com.github.unidbg.memory.Memory;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.util.*;

@Slf4j
public class MeiTuanService extends AbstractJni implements IOResolver {

    private final AndroidEmulator emulator;
    private final VM vm;
    private final Module module;

    private final static String BASE_MEITUAN_PATH = "data/apks/meituan";
    private final static String MEITUAN_APK_PATH = BASE_MEITUAN_PATH + "/meituan.apk";

    private final UnidbgProperties unidbgProperties;

    // private final static String LIBTT_ENCRYPT_LIB_PATH = "data/apks/so/libttEncrypt.so";

    @SneakyThrows MeiTuanService(UnidbgProperties unidbgProperties) {
        this.unidbgProperties = unidbgProperties;
        // 创建模拟器实例,要模拟32位或者64位,在这里区分
        EmulatorBuilder<AndroidEmulator> builder = AndroidEmulatorBuilder.for32Bit().setProcessName("com.xxxxx");
        // 动态引擎
        if (unidbgProperties.isDynarmic()) {
            builder.addBackendFactory(new DynarmicFactory(true));
        }
        emulator = builder.build();
        // 模拟器的内存操作接口
        final Memory memory = emulator.getMemory();
        // 设置系统类库解析
        memory.setLibraryResolver(new AndroidResolver(23));

        // 创建Android虚拟机
        // vm = emulator.createDalvikVM(); // 只创建vm,用来读so,不加载apk
        vm = emulator.createDalvikVM(TempFileUtils.getTempFile(MEITUAN_APK_PATH));
        // 设置是否打印Jni调用细节
        vm.setVerbose(unidbgProperties.isVerbose());
        vm.setJni(this);
        emulator.getSyscallHandler().addIOResolver(this);
        // 加载libttEncrypt.so到unicorn虚拟内存,加载成功以后会默认调用init_array等函数,这是直接读so文件
        // DalvikModule dm = vm.loadLibrary(TempFileUtils.getTempFile(LIBTT_ENCRYPT_LIB_PATH), false);
        // 这是搜索加载apk里的模块名,比如 libguard.so 那么模块名一般是guard
        DalvikModule dm = vm.loadLibrary("模块名", false);
        // 手动执行JNI_OnLoad函数
        dm.callJNI_OnLoad(emulator);
        // 加载好的libttEncrypt.so对应为一个模块
        module = dm.getModule();

        dm.callJNI_OnLoad(emulator);

        // TTEncryptUtils = vm.resolveClass("com/bytedance/frameworks/core/encrypt/TTEncryptUtils");
    }

    /**
     * unidbg 模拟调用
     *
     * @param param 入参
     * @return 结果
     */
    public Object doWork(Object param) {
        return null;
    }


    @Override public DvmObject<?> callStaticObjectMethodV(BaseVM vm, DvmClass dvmClass, String signature, VaList vaList) {
        printArgs(vm,"callStaticObjectMethodV", signature, vaList);
        switch (signature) {

            case "android/os/SystemProperties->get(Ljava/lang/String;)Ljava/lang/String;": 
                //时间:31595 ms,参数:{jstring=hex:726f2e6275696c642e6964, string:ro.build.id},样例:GenericRequest
                return new StringObject(vm, "GenericRequest");
            //时间:33124 ms,signature:android/os/SystemProperties->get(Ljava/lang/String;)Ljava/lang/String;,参数:{jstring=hex:706572736973742e7379732e7573622e636f6e666967, string:persist.sys.usb.config},样例:adb
            //时间:34114 ms,signature:android/os/SystemProperties->get(Ljava/lang/String;)Ljava/lang/String;,参数:{jstring=hex:7379732e7573622e636f6e666967, string:sys.usb.config},样例:adb
            //时间:35052 ms,signature:android/os/SystemProperties->get(Ljava/lang/String;)Ljava/lang/String;,参数:{jstring=hex:7379732e7573622e7374617465, string:sys.usb.state},样例:adb

            case "com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;": 
                //时间:6242 ms,参数:{},样例:jobject          : 0x19
                return new StringObject(vm, "jobject          : 0x19");
            //时间:13872 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x25
            //时间:16987 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x19
            //时间:18955 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x11
            //时间:20948 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x15
            //时间:27523 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x19
            //时间:28997 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x11
            //时间:36537 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x11
            //时间:37502 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x59
            //时间:39271 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x29
            //时间:43497 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x31
            //时间:44908 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x59
            //时间:48264 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x41
            //时间:48313 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:61200 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x15    { java/io/File }
            //时间:69707 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:69830 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:69915 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:69962 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:70000 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70046 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:
            //时间:70095 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:70145 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70194 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70347 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70386 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70431 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:
            //时间:70468 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70512 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:
            //时间:70550 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55
            //时间:70594 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:70642 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:
            //时间:70781 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x51
            //时间:71877 ms,signature:com/meituan/android/common/mtguard/NBridge->getClassLoader()Ljava/lang/ClassLoader;,参数:{},样例:jobject          : 0x55

            case "java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;": 
                //时间:9722 ms,参数:{jint=1, jobjectArray=0x0},样例:com.sankuai.meituan
                return new StringObject(vm, "com.sankuai.meituan");
            //时间:18395 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=4, jobjectArray=0x0},样例:ms_com.sankuai.meituan
            //时间:20344 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=5, jobjectArray=0x0},样例:ppd_com.sankuai.meituan.xbt
            //时间:22080 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=2, jobjectArray=0x0},样例:
            //时间:28530 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=6, jobjectArray=0x0},样例:5.2.10
            //时间:29961 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=3, jobjectArray=0x0},样例:jobject          : 0x0    { de/robv/android/xposed/XposedBridge }
            //时间:38354 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=3, jobjectArray=0x0},样例:
            //时间:39312 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=8, jobjectArray=0x0},样例:
            //时间:47169 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=40, jobjectArray=0x0},样例:
            //时间:50520 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=8, jobjectArray=0x0},样例:
            //时间:90586 ms,signature:java/lang/Class->main2(I[Ljava/lang/Object;)Ljava/lang/Object;,参数:{jint=32, jobjectArray=0x0},样例:

            case "java/lang/Long->valueOf(J)Ljava/lang/Long;": 
                //时间:41495 ms,参数:{jlong=1631241713924},样例:jobject          : 0x89    { java/lang/Long }
                return DvmLong.valueOf(vm, vaList.getLongArg(0));
            //时间:59660 ms,signature:java/lang/Long->valueOf(J)Ljava/lang/Long;,参数:{jlong=1631241725638},样例:jobject          : 0x85    { java/lang/Long }

            case "java/lang/String->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;": 
                //时间:43624 ms,参数:{jstring=hex:25313178, string:%11x, jobjectArray=0x99},样例:17bcd953904
                return new StringObject(vm, String.format(vaList.getObjectArg(0).getValue().toString(), vaList.getIntArg(1)));
            //时间:87572 ms,signature:java/lang/String->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;,参数:{jstring=hex:25313178, string:%11x, jobjectArray=0x95},样例:17bcd9566c6

            case "java/lang/System->getProperty(Ljava/lang/String;)Ljava/lang/String;": 
                //时间:15105 ms,参数:{jstring=hex:687474702e70726f7879486f7374, string:http.proxyHost},样例:jobject          : 0x0    { de/robv/android/xposed/XposedBridge }
                return new StringObject(vm, "jobject          : 0x0    { de/robv/android/xposed/XposedBridge }");
            //时间:16512 ms,signature:java/lang/System->getProperty(Ljava/lang/String;)Ljava/lang/String;,参数:{jstring=hex:68747470732e70726f7879486f7374, string:https.proxyHost},样例:jobject          : 0x0    { de/robv/android/xposed/XposedBridge }

            case "java/util/UUID->randomUUID()Ljava/util/UUID;": 
                //时间:40169 ms,参数:{},样例:jobject          : 0x61
                return vm.resolveClass("java/util/UUID").newObject(UUID.randomUUID());
            //时间:51574 ms,signature:java/util/UUID->randomUUID()Ljava/util/UUID;,参数:{},样例:jobject          : 0x69

            default:
                return super.callStaticObjectMethod(vm, dvmClass, signature, vaList);
        }
    }
    @Override public long callStaticLongMethodV(BaseVM vm, DvmClass dvmClass, String signature, VaList vaList) {
        printArgs(vm,"callStaticLongMethodV", signature, vaList);
        switch (signature) {

            case "java/lang/System->currentTimeMillis()J": 
                //时间:41080 ms,参数:{},样例:1631241713924
                return System.currentTimeMillis();
            //时间:53598 ms,signature:java/lang/System->currentTimeMillis()J,参数:{},样例:1631241725638

            default:
                return super.callStaticLongMethodV(vm, dvmClass, signature, vaList);
        }
    }
    @Override public int getIntField(BaseVM vm, DvmObject<?> dvmObject, String signature) {
        switch (signature) {

            case "android/content/pm/PackageInfo->versionCode:I": 
                //时间:27256 ms,样例:1100130207
                return 1100130207;

            default:
                return super.getIntField(vm, dvmObject, signature);
        }
    }
    @Override public DvmObject<?> getStaticObjectField(BaseVM vm, DvmClass dvmClass, String signature) {
        switch (signature) {

            case "android/os/Build$VERSION->RELEASE:Ljava/lang/String;": 
                //时间:35693 ms,样例:9
                return new StringObject(vm, "9");

            case "android/os/Build->BRAND:Ljava/lang/String;": 
                //时间:30368 ms,样例:xiaomi
                return new StringObject(vm, "xiaomi");

            case "android/os/Build->HARDWARE:Ljava/lang/String;": 
                //时间:31937 ms,样例:mt6765
                return new StringObject(vm, "mt6765");

            case "android/os/Build->MODEL:Ljava/lang/String;": 
                //时间:32233 ms,样例:Redmi 6A
                return new StringObject(vm, "Redmi 6A");

            case "android/os/Build->TAGS:Ljava/lang/String;": 
                //时间:35393 ms,样例:release-keys
                return new StringObject(vm, "release-keys");

            case "android/os/Build->TYPE:Ljava/lang/String;": 
                //时间:30675 ms,样例:user
                return new StringObject(vm, "user");

            default:
                return super.getStaticObjectField(vm, dvmClass, signature);
        }
    }
    @Override public DvmObject<?> getObjectField(BaseVM vm, DvmObject<?> dvmObject, String signature) {
        switch (signature) {

            case "android/content/pm/ApplicationInfo->sourceDir:Ljava/lang/String;": 
                //时间:24182 ms,样例:/data/app/com.sankuai.meituan-1POrADLXYch5YRE6dgT4FQ==/base.apk
                return new StringObject(vm, "/data/app/com.sankuai.meituan-1POrADLXYch5YRE6dgT4FQ==/base.apk");

            case "android/content/pm/PackageInfo->versionName:Ljava/lang/String;": 
                //时间:25833 ms,样例:DecodeJob
                return new StringObject(vm, "DecodeJob");

            default:
                return super.getObjectField(vm, dvmObject, signature);
        }
    }
    @Override public boolean callBooleanMethodV(BaseVM vm, DvmObject<?> dvmObject, String signature, VaList vaList) {
        printArgs(vm,"callBooleanMethodV", signature, vaList);
        switch (signature) {

            case "0x35->canRead()Z": 
                //时间:11308 ms,参数:{},样例:false
                return false;

            case "java/lang/Object->canRead()Z": 
                //时间:69207 ms,参数:{},样例:false
                return false;

            default:
                return super.callBooleanMethodV(vm, dvmObject, signature, vaList);
        }
    }
    @Override public DvmObject<?> newObjectV(BaseVM vm, DvmClass dvmClass, String signature, VaList vaList) {
        printArgs(vm,"newObjectV", signature, vaList);
        switch (signature) {

            case "java/lang/String-><init>([BLjava/lang/String;)V": 
                //时间:8810 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x39},样例:jobject          : 0x51
                return super.newObjectV(vm, dvmClass, signature, vaList);

            case "java/io/File-><init>(Ljava/lang/String;)V": 
                //时间:10812 ms,参数:{jstring=0x25},样例:jobject          : 0x35
                return dvmClass.newObject(vaList.getObjectArg(0).getValue().toString());
            //时间:13051 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:64652e726f62762e616e64726f69642e78706f7365642e58706f736564427269646765, string:de.robv.android.xposed.XposedBridge, jbyteArray=0x21},样例:jobject          : 0x41
            //时间:14823 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:687474702e70726f7879486f7374, string:http.proxyHost, jbyteArray=0x31},样例:jobject          : 0x59
            //时间:16114 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:68747470732e70726f7879486f7374, string:https.proxyHost, jbyteArray=0x35},样例:jobject          : 0x55
            //时间:17671 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x39},样例:jobject          : 0x51
            //时间:19695 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x35},样例:jobject          : 0x59
            //时间:21435 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x31},样例:jobject          : 0x55
            //时间:23727 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2e73616e6b7561692e6d65697475616e, string:com.sankuai.meituan, jbyteArray=0x61},样例:jobject          : 0x89
            //时间:27991 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x35},样例:jobject          : 0x51
            //时间:29435 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x31},样例:jobject          : 0x59
            //时间:31292 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:726f2e6275696c642e6964, string:ro.build.id, jbyteArray=0x35},样例:jobject          : 0x55
            //时间:32828 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:706572736973742e7379732e7573622e636f6e666967, string:persist.sys.usb.config, jbyteArray=0x39},样例:jobject          : 0x51
            //时间:33801 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:7379732e7573622e636f6e666967, string:sys.usb.config, jbyteArray=0x35},样例:jobject          : 0x59
            //时间:34745 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:7379732e7573622e7374617465, string:sys.usb.state, jbyteArray=0x31},样例:jobject          : 0x55

            case "java/lang/Integer-><init>(I)V": 
                //时间:36110 ms,参数:{jint=0},样例:jobject          : 0x29
                return DvmInteger.valueOf(vm, vaList.getIntArg(0));
            //时间:37401 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x39},样例:jobject          : 0x51
            //时间:38322 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x95
            //时间:40201 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d7454656c6570686f6e794d616e61676572, string:com/meituan/android/common/locate/api/MtTelephonyManager, jbyteArray=0x49},样例:jobject          : 0x69
            //时间:41840 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:6d74675f6775617264, string:mtg_guard, jbyteArray=0x71},样例:jobject          : 0x99

            case "java/lang/Class-><init>(Landroid/content/Context;Ljava/lang/String;)V": 
                //时间:42265 ms,参数:{jstring=0x99, jobject=0x15    { java/lang/Object }},样例:jobject          : 0x85
                return super.newObjectV(vm, dvmClass, signature, vaList);
            //时间:43044 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:25313178, string:%11x, jbyteArray=0xb9},样例:jobject          : 0xd1
            //时间:44600 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d744c6f636174696f6e4d616e61676572, string:com/meituan/android/common/locate/api/MtLocationManager, jbyteArray=0x51},样例:jobject          : 0x79
            //时间:46001 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x95
            //时间:46612 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:6d74675f6775617264, string:mtg_guard, jbyteArray=0x81},样例:jobject          : 0xa9
            //时间:47030 ms,signature:java/lang/Class-><init>(Landroid/content/Context;Ljava/lang/String;)V,参数:{jstring=0xa9, jobject=0x21    { java/lang/Object }},样例:jobject          : 0x95
            //时间:49353 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x79},样例:jobject          : 0x91
            //时间:49393 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d74576966694d616e61676572, string:com/meituan/android/common/locate/api/MtWifiManager, jbyteArray=0x69},样例:jobject          : 0x89

            case "0x51-><init>([BLjava/lang/String;)V": 
                //时间:51357 ms,参数:{jstring=0xa1, jbyteArray=0x91},样例:jobject          : 0xb9
                return super.newObjectV(vm, dvmClass, signature, vaList);
            //时间:51778 ms,signature:java/lang/Class-><init>(Landroid/content/Context;Ljava/lang/String;)V,参数:{jstring=0xb9, jobject=0x35    { java/lang/Object }},样例:jobject          : 0xa5
            //时间:64420 ms,signature:java/io/File-><init>(Ljava/lang/String;)V,参数:{jstring=0x25},样例:jobject          : 0x35    { java/lang/Object }

            case "0x25-><init>([BLjava/lang/String;)V": 
                //时间:74721 ms,参数:{jstring=0x45, jbyteArray=0x35},样例:jobject          : 0x59    { java/lang/Object }
                return super.newObjectV(vm, dvmClass, signature, vaList);
            //时间:79694 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:25313178, string:%11x, jbyteArray=0xb5},样例:jobject          : 0xd9
            //时间:82023 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:82806 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x91
            //时间:82962 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:83054 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83214 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x91
            //时间:83280 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:83343 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83392 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83562 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x95
            //时间:83615 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83667 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:83726 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83788 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:83839 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x95
            //时间:83887 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:83936 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x79},样例:jobject          : 0x91
            //时间:84063 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x75},样例:jobject          : 0x99
            //时间:84323 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x71},样例:jobject          : 0x99
            //时间:85012 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge, jbyteArray=0x79},样例:jobject          : 0x99
            //时间:90542 ms,signature:java/lang/String-><init>([BLjava/lang/String;)V,参数:{jstring=hex:6a6176612e696f2e746d70646972, string:java.io.tmpdir, jbyteArray=0x39},样例:jobject          : 0x59    { java/lang/Object }

            default:
                return super.newObjectV(vm, dvmClass, signature, vaList);
        }
    }
    @Override public DvmObject<?> callObjectMethodV(BaseVM vm, DvmObject<?> dvmObject, String signature, VaList vaList) {
        printArgs(vm,"callObjectMethodV", signature, vaList);
        switch (signature) {

            case "0x19->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:9345 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x31    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x31    { java/lang/Class }");

            case "0x25->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:13957 ms,参数:{jstring=hex:64652e726f62762e616e64726f69642e78706f7365642e58706f736564427269646765, string:de.robv.android.xposed.XposedBridge},样例:jobject          : 0x0    { de/robv/android/xposed/XposedBridge }
                return new StringObject(vm, "jobject          : 0x0    { de/robv/android/xposed/XposedBridge }");
            //时间:18206 ms,signature:0x19->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x31    { java/lang/Class }

            case "0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:20156 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x39    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x39    { java/lang/Class }");

            case "0x15->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:21895 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x35    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x35    { java/lang/Class }");

            case "java/lang/Object->getPackageManager()Landroid/content/pm/PackageManager;": 
                //时间:22952 ms,参数:{},样例:jobject          : 0x59
                return new StringObject(vm, "jobject          : 0x59");

            case "0x59->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;": 
                //时间:23953 ms,参数:{jstring=hex:636f6d2e73616e6b7561692e6d65697475616e, string:com.sankuai.meituan, jint=0},样例:jobject          : 0x71    { android/content/pm/ApplicationInfo }
                return new StringObject(vm, "jobject          : 0x71    { android/content/pm/ApplicationInfo }");
            //时间:25058 ms,signature:java/lang/Object->getPackageManager()Landroid/content/pm/PackageManager;,参数:{},样例:jobject          : 0x49

            case "0x49->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;": 
                //时间:25447 ms,参数:{jstring=, jint=0},样例:jobject          : 0x51    { android/content/pm/PackageInfo }
                return new StringObject(vm, "jobject          : 0x51    { android/content/pm/PackageInfo }");
            //时间:26521 ms,signature:java/lang/Object->getPackageManager()Landroid/content/pm/PackageManager;,参数:{},样例:jobject          : 0x45

            case "0x45->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;": 
                //时间:26888 ms,参数:{jstring=, jint=0},样例:jobject          : 0x55    { android/content/pm/PackageInfo }
                return new StringObject(vm, "jobject          : 0x55    { android/content/pm/PackageInfo }");
            //时间:28378 ms,signature:0x19->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x39    { java/lang/Class }
            //时间:29813 ms,signature:0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x35    { java/lang/Class }
            //时间:38075 ms,signature:0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x31    { java/lang/Class }

            case "0x59->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:39018 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x79    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x79    { java/lang/Class }");

            case "0x61->toString()Ljava/lang/String;": 
                //时间:40519 ms,参数:{},样例:jobject          : 0x79
                return new StringObject(vm, "jobject          : 0x79");

            case "0x29->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:40834 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d7454656c6570686f6e794d616e61676572, string:com/meituan/android/common/locate/api/MtTelephonyManager},样例:jobject          : 0x41    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x41    { java/lang/Class }");

            case "0x31->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:45458 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d744c6f636174696f6e4d616e61676572, string:com/meituan/android/common/locate/api/MtLocationManager},样例:jobject          : 0x55    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x55    { java/lang/Class }");
            //时间:46819 ms,signature:0x59->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x75    { java/lang/Class }

            case "0x41->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:50140 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d74576966694d616e61676572, string:com/meituan/android/common/locate/api/MtWifiManager},样例:jobject          : 0x61    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x61    { java/lang/Class }");

            case "0x51->loadClass(Ljava/lang/String;)Ljava/lang/Class;": 
                //时间:50181 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:jobject          : 0x71    { java/lang/Class }
                return new StringObject(vm, "jobject          : 0x71    { java/lang/Class }");

            case "0x69->toString()Ljava/lang/String;": 
                //时间:52003 ms,参数:{},样例:jobject          : 0x71
                return new StringObject(vm, "jobject          : 0x71");
            //时间:85743 ms,signature:0x15->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=0x45},样例:jobject          : 0x39    { java/lang/Class }

            default:
                return super.callObjectMethodV(vm, dvmObject, signature, vaList);
        }
    }

    @SneakyThrows @Override
    public FileResult resolve(Emulator emulator, String pathname, int oflags) {
        switch (pathname) {
            default:
                printFileResolve(pathname);
                return null;
        }
    }


    public void destroy() throws IOException {
        emulator.close();
    }
}
PDD.java
import com.github.unidbg.AndroidEmulator;
import com.github.unidbg.Emulator;
import com.github.unidbg.Module;
import com.github.unidbg.file.FileResult;
import com.github.unidbg.file.IOResolver;
import com.github.unidbg.linux.android.dvm.*;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.util.UUID;

import static com.anjia.unidbgserver.utils.PrintUtils.printArgs;
import static com.anjia.unidbgserver.utils.PrintUtils.printFileResolve;

/**
 * @author AnJia
 * @since 2021-07-26 17:42
 */
@Slf4j
public class PDD extends AbstractJni implements IOResolver {

    private AndroidEmulator emulator;
    private VM vm;
    private Module module;
    
    @Override public DvmObject<?> callStaticObjectMethodV(BaseVM vm, DvmClass dvmClass, String signature, VaList vaList) {
        printArgs(vm, "callStaticObjectMethodV", signature, vaList);
        switch (signature) {

            case "java/lang/String->randomUUID()Ljava/util/UUID;":
                //时间:4634 ms,参数:{},样例:jobject          : 0x19
                return new StringObject(vm, "jobject          : 0x19");
            //时间:4850 ms,signature:java/lang/String->randomUUID()Ljava/util/UUID;,参数:{},样例:jobject          : 0x11

            case "java/net/NetworkInterface->getNetworkInterfaces()Ljava/util/Enumeration;":
                //时间:33381 ms,参数:{},样例:jobject          : 0x95
                return new StringObject(vm, "jobject          : 0x95");

            case "java/util/UUID->randomUUID()Ljava/util/UUID;":
                //时间:4816 ms,参数:{},样例:jobject          : 0x11
                return vm.resolveClass("java/util/UUID").newObject(UUID.randomUUID());
            default:
                return super.callStaticObjectMethod(vm, dvmClass, signature, vaList);
        }
    }

    @Override public int getIntField(BaseVM vm, DvmObject<?> dvmObject, String signature) {
        switch (signature) {
            case "java/util/Enumeration->densityDpi:I":
                //时间:30565 ms,样例:440
                return 440;
            case "java/util/Enumeration->widthPixels:I":
                //时间:31271 ms,样例:1080
                return 1080;
            case "java/util/Enumeration->heightPixels:I":
                //时间:31966 ms,样例:2160
                return 2160;
            default:
                return super.getIntField(vm, dvmObject, signature);
        }
    }

    @Override public DvmObject<?> getStaticObjectField(BaseVM vm, DvmClass dvmClass, String signature) {
        switch (signature) {
            case "android/content/Context->TELEPHONY_SERVICE:Ljava/lang/String;":
                //时间:2968 ms,样例:
                return new StringObject(vm, "");
            //时间:14668 ms,signature:android/content/Context->TELEPHONY_SERVICE:Ljava/lang/String;,样例:
            case "android/content/Context->WINDOW_SERVICE:Ljava/lang/String;":
                //时间:26781 ms,样例:
                return new StringObject(vm, "");
            case "android/content/Intent->ACTION_BATTERY_CHANGED:Ljava/lang/String;":
                //时间:86293 ms,样例:
                return new StringObject(vm, "");
            case "android/os/Build->SERIAL:Ljava/lang/String;":
                //时间:1518 ms,样例:unknown
                return new StringObject(vm, "unknown");
            //时间:84198 ms,signature:android/os/Build->SERIAL:Ljava/lang/String;,样例:
            case "android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;":
                //时间:9624 ms,样例:
                return new StringObject(vm, "");
            //时间:9730 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:15560 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:21954 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:24841 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:26800 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:28112 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:30801 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:31999 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:34759 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:36016 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:38406 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:39271 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:42172 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:44843 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:58291 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:58340 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:58831 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:59335 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:63406 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:64093 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:82737 ms,signature:android/provider/Settings$Secure->ANDROID_ID:Ljava/lang/String;,样例:
            case "java/lang/String->ANDROID_ID:Ljava/lang/String;":
                //时间:1719 ms,样例:
                return new StringObject(vm, "");
            //时间:1904 ms,signature:java/lang/String->ANDROID_ID:Ljava/lang/String;,样例:
            //时间:1937 ms,signature:java/lang/String->ANDROID_ID:Ljava/lang/String;,样例:
            case "java/util/UUID->MANUFACTURER:Ljava/lang/String;":
                //时间:4534 ms,样例:
                return new StringObject(vm, "");
            default:
                return super.getStaticObjectField(vm, dvmClass, signature);
        }
    }

    @Override public DvmObject<?> getObjectField(BaseVM vm, DvmObject<?> dvmObject, String signature) {
        switch (signature) {
            case "0x55->signatures:[Landroid/content/pm/Signature;":
                //时间:6903 ms,样例:
                return new StringObject(vm, "");
            case "android/content/pm/PackageInfo->signatures:[Landroid/content/pm/Signature;":
                //时间:15792 ms,样例:
                return new StringObject(vm, "");
            default:
                return super.getObjectField(vm, dvmObject, signature);
        }
    }

    @Override public DvmObject<?> callObjectMethodV(BaseVM vm, DvmObject<?> dvmObject, String signature, VaList vaList) {
        printArgs(vm, "callObjectMethodV", signature, vaList);
        switch (signature) {
            case "java/lang/String->getBytes()[B":
                //时间:3558 ms,参数:{},样例:jobject          : 0x35
                return new StringObject(vm, "jobject          : 0x35");
            //时间:3738 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:3771 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            case "0x39->getBytes()[B":
                //时间:5355 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            case "0x19->toString()Ljava/lang/String;":
                //时间:5463 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            case "0x11->toString()Ljava/lang/String;":
                //时间:5660 ms,参数:{},样例:jobject          : 0x25
                return new StringObject(vm, "jobject          : 0x25");
            //时间:5696 ms,signature:0x11->toString()Ljava/lang/String;,参数:{},样例:jobject          : 0x29
            case "0x29->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;":
                //时间:6356 ms,参数:{jstring=},样例:4678d22159bc4d1ca230957d0778e442
                return new StringObject(vm, "4678d22159bc4d1ca230957d0778e442");
            case "0x25->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;":
                //时间:6539 ms,参数:{jstring=},样例:487ec5ab1ca7475dac8a90726e606783
                return new StringObject(vm, "487ec5ab1ca7475dac8a90726e606783");
            //时间:6577 ms,signature:0x29->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;,参数:{jstring=},样例:aa86eb8b22e64e7ba711fc46aa883e05
            case "0xb9b52d74->getBytes()[B":
                //时间:8283 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            case "0xaaefad74->getBytes()[B":
                //时间:8508 ms,参数:{},样例:jobject          : 0x25
                return new StringObject(vm, "jobject          : 0x25");
            case "0xa9b3ad74->getBytes()[B":
                //时间:8580 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            case "0x49->getBytes()[B":
                //时间:11291 ms,参数:{},样例:jobject          : 0x39
                return new StringObject(vm, "jobject          : 0x39");
            //时间:11422 ms,signature:0x49->getBytes()[B,参数:{},样例:jobject          : 0x39    { android/app/ActivityThread }
            case "0xaaefa484->getBytes()[B":
                //时间:13094 ms,参数:{},样例:jobject          : 0x21
                return new StringObject(vm, "jobject          : 0x21");
            case "0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;":
                //时间:13231 ms,参数:{jobject=0x29    { objec }},样例:
                return new StringObject(vm, "");
            case "0xa9b3a484->getBytes()[B":
                //时间:13248 ms,参数:{},样例:jobject          : 0x29    { objec }
                return new StringObject(vm, "jobject          : 0x29    { objec }");
            //时间:14585 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:15710 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:16940 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getImei(I)Ljava/lang/String;":
                //时间:17400 ms,参数:{jint=0},样例:
                return new StringObject(vm, "");
            //时间:17893 ms,signature:0x15->getImei(I)Ljava/lang/String;,参数:{jint=1},样例:
            //时间:18094 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getMeid(I)Ljava/lang/String;":
                //时间:18421 ms,参数:{jint=0},样例:
                return new StringObject(vm, "");
            //时间:18937 ms,signature:0x15->getMeid(I)Ljava/lang/String;,参数:{jint=1},样例:
            //时间:19252 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getDeviceId(I)Ljava/lang/String;":
                //时间:19501 ms,参数:{jint=0},样例:
                return new StringObject(vm, "");
            //时间:20018 ms,signature:0x15->getDeviceId(I)Ljava/lang/String;,参数:{jint=1},样例:
            //时间:20392 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getDeviceId()Ljava/lang/String;":
                //时间:20599 ms,参数:{},样例:
                return new StringObject(vm, "");
            case "0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;":
                //时间:20667 ms,参数:{jobject=0x45    { objec }},样例:
                return new StringObject(vm, "");
            //时间:21068 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { android/content/SharedPreferences }},样例:
            //时间:21486 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getSubscriberId(I)Ljava/lang/String;":
                //时间:22748 ms,参数:{jint=0},样例:
                return new StringObject(vm, "");
            //时间:22898 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0xbc5c9448->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;":
                //时间:23031 ms,参数:{jobject=0x49    { objec }},样例:
                return new StringObject(vm, "");
            //时间:23446 ms,signature:0x15->getSubscriberId(I)Ljava/lang/String;,参数:{jint=1},样例:
            case "0x41->getBytes()[B":
                //时间:23600 ms,参数:{},样例:jobject          : 0x39
                return new StringObject(vm, "jobject          : 0x39");
            //时间:23635 ms,signature:0xbc5c9448->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "java/lang/String->getSimSerialNumber()Ljava/lang/String;":
                //时间:24100 ms,参数:{},样例:
                return new StringObject(vm, "");
            //时间:24527 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0x15->getSimSerialNumber(I)Ljava/lang/String;":
                //时间:24858 ms,参数:{jint=0},样例:
                return new StringObject(vm, "");
            //时间:25224 ms,signature:0xa9b3ad74->getBytes()[B,参数:{},样例:jobject          : 0x25
            case "android/provider/Settings$Secure->getSimSerialNumber(I)Ljava/lang/String;":
                //时间:25571 ms,参数:{jint=1},样例:
                return new StringObject(vm, "");
            //时间:25903 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x45    { android/content/Context }},样例:
            //时间:26249 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:26730 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:26847 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35
            //时间:28185 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:29031 ms,signature:0xaaefad74->getBytes()[B,参数:{},样例:jobject          : 0x21
            //时间:29066 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x39
            //时间:29559 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x49    { java/lang/String }},样例:
            //时间:30513 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:30751 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:30821 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:31340 ms,signature:0xa9b3a484->getBytes()[B,参数:{},样例:jobject          : 0x25
            //时间:32955 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:32989 ms,signature:0xb9b52d74->getBytes()[B,参数:{},样例:jobject          : 0x25
            //时间:33096 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35
            //时间:33447 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x41    { objec }},样例:
            //时间:34380 ms,signature:0xbc5c9548->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:34501 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x39
            //时间:35299 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:35404 ms,signature:0xaaefa484->getBytes()[B,参数:{},样例:jobject          : 0x21    { objec }
            case "java/lang/Object->getName()Ljava/lang/String;":
                //时间:36054 ms,参数:{},样例:jobject          : 0xa5
                return new StringObject(vm, "jobject          : 0xa5");
            case "0xab95ad74->getBytes()[B":
                //时间:36722 ms,参数:{},样例:jobject          : 0x21
                return new StringObject(vm, "jobject          : 0x21");
            case "0xbc5c9508->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;":
                //时间:36849 ms,参数:{jobject=0x45    { java/lang/String }},样例:
                return new StringObject(vm, "");
            //时间:37260 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:37746 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:37840 ms,signature:0xbc5c9508->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:37893 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa1
            //时间:38440 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35
            case "0xb9b52484->getBytes()[B":
                //时间:39463 ms,参数:{},样例:jobject          : 0x25
                return new StringObject(vm, "jobject          : 0x25");
            //时间:39551 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa9
            //时间:39928 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:40660 ms,signature:0xa9b3ad74->getBytes()[B,参数:{},样例:jobject          : 0x21
            //时间:40723 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35    { android/content/ContentResolver }
            //时间:41120 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa5
            //时间:41488 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31    { java/util/Map }
            //时间:42054 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:42736 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa1
            case "0xab95a484->getBytes()[B":
                //时间:42771 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            //时间:43556 ms,signature:0xaaefad74->getBytes()[B,参数:{},样例:jobject          : 0x29
            //时间:44063 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:44231 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:44250 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa9
            //时间:45430 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa5
            //时间:45626 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:45820 ms,signature:0xa9b3a484->getBytes()[B,参数:{},样例:jobject          : 0x29    { objec }
            //时间:46580 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:46664 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa1
            //时间:47154 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:47671 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0xa9
            //时间:47856 ms,signature:0xaaefa484->getBytes()[B,参数:{},样例:jobject          : 0x29
            //时间:48319 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "java/lang/Object->getHardwareAddress()[B":
                //时间:48335 ms,参数:{},样例:jobject          : 0xa5
                return new StringObject(vm, "jobject          : 0xa5");
            //时间:49087 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:49155 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:49806 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            //时间:49872 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:50488 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:50726 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:51650 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:52819 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:53642 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            //时间:55161 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:55470 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:57227 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:57328 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:57531 ms,signature:0xbc5c9508->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x45    { objec }},样例:
            //时间:58046 ms,signature:0xbc5c9508->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:58490 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            //时间:59051 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:59945 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:60230 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35
            //时间:60313 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:
            //时间:60810 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x39
            //时间:60843 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:61266 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x35
            //时间:61365 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            case "0xad768d74->getBytes()[B":
                //时间:62045 ms,参数:{},样例:
                return new StringObject(vm, "");
            case "0xbab7cd74->getBytes()[B":
                //时间:62061 ms,参数:{},样例:
                return new StringObject(vm, "");
            case "0xb992fd74->getBytes()[B":
                //时间:62555 ms,参数:{},样例:jobject          : 0x29
                return new StringObject(vm, "jobject          : 0x29");
            //时间:62571 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            //时间:62709 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            case "0xbd782d74->getBytes()[B":
                //时间:62882 ms,参数:{},样例:jobject          : 0x25
                return new StringObject(vm, "jobject          : 0x25");
            //时间:63991 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:64179 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:66121 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:66363 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31    { java/util/Map }
            //时间:67019 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x29    { objec }},样例:
            //时间:67371 ms,signature:java/lang/String->getBytes()[B,参数:{},样例:jobject          : 0x31
            //时间:68646 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            case "0xb992f484->getBytes()[B":
                //时间:69775 ms,参数:{},样例:jobject          : 0x21
                return new StringObject(vm, "jobject          : 0x21");
            //时间:70254 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x25    { objec }},样例:
            case "0xbd782484->getBytes()[B":
                //时间:70651 ms,参数:{},样例:jobject          : 0x21
                return new StringObject(vm, "jobject          : 0x21");
            //时间:71140 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:72047 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:72406 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:73368 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:73620 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            //时间:74722 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:74773 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:75737 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:76173 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:76901 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x81
            //时间:77438 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:78065 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x89
            //时间:78788 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:79255 ms,signature:java/lang/Object->getName()Ljava/lang/String;,参数:{},样例:jobject          : 0x85
            //时间:80099 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:81468 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:82884 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:84243 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            case "0xa5->trim()Ljava/lang/String;":
                //时间:85095 ms,参数:{},样例:jobject          : 0x81
                return new StringObject(vm, "jobject          : 0x81");
            //时间:85341 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:86750 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            //时间:87965 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            case "android/content/Intent->getExtras()Landroid/os/Bundle;":
                //时间:88014 ms,参数:{},样例:jobject          : 0x115
                return new StringObject(vm, "jobject          : 0x115");
            case "0x115->keySet()Ljava/util/Set;":
                //时间:88617 ms,参数:{},样例:jobject          : 0x109
                return new StringObject(vm, "jobject          : 0x109");
            //时间:89165 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            case "0x109->toArray()[Ljava/lang/Object;":
                //时间:89388 ms,参数:{},样例:jobject          : 0x121
                return new StringObject(vm, "jobject          : 0x121");
            //时间:90495 ms,signature:0xbb772bfc->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x21    { objec }},样例:
            case "0x115->get(Ljava/lang/String;)Ljava/lang/Object;":
                //时间:90790 ms,参数:{jstring=},样例:jobject          : 0x139    { java/lang/Object }
                return new StringObject(vm, "jobject          : 0x139    { java/lang/Object }");
            //时间:90846 ms,signature:0xbc5c9508->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;,参数:{jobject=0x45    { java/lang/String }},样例:
            default:
                return super.callObjectMethodV(vm, dvmObject, signature, vaList);
        }
    }

    public void destroy() throws IOException {
        emulator.close();
    }

    @SneakyThrows @Override
    public FileResult resolve(Emulator emulator, String pathname, int oflags) {
        printFileResolve(pathname);
        return null;
    }
}

post传参过长导致溢出

传参较短时正常返回,过长报错,服务器返回500,如何调整/不限制传参长度?

报错如下:
java.lang.IllegalStateException: buffer overflow
at com.github.unidbg.pointer.UnidbgPointer.getString(UnidbgPointer.java:333)
at com.github.unidbg.pointer.UnidbgPointer.getString(UnidbgPointer.java:308)
at com.github.unidbg.linux.android.dvm.DalvikVM64$184.handle(DalvikVM64.java:2844)
at com.github.unidbg.linux.ARM64SyscallHandler.hook(ARM64SyscallHandler.java:118)
at com.github.unidbg.arm.backend.InterruptHookNotifier.notifyCallSVC(InterruptHookNotifier.java:14)
at com.github.unidbg.arm.backend.dynarmic.DynarmicBackend64.callSVC(DynarmicBackend64.java:32)
at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Native Method)
at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Dynarmic.java:78)
at com.github.unidbg.arm.backend.DynarmicBackend.emu_start(DynarmicBackend.java:82)
at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:386)
at com.github.unidbg.thread.Function64.run(Function64.java:39)
at com.github.unidbg.thread.MainTask.dispatch(MainTask.java:19)
at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:172)
at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:96)
at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:346)
at com.github.unidbg.arm.AbstractARM64Emulator.eFunc(AbstractARM64Emulator.java:231)
at com.github.unidbg.Module.emulateFunction(Module.java:166)
at com.github.unidbg.linux.LinuxModule.callFunction(LinuxModule.java:258)
at com.anjia.unidbgserver.service.TTEncryptService.ttEncrypt(TTEncryptService.java:91)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker.doWork(TTEncryptServiceWorker.java:83)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker.ttEncrypt(TTEncryptServiceWorker.java:70)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker$$FastClassBySpringCGLIB$$10284533.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$doSubmit$3(AsyncExecutionAspectSupport.java:276)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

2022-08-07 00:47:30.245 WARN 3684 --- [ task-7] com.github.unidbg.AbstractEmulator : emulate RX@0x4002ef0c[libdetection.so]0x2ef0c exception sp=unidbg@0xbffff640, msg=buffer overflow, offset=94ms
2022-08-07 00:47:30.253 ERROR 3684 --- [nio-9999-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.util.concurrent.ExecutionException: java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
at com.anjia.unidbgserver.service.TTEncryptService.ttEncrypt(TTEncryptService.java:92)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker.doWork(TTEncryptServiceWorker.java:83)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker.ttEncrypt(TTEncryptServiceWorker.java:70)
at com.anjia.unidbgserver.service.TTEncryptServiceWorker$$FastClassBySpringCGLIB$$10284533.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$doSubmit$3(AsyncExecutionAspectSupport.java:276)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

怎样忽略请求url的大小写

小白不太懂,请问怎样修改代码可以忽略请求url的大小写

请求地址:/api/encrypt/getSign

使用时改成全小写就不行了

Docker 打包时,使用方案一报错

方案1 打包并发布到docker hub

mvn clean package -Djib.to.auth.username=your_docker_hub_username -Djib.to.auth.password=your_docker_hub_password -Djib.to.image=your_docker_hub_username/unidbg-boot-server jib:build -Dmaven.test.skip=true --batch-mode -T4

报错如下:
[ERROR] /root/Desktop/unidbg-boot-server/src/main/java/com/anjia/unidbgserver/service/TTEncryptService.java:[34,19] reference to Module is ambiguous
both class com.github.unidbg.Module in com.github.unidbg and class java.lang.Module in java.lang match
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.885 s (Wall Clock)
[INFO] Finished at: 2022-06-24T16:02:59+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project unidbg-boot-server: Compilation failure
[ERROR] /root/Desktop/unidbg-boot-server/src/main/java/com/anjia/unidbgserver/service/TTEncryptService.java:[34,19] reference to Module is ambiguous
[ERROR] both class com.github.unidbg.Module in com.github.unidbg and class java.lang.Module in java.lang match
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

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.