吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2999|回复: 8
收起左侧

[Android 原创] Unidbg 调用方式对比

  [复制链接]
胡凯莉 发表于 2023-6-24 12:15

Unidbg 调用方式对比

1、 签名调用

// 调用方法 StringObject---unidbg中
StringObject obj = cls.callStaticJniMethodObject(
    emulator,
    "get3desKey(Landroid/content/Context;)Ljava/lang/String;",
    ctxObject
);

2、callFunction 调用

2.1  基于符号的调用

  • vm.addLocalObject(vm.resolveClass("com/yoloho/libcore/util/Crypt"))
    • 实现了把这个类的hash和内容 放入vm中
  • number 类似内存地址
    • int result = number.intValue();  //得到内存地址
    • vm.getObject(result) //得到一个Unidbg中的StringObject  或者其他的Unidbg对象
    • vm.getObject(result).getValue() // 得到一个java中的String对象
Number number = module.callFunction(
    emulator,
    "Java_com_yoloho_libcore_util_Crypt_encrypt_1data",
    vm.getJNIEnv(),
    //vm.addLocalObject(vm.resolveClass("com/yoloho/libcore/util/Crypt").newObject(null)),
    vm.addLocalObject(vm.resolveClass("com/yoloho/libcore/util/Crypt")),
    0,
    vm.addLocalObject(new StringObject(vm, "64e6176e45397c5989504eHjtL0AQ==")),
    85
);
int result = number.intValue();
String v = (String) vm.getObject(result).getValue();
System.out.println(v);

image-20230621143307974

image-20230621143629456

2.2 基于偏移量的调用

  • 直接写偏移量进行调用.
  • 如果是32位的so文件  偏移量要+1
Number number = module.callFunction(
        emulator,
        0x2414,
        vm.getJNIEnv(),
        vm.addLocalObject(vm.resolveClass("com/yoloho/libcore/util/Crypt")),
        0,
        vm.addLocalObject(new StringObject(vm, "64e6176e45397c5...lKpHjtL0AQ==")),
        85
);
int result = number.intValue();
String v = (String) vm.getObject(result).getValue();
System.out.println(v);

3、执行so文件中C函数

 public void call_1() {
        int v7 = 0;

        UnidbgPointer v9 = memory.malloc(100, false).getPointer();
        v9.write("64e6176e45397c5989504e76f98ecf2e63b2679euser/login15131255555A4rE0CKaCsUMlKpHjtL0AQ==".getBytes());

        int v8 = 85;

        UnidbgPointer v11 = memory.malloc(100, false).getPointer();

        module.callFunction(
                emulator,
                0x1DA0,
                v7,
                v9,
                v8,
                v11
        );

        System.out.println(v11.getString(0));
        // byte[] bArr = v11.getByteArray(0,100);
        // Inspector.inspect(bArr,"结果");
    }

免费评分

参与人数 9威望 +1 吾爱币 +27 热心值 +8 收起 理由
junjia215 + 1 + 1 用心讨论,共获提升!
qtfreet00 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
cn211211 + 1 热心回复!
debug_cat + 1 + 1 用心讨论,共获提升!
安道尔的鱼 + 1 + 1 我很赞同!
xlln + 1 + 1 我很赞同!
狄人3 + 1 + 1 谢谢@Thanks!
supercilious + 1 + 1 谢谢@Thanks!
vaycore + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wapython 发表于 2023-6-24 13:33
请问大佬,怎么判断签名啊
spawn_fly 发表于 2023-6-24 15:17
zjunjie616 发表于 2023-6-25 09:37
 楼主| 胡凯莉 发表于 2023-6-25 11:38
wapython 发表于 2023-6-24 13:33
请问大佬,怎么判断签名啊

jadx 下面有个smile代码 看一下就知道了
Daneellee 发表于 2023-6-25 17:41
感谢楼主分享!
wapython 发表于 2023-6-25 19:22
胡凯莉 发表于 2023-6-25 11:38
jadx 下面有个smile代码 看一下就知道了

哦哦,好,我弄弄,谢谢分享
zjh889 发表于 2023-6-26 00:42
不错,谢谢大师分享!
sabirjan2023 发表于 2023-7-7 10:35
libshell-superv.2019.so
libshell-supervbasic.2019.so
有点难度了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 11:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表