Skip to content

Commit

Permalink
feat: implement Authenticode parsing and verification without relying…
Browse files Browse the repository at this point in the history
… on OpenSSL (#100)

Until now we were using the authenticode-parser crate for Authenticode parsing and verification. This is simply a Rust wrapper around https://github.com/avast/authenticode-parser which is written in C and uses OpenSSL under the hood. Depending on OpenSSL makes building and deploying YARA-X harder, specially when you want to integrate YARA-X in other systems.

With this change all the Authenticode parsing and validation is re-written in Rust.

---------

Co-authored-by: Marek Milkovič <milkovic.marek@gmail.com>
  • Loading branch information
plusvic and metthal authored Apr 29, 2024
1 parent 15a9cdd commit fa628cf
Show file tree
Hide file tree
Showing 25 changed files with 23,673 additions and 249 deletions.
5 changes: 1 addition & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,18 @@ jobs:
rust: stable
target: x86_64-unknown-linux-gnu
vcpkg_openssl_triplet: x64-linux-release
args: "--features=openssl-static"

- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
vcpkg_openssl_triplet: x64-osx-release
args: "--features=openssl-static"

- build: windows
os: windows-latest
rust: stable
target: x86_64-pc-windows-msvc
vcpkg_openssl_triplet: x64-windows-static
args: ""

steps:
- name: Checkout sources
Expand Down Expand Up @@ -63,7 +60,7 @@ jobs:
token: ${{ github.token }}

- name: Build
run: cargo build --bin yr --profile release-lto --target ${{ matrix.target }} ${{ matrix.args }}
run: cargo build --bin yr --profile release-lto --target ${{ matrix.target }}
env:
RUSTFLAGS: "-C target-feature=+crt-static"
OPENSSL_DIR: "${{ github.workspace }}/vcpkg/installed/${{ matrix.vcpkg_openssl_triplet }}"
Expand Down
Loading

0 comments on commit fa628cf

Please sign in to comment.