-
-
[原创]新手逆向某天气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`.`.
赞赏
赞赏
雪币:
留言: