专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
TodayRss-海外稳定RSS
目录
相关文章推荐
复利大王  ·  侮辱性涨薪 ·  昨天  
今天看啥  ›  专栏  ›  鸿洋

动态篡改 so 函数返回值:一篇带你玩转 Android Hook 技术!

鸿洋  · 公众号  · android  · 2025-08-26 08:35
    

主要观点总结

本文介绍了如何针对第三方SDK中的so文件里的特定函数进行Hook操作,以修改其返回值。通过frida获取目标native函数信息,并使用dl_iterate_phdr获取so模块基址。然后利用ShadowHook对函数地址进行Hook,替换原函数逻辑为始终返回true的fake_ca函数。

关键观点总结

关键观点1: 获取so模块基址

通过遍历所有已加载的动态库,使用dl_iterate_phdr函数,匹配库名后返回其基址。struct dl_phdr_info结构包含模块路径、基地址、Program Header 表等元信息。

关键观点2: 实现函数劫持与返回值替换

通过ShadowHook的shadowhook_hook_func_addr函数对函数地址进行Hook,替换原函数为fake_ca函数,实现篡改原函数逻辑的效果。这个过程在库加载时自动执行,并支持不同架构的地址适配。

关键观点3: 注入自定义Hook库

在java层通过System.loadLibrary加载sohooker动态库,实现篡改目标so函数的返回值。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照