Skip to content

Commit e422590

Browse files
Bump to v2.0.0-rc1
1 parent 68857dd commit e422590

File tree

332 files changed

+15601
-50479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

332 files changed

+15601
-50479
lines changed

.dockerignore

Lines changed: 0 additions & 7 deletions
This file was deleted.

.gitattributes

Lines changed: 0 additions & 2 deletions
This file was deleted.

.github/workflows/cicd.yml

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
name: Rust CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os: [ubuntu-latest, macos-latest, macos-13, windows-latest]
17+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
18+
19+
runs-on: ${{ matrix.os }}
20+
21+
steps:
22+
- name: Checkout Code
23+
uses: actions/checkout@v3
24+
25+
- name: Set up Rust
26+
uses: actions-rs/toolchain@v1
27+
with:
28+
toolchain: stable
29+
override: true
30+
31+
- name: Set up Python
32+
uses: actions/setup-python@v4
33+
with:
34+
python-version: ${{ matrix.python-version }}
35+
36+
- name: Install Dependencies (Ubuntu)
37+
if: ${{ matrix.os == 'ubuntu-latest' }}
38+
run: |
39+
sudo apt-get update
40+
sudo apt-get install -y build-essential pkg-config libssl-dev make
41+
42+
- name: Install Dependencies (macOS)
43+
if: startsWith(matrix.os, 'macos-')
44+
run: |
45+
brew update
46+
brew install openssl
47+
48+
- name: Enable Developer Command Prompt (Windows)
49+
if: ${{ matrix.os == 'windows-latest' }}
50+
uses: ilammy/msvc-dev-cmd@v1.7.0
51+
52+
- name: Install Python Build Tools
53+
run: |
54+
python -m pip install --upgrade pip
55+
python -m pip install setuptools wheel virtualenv
56+
57+
- name: Run Unit Tests
58+
run: cargo test
59+
60+
- name: Build Project (Ubuntu)
61+
if: ${{ matrix.os == 'ubuntu-latest' }}
62+
run: make deb
63+
64+
- name: Build Project (macOS)
65+
if: startsWith(matrix.os, 'macos-')
66+
run: cargo build --release
67+
68+
- name: Build Project (Windows)
69+
if: ${{ matrix.os == 'windows-latest' }}
70+
run: cargo build --release
71+
72+
- name: Build Python Wheels (Ubuntu)
73+
if: ${{ matrix.os == 'ubuntu-latest' }}
74+
run: |
75+
python -m venv venv
76+
. venv/bin/activate
77+
cd src/bindings/python/
78+
pip install maturin[patchelf]
79+
maturin build --release
80+
81+
- name: Build Python Wheels (MacOS)
82+
if: startsWith(matrix.os, 'macos-')
83+
run: |
84+
python -m venv venv
85+
. venv/bin/activate
86+
cd src/bindings/python/
87+
pip install maturin
88+
maturin build --release
89+
90+
- name: Build Python Wheels (Windows)
91+
if: ${{ matrix.os == 'windows-latest' }}
92+
run: |
93+
python -m venv venv
94+
.\venv\Scripts\activate
95+
cd src/bindings/python/
96+
pip install maturin
97+
maturin build --release
98+
99+
- name: Create Dist Directory
100+
run: mkdir dist
101+
102+
- name: Copy Binary (Windows)
103+
if: ${{ matrix.os == 'windows-latest' }}
104+
run: |
105+
copy target\release\binlex.exe dist\
106+
copy target\release\blyara.exe dist\
107+
copy target\release\blpdb.exe dist\
108+
copy target\release\blelfsym.exe dist\
109+
copy target\release\blmachosym.exe dist\
110+
copy target\release\blrizin.exe dist\
111+
copy target\release\blimage.exe dist\
112+
copy target\release\blhash.exe dist\
113+
copy target\release\blscaler.exe dist\
114+
copy target\wheels\*.whl dist\
115+
116+
- name: Copy Binary (macOS)
117+
if: startsWith(matrix.os, 'macos-')
118+
run: |
119+
cp target/release/binlex dist/
120+
cp target/release/blyara dist/
121+
cp target/release/blpdb dist/
122+
cp target/release/blelfsym dist/
123+
cp target/release/blmachosym dist/
124+
cp target/release/blrizin dist/
125+
cp target/release/blimage dist/
126+
cp target/release/blhash dist/
127+
cp target/release/blscaler dist/
128+
cp target/wheels/*.whl dist/
129+
130+
- name: Copy Binary (Ubuntu)
131+
if: ${{ matrix.os == 'ubuntu-latest' }}
132+
run: |
133+
cp target/release/binlex dist/
134+
cp target/release/blyara dist/
135+
cp target/release/blpdb dist/
136+
cp target/release/blelfsym dist/
137+
cp target/release/blmachosym dist/
138+
cp target/release/blrizin dist/
139+
cp target/release/blimage dist/
140+
cp target/release/blhash dist/
141+
cp target/release/blscaler dist/
142+
cp target/debian/*.deb dist/
143+
cp target/wheels/*.whl dist/
144+
145+
- name: Upload Artifacts
146+
uses: actions/upload-artifact@v3
147+
with:
148+
name: ${{ matrix.os }}-artifacts
149+
path: dist/
150+
151+
archlinux:
152+
runs-on: ubuntu-latest
153+
container:
154+
image: archlinux:latest
155+
steps:
156+
- name: Install Arch Dependencies
157+
run: |
158+
pacman -Syu --noconfirm
159+
pacman -S --noconfirm base-devel curl git
160+
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
161+
useradd -m -G wheel builder
162+
echo 'builder ALL=(ALL) NOPASSWD: /usr/bin/make' >> /etc/sudoers
163+
164+
- name: Setup Rust
165+
run: |
166+
sudo -u builder bash -c 'curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y'
167+
sudo -u builder bash -c 'echo "export PATH=\\"$PATH:/home/builder/.cargo/bin\\"" >> /home/builder/.bashrc'
168+
sudo -u builder bash -c 'echo "source /home/builder/.cargo/env" >> /home/builder/.bashrc'
169+
170+
- name: Checkout Code to Builder Home
171+
run: |
172+
sudo -u builder mkdir -p /home/builder/repo
173+
sudo -u builder bash -c "git clone https://github.com/${GITHUB_REPOSITORY}.git /home/builder/repo"
174+
env:
175+
GITHUB_REPOSITORY: ${{ github.repository }}
176+
177+
- name: Build Project (Arch Linux)
178+
run: |
179+
sudo -u builder bash -c 'cd /home/builder/repo/ && . /home/builder/.cargo/env && make zst'
180+
181+
- name: Run Unit Tests
182+
run: |
183+
sudo -u builder bash -c 'cd /home/builder/repo/ && . /home/builder/.cargo/env && cargo test'
184+
185+
- name: Copy Binary (Arch Linux)
186+
run: |
187+
mkdir dist
188+
cp /home/builder/repo/target/release/binlex dist/
189+
cp /home/builder/repo/target/release/blyara dist/
190+
cp /home/builder/repo/target/release/blpdb dist/
191+
cp /home/builder/repo/target/release/blelfsym dist/
192+
cp /home/builder/repo/target/release/blmachosym dist/
193+
cp /home/builder/repo/target/release/blrizin dist/
194+
cp /home/builder/repo/target/release/blimage dist/
195+
cp /home/builder/repo/target/release/blhash dist/
196+
cp /home/builder/repo/target/release/blscaler dist/
197+
cp /home/builder/repo/target/zst/*.zst dist/
198+
199+
- name: Upload Artifacts
200+
uses: actions/upload-artifact@v3
201+
with:
202+
name: archlinux-artifacts
203+
path: dist/

.github/workflows/cmake.yml

Lines changed: 0 additions & 126 deletions
This file was deleted.

.gitignore

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,15 @@
1-
docs
2-
*~
3-
build/**
4-
deps/build/**
5-
dist/**
6-
samples/**
7-
windows/**
8-
dump.bin
9-
__pycache__/
1+
venv/
2+
dist/
3+
target/
4+
project/
5+
Cargo.lock
6+
samples/
107
*.yara
11-
*.traits
12-
dump.json
13-
.vscode/**
14-
venv/**
15-
pybinlex.egg-info/**
8+
*.exe
9+
*.dll
1610
*.so
17-
*.whl
18-
.idea/
19-
data/**
20-
docker-compose.yml
21-
ssl/**
22-
*.key
23-
config/**
24-
docker-compose.yml
25-
test/**
26-
.ipynb_checkpoints/**
27-
# Apple crap
28-
.DS_Store
29-
.AppleDouble
30-
.LSOverride
31-
.cache
11+
*.svg
12+
pkg/
13+
*.tar
14+
*.tar.gz
15+
*.pkg.tar.zst

.gitmodules

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)