确定要为注入的代码调用哪个`malloc`?

问题描述 投票:0回答:1

我正在使用frida挂钩运行在Windows之上的Firefox Web浏览器的各种功能。我迷上的符号之一是mozglue::malloc(),它需要jemalloc分配器。在进程地址空间中,有三个malloc()符号:

  1. msvcrt.lib中(静态链接)
  2. ucrtbase.dll中用于动态链接
  3. mozglue.dll中已经提到的内容>>
  4. 我曾期望Firefox进程所做的所有内存分配都将由mozglue::malloc()分配,当然这确实发生了。

我没想到注入到目标进程的frida JS代理所做的内存分配也将使用jemalloc进行分配,老实说,我仍然不知道为什么。

frida首次将其附加到进程时,可能不知道有mozglue::malloc()符号,从frida的角度来看,有一个简单的对malloc()的调用,因此,如何以及为什么将此调用从默认的CRT符号到Mozila dll?这可能与PE设计有关,但是我不能指望它...

感谢您的帮助/见解/答案

我正在使用frida挂钩运行在Windows之上的Firefox Web浏览器的各种功能。我迷上的符号之一是mozglue :: malloc(),它需要jemalloc分配器。在此过程中...

malloc hook code-injection dynamic-linking frida
1个回答
0
投票

[mozglue::malloc甚至不是在Firefox内部调用的唯一函数,因为Firefox调用的某些系统函数将使用系统malloc。

© www.soinside.com 2019 - 2024. All rights reserved.