吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 109|回复: 1
收起左侧

[Android 求助] 使用Frida Hook 自己编写的Android Unity程序,抛出异常

[复制链接]
caczxc 发表于 2025-3-9 15:51
本帖最后由 caczxc 于 2025-3-9 15:52 编辑

学习了一下正己大佬的frIDA hook视频,想在真机中hook一下自己编写的手机端的unity程序中libunity.so,但不论是用attach模式或spawn模式都会抛出unexpected crash while trying to allocate memory的异常。

attach

attach

hook大佬的教学app是正常的,将且在app中checkvip返回的值由false(打印)改为true,感觉应该不是手机系统或者指令的问题
normal.jpg
查询网上关于frida unexpected crash while trying to allocate memory的信息,找到禁用 SELinux(输入setenforce 0)和重启手机两种方法,但是都没用。
没有报红色的错误,应该不是hook脚本的问题,脚本仅为获取so的基地址
hook.jpg
手机是红米note11,运行内存是6GB+2GB,安卓版本是12,储存128GB剩下95.2GB。我觉得不应该是手机配置的问题。
请大佬指点哪里可能出了问题,下一步要干什么。
小程序aReadForMyhook.apk安装包在下面链接,-U的进程名是aforhook,小程序打开有三个按钮,分别功能为加载包,加载图片,卸载所有资源(包括图片和包)。

小程序界面

小程序界面

链接: https://pan.baidu.com/s/1vIiGl4dUQ1MwoxhxcyBCRw 提取码: 52pj



spawn

spawn

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

Aircus 发表于 2025-3-16 22:42
1. 权限不足
Frida 需要足够的权限来分配内存和访问目标进程的资源。如果权限不足,可能会导致内存分配失败。确保你的设备已获取 root 权限,或者在非 root 模式下运行时,目标应用允许 Frida 的操作。
2. 内存空间不足
设备的可用物理内存或虚拟地址空间可能不足,导致 Frida 无法成功分配内存。可以尝试以下方法:
清理设备内存:关闭不必要的应用或服务,释放更多内存。
检查目标进程的内存占用:确保目标进程没有占用过多内存,导致系统无法分配足够的内存给 Frida。
3. API 兼容性问题
Frida 在某些平台上可能遇到 API 兼容性问题,尤其是在跨平台或不同版本的系统上。可以尝试以下方法:
更新 Frida 版本:确保你使用的是最新版本的 Frida,以避免已知的兼容性问题。
检查目标设备的系统版本:某些系统版本可能存在已知的兼容性问题,可以参考 Frida 的官方文档或社区讨论。
4. 目标应用的反 Hook 机制
目标应用可能包含反 Hook 机制,检测到 Frida 注入后会触发异常行为。可以通过以下方法绕过:
修改反 Hook 检测逻辑:使用 Frida Hook 修改目标应用的反 Hook 检测代码。
使用 Frida 插件:某些 Frida 插件可以帮助绕过常见的反 Hook 机制。
5. 内存分配策略问题
Frida 在分配内存时可能会根据系统策略选择不同的分配方式(如 brk、sbrk 或 mmap)。如果分配策略与目标系统不兼容,可能会导致崩溃。可以尝试以下方法:
调整 Frida 的内存分配逻辑:通过修改 Frida 的源码或使用自定义的内存分配代码来适配目标系统。
使用大块内存分配:尽量减少小块内存的频繁分配,改为一次性分配大块内存。
6. 调试和分析
如果问题仍然无法解决,可以尝试以下调试方法:
捕获异常信息:在目标应用中设置全局异常捕获器,记录详细的崩溃信息。
分析内存分配失败的原因:使用工具(如 jstat 或内存分析工具)检查内存分配失败的具体原因。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-3-31 00:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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