jhonxina 发表于 2024-8-19 09:25

unidbg可以直接调用java层函数吗

逆向一个apk遇到一个加密方法,jadx没有反编译出来, 即使在jadx 首选项中勾选 显示不一致的代码 打开后可阅读行还是比较差,大概看了下这个加密方法调用了so里的两个方法,frida rpc 可以远程调用,但是需要真机/模拟器环境,所以不考虑,索性想能不能直接用 unidbg 直接调用这个 java方法,搜了一圈没有发现相关的博客文章,各位有什么方法或是博客文章参考一下的吗

alonestree 发表于 2024-8-22 23:57

如果加密方法是写在so里面的,java只是中转去调用,那完全可以使用unidbg直接加载so调用方法,边跑边把环境补好就行

jhonxina 发表于 2024-8-23 14:23

alonestree 发表于 2024-8-22 23:57
如果加密方法是写在so里面的,java只是中转去调用,那完全可以使用unidbg直接加载so调用方法,边跑边把环境 ...

最后分析了一下,是这个java加密方法里面调用了so方法,前面对参数做了部分处理,然后作为参数传入so方法

jhonxina 发表于 2024-8-23 14:27

尝试了一下使用unidbg调用so,根据报错日志一路补环境和调用方法, 最后返回的结果是 非法.....,也就说是说中间可能是某一步的变量不对导致走了另外一个分支导致最后的结果不对(unidbg没有报错),这会还得去so里面看逻辑,最后还是看了so里面的逻辑用 frida hook 了所有这个so里面调用的java方法尝试着调用才对上结果,感叹unidbg也不是一步到位{:1_896:}
页: [1]
查看完整版本: unidbg可以直接调用java层函数吗