码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Native 内存&warp



    Native 启动-动态/静态&libc &linker
    https://www.cnblogs.com/ilocker/p/4645308.html
    https://www.cnblogs.com/ilocker/p/4645308.html


    修改LD_PRELOAD hook java native 库函数
    https://blog.csdn.net/m0_57036414/article/details/126811772


    Native malloc_debug &wrap
    https://developer.android.google.cn/ndk/guides/wrap-script
    https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md


    malloc_debug 使用
    https://www.cnblogs.com/zzcperf/articles/11615655.html
    https://www.cnblogs.com/zzcperf/p/9563389.html

    malloc hook 方案实现
    https://cloud.tencent.com/developer/article/1817357

    Android malloc_debug介绍 - 简书

    bionic/libc/bionic/libc_init_dynamic.cpp 

    __libc_init(...)   

    ->

    __libc_init_malloc(...)

    ->

    bionic/libc/bionic/malloc_common_dynamic.cpp

    100  static constexpr char kHooksSharedLib[] = "libc_malloc_hooks.so";
    101  static constexpr char kHooksPrefix[] = "hooks";
    102  static constexpr char kHooksPropertyEnable[] = "libc.debug.hooks.enable";
    103  static constexpr char kHooksEnvEnable[] = "LIBC_HOOKS_ENABLE";
    104  
    105  static constexpr char kDebugSharedLib[] = "libc_malloc_debug.so";
    106  static constexpr char kDebugPrefix[] = "debug";
    107  static constexpr char kDebugPropertyOptions[] = "libc.debug.malloc.options";
    108  static constexpr char kDebugPropertyProgram[] = "libc.debug.malloc.program";
    109  static constexpr char kDebugEnvOptions[] = "LIBC_DEBUG_MALLOC_OPTIONS";

    kDebugEnvOptions  如果设置了,则options 就取设置的值;如果没有设置再判断kDebugPropertyOptions,如果设置了,options 就取其值,再判断kDebugPropertyProgram,如果设置了但是跟当前processName 不同,则返回false,否则返回true;

    返回true,就会InstallHooks

    返回false,则会判断kHooksEnvEnable和kHooksPropertyEnable 跟上面kDebugEnvOptions和kDebugPropertyOptions判断一样,

    返回true ,options 会清空并InstallHooks

    bionic/libc/bionic/malloc_heapprofd.cpp

    bionic/libc/bionic/osvelte_malloc_debug.cpp

  • 相关阅读:
    新品上市的软文怎么写?品宣软文写作要注意以下几点
    如何理解受控和非受控件组件?
    2022年最新最详细IDEA关联数据库方式、在IDEA中进行数据库的可视化操作(包含图解过程)
    【规范】Git分支管理,看看我司是咋整的
    三大缓存技术--localStorage、sessionStorage、Cookie
    Android Studio 的初次使用
    WebGL管网展示(及TubeGeometry优化)
    【YOLOv7_0.1】网络结构与源码解析
    leetcode 94.二叉树的中序遍历(非递归和递归遍历)
    最长公共子序列(冬季每日一题 5)
  • 原文地址:https://blog.csdn.net/lei7143/article/details/128087469
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号