yara-x 1.19.0

A pure Rust implementation of YARA.
Documentation
syntax = "proto2";
import "yara.proto";

package zip;

option (yara.module_options) = {
  name : "zip"
  root_message: "zip.Zip"
  cargo_feature: "zip-module"
};

enum Compression {
  option (yara.enum_options).inline = true;
  STORED = 0;
  SHRUNK = 1;
  REDUCED_1 = 2;
  REDUCED_2 = 3;
  REDUCED_3 = 4;
  REDUCED_4 = 5;
  IMPLODED = 6;
  DEFLATED = 8;
  DEFLATE64 = 9;
  PKWARE_IMPLODING = 10;
  BZIP2 = 12;
  LZMA = 14;
  ZSTD = 93;
  XZ = 95;
  UNKNOWN = 255;
}

message Entry {
  optional string file_path = 1;
  optional Compression compression = 2;
  optional uint64 uncompressed_size = 3;
  optional uint64 compressed_size = 4;
}

message Zip {
  optional bool is_zip = 1;
  repeated Entry entries = 2;
}