首页
社区
课程
招聘
[原创]新手逆向某天气app及unidbg实现
发表于: 2025-4-5 16:12 1952

[原创]新手逆向某天气app及unidbg实现

2025-4-5 16:12
1952

【声明】

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

【分析sign参数】

1.抓包如图
图片描述

2.jdax
图片描述
图片描述
图片描述

3.使用hook_RegisterNatives.js导出所有native方法找到encodeParams是哪个库实现的
图片描述

4.实现unidbg脚本
根据函数签名:(Ljava/lang/String;)Ljava/lang/String;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public Moji() {
        emulator = AndroidEmulatorBuilder.for32Bit().setProcessName(pkgName).build();
        Memory memory = emulator.getMemory();
        memory.setLibraryResolver(new AndroidResolver(23));
        vm = emulator.createDalvikVM(new File(apkPath));
        vm.setJni(this);
        vm.setVerbose(true);
        DalvikModule dm = vm.loadLibrary("encrypt", true);
        module = dm.getModule();
        dm.callJNI_OnLoad(emulator);
    }
 
public void call_sign() {
        List<Object> list = new ArrayList<>(10);
        list.add(vm.getJNIEnv());
        list.add(0);
        list.add(vm.addLocalObject(new StringObject(vm, "1");
        Number ret = module.callFunction(emulator, 0x6fb1, list.toArray());
        System.out.println(vm.getObject(ret.intValue()).getValue().toString());
    }

实现成功
图片描述

感谢大佬!
【ref】:f3aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2B7K9h3q4F1M7$3S2#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0R3%4j5h3k6V1j5K6q4U0k6e0b7^5x3l9`.`.


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回