Skip to content

Releases: cctv18/libfakestat

v0.6

16 Apr 11:09

Choose a tag to compare

libfakestat v0.6

更新内容:

  • 引入了文件劫持进程黑名单 HIJACK_BLACKLIST 和白名单 HIJACK_WHITELIST ,支持多个进程名定义(用 || 分隔),支持部分/全部/相对路径/通配符定义;在只定义白名单时,只有白名单内的进程被放行;在只定义黑名单时,只有黑名单内的进程被劫持;同时定义时,白名单优先级高于黑名单。

v0.5

16 Apr 07:50

Choose a tag to compare

libfakestat v0.5

更新内容:

  • 引入了文件劫持读写区分控制,默认对被劫持文件的写入操作只写入被劫持文件自身(保护重定向目标文件不被改写),只有在开启 HIJACK_ALLOW_WRITE=1 时才允许写入重定向目标文件

v0.4

15 Apr 18:25

Choose a tag to compare

libfakestat v0.4

更新内容:

  • 引入了高效的无锁分支预测检查,优化了在重度读写场景下的I/O读写性能

v0.3

15 Apr 09:39

Choose a tag to compare

libfakestat v0.3

更新内容:

  • 引入了文件读取劫持机制(劫持指定文件大小/内容/哈希校验/时间戳等读取),且不影响可执行文件自身运行(即读取被劫持文件会被指向至劫持目标,但执行被劫持文件执行的是其自身)
  • 引入了多组文件读取劫持映射(最高1024组,且序号越小的映射规则优先级越高)

v0.2

27 Oct 13:36

Choose a tag to compare

libfakestat v0.2

更新内容:

  • 添加了作用/排除路径控制,分别通过WORKPATHNWORKPATH两个变量来控制;
  • 多个路径用空格分隔,路径可以使用通配符,且NWORKPATH优先级高于WORKPATH
  • 示例:
  • 作用路径包含所有文件名/路径中含有.c和cc的文件而排除包含.orig的文件:
  • WORKPATH="cc *.c" NWORKPATH="*.orig" FAKESTAT="2025-10-18 14:30:00" LD_PRELOAD=./libfakestat.so stat ./*

v0.1

20 Oct 22:50

Choose a tag to compare

libfakestat v0.1

更新内容:

  • 首次发布
  • 测试平台:Ubuntu 24.04 (x86)
  • 支持以 FAKESTAT="YYYY-MM-DD hh:mm:ss" LD_PRELOAD=/your/lib/path/libfakestat.so ...的方式注入Linux应用程序,并劫持对应应用程序获取所有文件的时间戳(atime, ctime, mtime, btime/crtime)FAKESTAT指定时间
  • 可与libfaketime合用,如下所示:
  • FAKETIME="@2024-05-26 12:34:56" FAKESTAT="2025-05-25 11:45:14" LD_PRELOAD="./libfakestat.so /usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" ...
  • 对多线程并发调用进行了优化