Releases: cctv18/libfakestat
Releases · cctv18/libfakestat
v0.6
v0.5
libfakestat v0.5
更新内容:
- 引入了文件劫持读写区分控制,默认对被劫持文件的写入操作只写入被劫持文件自身(保护重定向目标文件不被改写),只有在开启
HIJACK_ALLOW_WRITE=1时才允许写入重定向目标文件
v0.4
libfakestat v0.4
更新内容:
- 引入了高效的无锁分支预测检查,优化了在重度读写场景下的I/O读写性能
v0.3
libfakestat v0.3
更新内容:
- 引入了文件读取劫持机制(劫持指定文件大小/内容/哈希校验/时间戳等读取),且不影响可执行文件自身运行(即读取被劫持文件会被指向至劫持目标,但执行被劫持文件执行的是其自身)
- 引入了多组文件读取劫持映射(最高1024组,且序号越小的映射规则优先级越高)
v0.2
libfakestat v0.2
更新内容:
- 添加了作用/排除路径控制,分别通过
WORKPATH和NWORKPATH两个变量来控制; - 多个路径用空格分隔,路径可以使用通配符,且
NWORKPATH优先级高于WORKPATH。 - 示例:
- 作用路径包含所有文件名/路径中含有.c和cc的文件而排除包含.orig的文件:
WORKPATH="cc *.c" NWORKPATH="*.orig" FAKESTAT="2025-10-18 14:30:00" LD_PRELOAD=./libfakestat.so stat ./*
v0.1
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" ...- 对多线程并发调用进行了优化