unidbg-server

Overview

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

application.yml 讲解

server:
  # 端口
  port: 9999

application:
  unidbg:
    # 是否启用 dynarmic 引擎
    dynarmic: false
    # 是否打印jni调用细节 vm.setVerbose()
    verbose: false

# 多线程相关
spring:
  task:
    execution:
      pool:
        allow-core-thread-timeout: true
        # 8个核心线程
        core-size: 8
        # 超过多久没用的线程自动释放
        keep-alive: 60s
        # 最多增长到多少线程
        max-size: 8

使用

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 compile -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 compile  -Djib.to.image=your_docker_hub_password/unidbg-boot-server  jib:dockerBuild -Dmaven.test.skip=true --batch-mode -T4

# 方案3 打成docker.tar二进制包
mvn compile  -Djib.to.image=your_docker_hub_password/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_password/unidbg-boot-server 

快速体验

# 体验jar版本
mvn package -T10 -DskipTests
java -jar target\unidbg-boot-server-0.0.1-SNAPSHOT.jar

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

调用

curl  http://127.0.0.1:9999/api/tt-encrypt/encrypt

压测

在我个人开发电脑上,压测结果是每秒4003.10次(QPS 4003.10)

[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上

常见问题

高并发请求

参考 com.anjia.unidbgserver.web.TTEncryptControllercom.anjia.unidbgserver.service.TTEncryptcom.anjia.unidbgserver.service.TTEncryptWorkercom.anjia.unidbgserver.service.TTEncryptTest

主要unidbg模拟逻辑在 com.anjia.unidbgserver.service.TTEncrypt

com.anjia.unidbgserver.web.TTEncryptController 是暴露给外部http调用的

com.anjia.unidbgserver.service.TTEncryptWorker 是用多线程包装了一层

com.anjia.unidbgserver.service.TTEncryptTest 是单元测试

修改日志等级

修改 logback-spring.xml

例如 <logger name="com.github.unidbg" level="WARN"/>,意味着 com.github.unidbg 包 及该包名空间以下的只打印WARNERROR

升级spring boot或者unidbg版本

修改pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- 忽略其他部分 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <!-- spring boot版本号 -->
        <version>2.5.3</version>
        <relativePath/>
    </parent>
    <!-- 忽略其他部分 -->
    <properties>
        <!-- 改成unidbg的版本号 -->
        <unidbg.version>0.9.4</unidbg.version>
        <!-- 忽略其他部分 -->
    </properties>
    <!-- 忽略其他部分 -->
</project>
You might also like...

FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings

Description FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings (working for 1.7 and hig

Dec 22, 2022

FIDO2(WebAuthn) server officially certified by FIDO Alliance and Relying Party examples.

FIDO2(WebAuthn) server officially certified by FIDO Alliance and Relying Party examples.

Overview FIDO (Fast IDentity Online) is an open standard for online authentication. It is designed to solve the password problems stemming from a lot

Jan 5, 2023

Add something to Minecraft LAN Server List

DiscoverMe Make a fortune... in Minecraft Server List! 0 dependencies, Java 8 compatible. Usage Example: DiscoverMe.INSTANCE.addEntry(SimpleChatColor.

Oct 13, 2021

Spring Boot JdbcTemplate example with SQL Server: CRUD Rest API using Spring Data JDBC, Spring Web MVC

Spring Boot JdbcTemplate example with SQL Server: Build CRUD Rest API Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRU

Dec 20, 2022

This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple servers.

OpenSourceSectors 😎 🗒️ This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple s

Dec 28, 2022

Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in.

JoinMessages Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in or leave.

Aug 30, 2022

An evil RMI server that can launch an arbitrary command. May be useful for CVE-2021-44228

evil-rmi-server An evil RMI server that can launch an arbitrary command. May be useful for CVE-2021-44228 in a local privesc scenario Build ./gradlew

Nov 9, 2022

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open tasks. ⭐ ⭐ ⭐ ‼️

Dec 30, 2022

Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

TTS-App Text to Speech Project for Spring Boot Module (etc Resource, Auth Server, Python with Fast API (gTTS)) Python의 gTTS lib를 활용하여 텍스트를 음성으로 변환하는 서

Dec 21, 2021
Comments
  • 你好,logdebug之后如何设置成可在控制台输入?

    你好,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"

    `

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

    opened by NiceNainai 8
  • 关于是否开源基于Jnitrace日志补环境代码说明

    关于是否开源基于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;
        }
    }
    
    
    opened by anjia0532 4
  • post传参过长导致溢出

    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)

    opened by freeloop4032 3
  • Docker 打包时,使用方案一报错

    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

    opened by Dreamcatcher9009 1
Releases(0.9.7)
Owner
AnJia
coding
AnJia
SlimeVR-Server - Server app for SlimeVR ecosystem

SlimeVR Server Server app for SlimeVR ecosystem Server orchestrates communication between multiple sensors and integrations, like SteamVR. Sensors imp

null 362 Dec 31, 2022
CVE-2021-2109 && Weblogic Server RCE via JNDI

Description Vulnerability in the Oracle WebLogic Server product of Oracle Fusion Middleware (component: Console). Supported versions that are affected

Al1ex 29 Nov 21, 2022
jimoos shop server

积墨开源商城 服务端代码 快速开始 快速开始开发文档 https://jimoos-cn.github.io/jimoos-shop-server/#/quick-start/quick-start 业务建模图 数据库导入 执行数据迁移命令行 mvn -Dtest=MigrationDone tes

Jimoos 20 Oct 20, 2022
Tuya 37 Dec 26, 2022
Melnica Server is a custom basic Servlet Container application which depends on Socket Programming.

Melnica Server Melnica Server is a custom basic Servlet Container application which depends on Socket Programming. The Description of Project Melnica

Batuhan Düzgün 18 Jun 26, 2022
Community-Driven Game Server Development solution for Java Developers based on DEEPINTHINK MagOKO Project.

MagOKO Stack Community-Driven Game Server Development solution for Java Developers based on DEEPINTHINK MagOKO Project. License Copyright 2021-present

DeepInThink Community 10 Jun 1, 2021
This Web Application Allows A user to upload a two minutes Video. It uses Server Side Capabilities of Nodejs and Spring Boot .

VideoStreamingApplication Purpose Of This Application These days trend of short videos are on rise youtube recently realsed "Shorts" . So , taking ins

Prateek Kumar 57 Nov 13, 2022
Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

null 6 Dec 6, 2022
☁ Tencent Cloud IM Server SDK in Java | 腾讯云 IM 服务端 SDK Java 版

Tencent Cloud IM Server SDK in Java The Tencent Cloud IM Server SDK for Java enables Java developers to easily work with Tencent Cloud IM. Requirement

Doocs 64 Dec 23, 2022
Spring boot microservice example with Eureka Server + Eureka Client + Spring Cloud API Gateway + OAuth2.0 + Circuit Breaker + Resilience4J + FeignClient + RestTemplate

Spring boot microservice example Spring boot microservice example with Eureka Server + Eureka Client + Spring Cloud API Gateway + OAuth2.0 + Circuit B

Subhash Lamba 47 Dec 29, 2022