Releases: YiJieqwq/Inode-Hijacker
Releases · YiJieqwq/Inode-Hijacker
Release list
Inode-Hijacker v2.3.1
紧急修复:禁止 mv 退化为 copy+delete
v2.3.0 使用普通 mv。即使 stat.st_dev 相同,Android 的 FBE policy、bind mount 或其他 VFS 边界仍可能令 rename 返回 EXDEV;Toybox 随后会自动复制并删除源目录,从而给两个路径分配新 inode。
v2.3.1 修复
- 固定调用
/system/bin/toybox mv -x,使用内核RENAME_EXCHANGE原子交换两个现存路径; - 普通文件、目录、FIFO、隐藏项和符号链接均先创建同类型占位项,再原子交换;
- 不再存在普通
mv的 copy+delete 回退路径; - 在接触 target/donor 前用两个测试目录自检
mv -x,并验证双方 inode 确实交换; - 不支持
mv -x或自检失败时直接退出,真实目录不会被修改; - 根目录交换与回滚均改为单次原子
RENAME_EXCHANGE; - 继续支持非空
/data/local/tmp,并保留 v2.3 的 SELinux fail-closed 与风险列表修复。
校验
sh -n:通过- ShellCheck:通过
- v2.3.0 已标记为撤回并删除危险脚本附件
Inode-Hijacker v2.3.0
Caution
此版本已撤回,请勿使用。 普通 mv 在 Android 上可能因 FBE/挂载边界触发 copy+delete 回退,导致低 inode 丢失。请升级到 v2.3.1。
Inode-Hijacker v2.3.0
本版本重点修复候选风险分级、非空目录数据保留和 SELinux 上下文恢复。
主要改进
/data/local/tmp不要求为空:目标与候选原内容均通过同分区rename事务化迁移并恢复,不再使用cp -a;- 修复旧版会删除目标原内容、并把候选内容复制进目标的问题;
cota、oplus_lib、opluscvtnvm改为禁止项;工程、OTA、日志、主题等目录改为谨慎项;- 名称通配符只进入 unknown,unknown 不再自动推荐;
- 拒绝符号链接、挂载点、跨文件系统候选,并在执行前二次核对 inode/type/dev;
- SELinux 改为 fail-closed:
restorecon错误不再静默忽略,恢复后严格比较目标和候选根目录 context; - 使用
mktemp+0700事务目录;失败时优先回滚,无法安全回滚则保留事务现场; - 检测事务期间的并发写入并停止操作;
- README 补充使用条件和已知边界。
校验
sh -n:通过- ShellCheck(POSIX sh):通过
- 非空目标/候选、普通文件、隐藏文件、双点文件名、子目录和符号链接事务测试:通过
仍建议在维护环境使用,并停止持续访问目标或候选目录的服务。已有 inotify watch、目录 fd 和 cwd 不会随路径 inode 替换自动迁移。
Inode-Hijacker-v2.2
Inode-Hijacker-v2.2 — 智能候选 · 风险分级 · 秒级交换
更新内容
- 完善了selinux上下文修复
核心功能
- 秒级 inode 交换:原理从"排队等转子回绕"改为"找现有低 inode 目录直接交换",耗时从数十分钟降至 < 1 秒
- 风险自动分级:安全 / 谨慎 / 禁止三档,自动排除
system_ce等关键目录 - 智能推荐:优先选安全区 + 空目录 + 最低 inode
- 非空目录处理:捐献者若有内容,先备份再交换后恢复
- 失败回滚:交换过程任一步失败自动恢复原状
使用方式
直接使用 ROOT 权限执行
默认目标 /data/local/tmp,默认阈值 10000。
注意事项
脚本会自动排除系统关键目录,但建议在操作前确认捐献目录的安全性。如果设备出现异常,重启即可恢复(新创建的捐献目录有原始备份)。
Inode-Hijacker-v2.1
Inode-Hijacker-v2.1 — 智能候选 · 风险分级 · 秒级交换
核心功能
- 秒级 inode 交换:原理从"排队等转子回绕"改为"找现有低 inode 目录直接交换",耗时从数十分钟降至 < 1 秒
- 风险自动分级:安全 / 谨慎 / 禁止三档,自动排除
system_ce等关键目录 - 智能推荐:优先选安全区 + 空目录 + 最低 inode
- 非空目录处理:捐献者若有内容,先备份再交换后恢复
- 失败回滚:交换过程任一步失败自动恢复原状
使用方式
直接使用 ROOT 权限执行
默认目标 /data/local/tmp,默认阈值 10000。
注意事项
脚本会自动排除系统关键目录,但建议在操作前确认捐献目录的安全性。如果设备出现异常,重启即可恢复(新创建的捐献目录有原始备份)。
Low-Inode-Swapper v2.1
Low-Inode-Swapper v2.1版本 正式发布
使用场景
需要降低已获取root权限的安卓手机的/data/local/tmp文件夹inode值,如
需要通过春秋检测 Suspicious suroundings(b) 检测项
需要通过其他含有root检测的app的检测
etc.
预计时间
通常需要几分钟,实际情况视进度条而定。