3个不稳定版本

0.2.1 2023年1月22日
0.2.0 2023年1月22日
0.1.0 2023年1月22日

#62 in #entries

MIT许可证

1.5MB
33K SLoC

C 13K SLoC // 0.2% comments • Rust 包仓库 Shell 8K SLoC // 0.2% comments • Rust 包仓库 M4 7.5K SLoC // 0.2% comments • Rust 包仓库 Batch 1K SLoC • Rust 包仓库 Assembly 1K SLoC // 0.3% comments • Rust 包仓库 GNU Style Assembly 724 SLoC // 0.3% comments • Rust 包仓库 Rust 573 SLoC // 0.1% comments • Rust 包仓库 Perl 269 SLoC // 0.2% comments • Rust 包仓库 Automake 126 SLoC // 0.2% comments • Rust 包仓库

包含(autotools混淆代码,490KB)lzo/configure,(ELF可执行文件/库,1KB)lzo/asm/i386/obj/elf32/lzo1c_s1.o,(ELF可执行文件/库,1KB)lzo/asm/i386/obj/elf32/lzo1f_f1.o,(ELF可执行文件/库,1KB)lzo/asm/i386/obj/elf32/lzo1x_f1.o,(ELF可执行文件/库,1KB)lzo/asm/i386/obj/elf32/lzo1x_s1.o,(ELF可执行文件/库,1KB)lzo/asm/i386/obj/elf32/lzo1y_f1.o更多

jffs2-rs

  • Rust语言的jffs2读取器🦀实现

TL;DR

  • 将jffs2镜像提取到指定目录
    let path = Path::new("path/to/image.jffs2");
    let output_path = Path::new("/tmp/some/where");
    extract_jffs2(path, output_path).expect("Failed to extract file");
  • 仅列出所有条目
    let path = Path::new("path/to/image.jffs2");
    let entries = list_jffs2(path).expect("Failed to list entries");
    println!("{:?}", entries);

当前状态

  • 支持以下压缩算法
    • ✔ JFFS2_COMPR_NONE
    • ✔ JFFS2_COMPR_ZERO
    • ✔ JFFS2_COMPR_RTIME
    • ✗ JFFS2_COMPR_RUBINMIPS (已弃用)
    • ✗ JFFS2_COMPR_COPY (从未实现!)
    • ✔ JFFS2_COMPR_DYNRUBIN
    • ✔ JFFS2_COMPR_ZLIB
    • ✔ JFFS2_COMPR_LZO
    • ✔ JFFS2_COMPR_LZMA

依赖项

~3–5MB
~92K SLoC