unidbg-server

Related tags

unidbg-boot-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)

[[email protected]]# 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>
Issues
  • 关于是否开源基于Jnitrace日志补环境代码说明

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

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

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

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

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

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

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

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

    MT.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 MTService 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 "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 new StringObject(vm, "jobject          : 0x89    { java/lang/Long }");
                //时间: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, "17bcd953904");
                //时间: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,样例:
                    return new StringObject(vm, "");
                case "android/content/pm/PackageInfo->versionName:Ljava/lang/String;":
                    //时间:25833 ms,样例:
                    return new StringObject(vm, "");
                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 super.newObjectV(vm, dvmClass, signature, vaList);
                //时间: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 super.newObjectV(vm, dvmClass, signature, vaList);
                //时间: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},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                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},样例:dvmObject.getObjectType()
                case "0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:20156 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                case "0x15->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:21895 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                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},样例:dvmObject.getObjectType()
                //时间:29813 ms,signature:0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                //时间:38075 ms,signature:0x11->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                case "0x59->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:39018 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                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},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                case "0x31->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:45458 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d744c6f636174696f6e4d616e61676572, string:com/meituan/android/common/locate/api/MtLocationManager},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                //时间:46819 ms,signature:0x59->loadClass(Ljava/lang/String;)Ljava/lang/Class;,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                case "0x41->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:50140 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6c6f636174652f6170692f4d74576966694d616e61676572, string:com/meituan/android/common/locate/api/MtWifiManager},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                case "0x51->loadClass(Ljava/lang/String;)Ljava/lang/Class;":
                    //时间:50181 ms,参数:{jstring=hex:636f6d2f6d65697475616e2f616e64726f69642f636f6d6d6f6e2f6d7467756172642f4e427269646765, string:com/meituan/android/common/mtguard/NBridge},样例:dvmObject.getObjectType()
                    return new StringObject(vm, "dvmObject.getObjectType()");
                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},样例:dvmObject.getObjectType()
                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;
        }
    }
    
    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 0
Owner
AnJia
coding
AnJia
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

LINE 267 Sep 10, 2021
Spring Boot starter module for gRPC framework.

Spring Boot starter module for gRPC framework.

Michael Zhang 1.8k Mar 17, 2021
Spring Boot starter module for gRPC framework.

Spring Boot starter module for gRPC framework.

Michael Zhang 2.1k Sep 11, 2021
A little of Java content every day for a hundred days.

100 Days of Java Table of Contents Day 1 - Generating a random number within a specific range. Day 2 - Formatting a LocalDateTime object. Day 3 - Sche

Helber Belmiro 43 Sep 11, 2021
jimoos shop server

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

Jimoos 14 Sep 6, 2021
Rewrite of the dataconverter system for performance.

DataConverter This mod completely rewrites the dataconverter system for Minecraft. Please note that this fabric mod is not to be used. It is published

null 23 Sep 1, 2021
A springboot-starter that can achieve Intranet penetration. 一款可以实现内网穿透的springboot-starter。

qynat-springboot-starter 基于netty的内网穿透工具在springboot中的整合 protocol协议:protobuf 只需在application.properties中配置少量信息,实现零代码侵入的web项目内网穿透 项目的server端的源码在另一个多模块项目中,

whz11 47 Sep 10, 2021
A springboot-starter that can achieve Intranet penetration. 一款可以实现内网穿透的springboot-starter。

qynat-springboot-starter 基于netty的内网穿透工具在springboot中的整合 protocol协议:protobuf 只需在application.properties中配置少量信息,实现零代码侵入的web项目内网穿透 项目的server端的源码在另一个多模块项目中,

whz11 47 Sep 10, 2021
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 14 Aug 10, 2021
☁ 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 12 Sep 17, 2021
Java - React Camp Homeworks Kodlama.io

Java - React Camp Homeworks | Kodlama.io Discord: CosmicDust#4917 HRMS Project Back - End Source Code & Server (Swagger UI) Front - End Source Code &

Semih Kayan 30 Sep 10, 2021
A simple implementation of the Dubbo protocol.

Codec-dubbo Codec-dubbo is a binary codec framework for dubbo protocol Features Fully compatible with Dubbo protocol Completely rewritten based on Net

ESA Stack 10 Sep 15, 2021
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中

快速开始 先决条件 首先本机先要安装以下环境,建议先学习了解springboot和springcloud基础知识。 git java8 maven 开发环境搭建 linux和mac下可在项目根目录下执行 ./install.sh 快速搭建开发环境。如要了解具体的步骤,请看如下文档。 具体步骤如下:

zhoutaoo 6.7k Sep 12, 2021
一套涵盖大部分核心组件使用的Spring Cloud教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot 2.1.7。22篇文章,篇篇精华,32个Demo,涵盖大部分应用场景。

springcloud-learning 简介 一套涵盖大部分核心组件使用的Spring Cloud教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot 2.1.7。22篇文章,篇篇精华,32个Demo,涵盖

macro 4.1k Sep 15, 2021
:fire: Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding. :rocket:

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.2k Sep 8, 2021
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 20 May 21, 2021
基于 Spring Security OAuth 的统一账号管理平台

基于 Spring Security OAuth 的统一账号管理平台 前后端演示地址: https://tao.flizi.cn 支持密码模式演示 输入账号 123456, 密码: 123456, 以及验证码后点击登录 支持授权登录演示 输入手机号 123456, 密码: 123456, 以及验证码

知一 135 Aug 28, 2021
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 5 Aug 28, 2021
基于 springboot websocket 的群聊实现

基于 springboot websocket 的群聊实现 功能列表 分布式 同一帐号多设备登录 群聊 多设备 简单鉴权 心跳检查 依赖 maven jdk11 redis redis 配置 redis 默认使用 localhost:6379。如果需要修改 host:port,可以修改 applic

yemingfeng 8 Jun 9, 2021