Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
0119c21
feat: improved overall documentation (#18)
BinFlip Jun 17, 2025
cf5e283
Merge branch 'master' into develop
BinFlip Jun 17, 2025
3c7b3cd
chore: prepare release v0.3.2 (#21)
BinFlip Jun 17, 2025
79788d2
Merge branch 'master' into develop
BinFlip Jun 17, 2025
d1d6526
feature/EnC-tables (#23)
BinFlip Jun 17, 2025
14dcc0a
feat: implemented support for PortablePDB parsing (#24)
BinFlip Jun 18, 2025
123a65d
refactor/cleanupround (#25)
BinFlip Jun 20, 2025
eae575d
deps(deps): bump autocfg from 1.4.0 to 1.5.0 (#27)
dependabot[bot] Jun 23, 2025
044b9a2
deps(deps): bump syn from 2.0.103 to 2.0.104 (#28)
dependabot[bot] Jun 23, 2025
49a1f84
deps(deps): bump quick-xml from 0.37.5 to 0.38.0 (#29)
dependabot[bot] Jun 30, 2025
c7e28e0
deps(deps): bump bumpalo from 3.18.1 to 3.19.0 (#30)
dependabot[bot] Jun 30, 2025
55cb9d3
deps(deps): bump crunchy from 0.2.3 to 0.2.4 (#31)
dependabot[bot] Jun 30, 2025
4974a0a
fuzz-deps: bump libfuzzer-sys from 0.4.9 to 0.4.10 in /fuzz (#32)
dependabot[bot] Jul 7, 2025
e38276f
feature/modification (#26)
BinFlip Jul 10, 2025
52073a1
deps(deps): bump memmap2 from 0.9.5 to 0.9.7 (#33)
dependabot[bot] Jul 14, 2025
36f50ba
deps(deps): bump clap from 4.5.40 to 4.5.41 (#34)
dependabot[bot] Jul 14, 2025
384ce46
feature/validation (#35)
BinFlip Jul 28, 2025
b9016ef
updated dependencies
BinFlip Jul 28, 2025
f5fbcd8
feat: updated README.md to reflect current state of dotscope
BinFlip Jul 31, 2025
f3a44d3
feat: renamed disassembler module to assembly, in preperation for imp…
BinFlip Jul 31, 2025
aa08398
feat: implemented assembly encoder and builder
BinFlip Jul 31, 2025
dde8dcc
fix: fixed ci errors
BinFlip Jul 31, 2025
8f4f335
feat: added MethodBuilder
BinFlip Jul 31, 2025
b4bfa2a
feat: added high-level builders for classes, enums, events, interface…
BinFlip Aug 2, 2025
2489735
feat: added examples for injecting a hello world method into an exist…
BinFlip Aug 2, 2025
85d6f32
refactor: refactored writer pipeline
BinFlip Aug 6, 2025
85cabd2
deps(deps): bump quick-xml from 0.38.0 to 0.38.1 (#45)
dependabot[bot] Aug 6, 2025
d4535c6
deps(deps): bump rustix from 1.0.7 to 1.0.8 (#44)
dependabot[bot] Aug 6, 2025
263d778
deps(deps): bump redox_syscall from 0.5.13 to 0.5.17 (#43)
dependabot[bot] Aug 7, 2025
eb2dcc7
deps(deps): bump clap from 4.5.41 to 4.5.42 (#42)
dependabot[bot] Aug 7, 2025
ed98b6f
deps(deps): bump serde_json from 1.0.140 to 1.0.142 (#41)
dependabot[bot] Aug 7, 2025
be6fb89
deps(deps): bump strum from 0.27.1 to 0.27.2 (#40)
dependabot[bot] Aug 7, 2025
0671a87
deps(deps): bump itertools from 0.10.5 to 0.13.0 (#39)
dependabot[bot] Aug 7, 2025
9311e52
deps(deps): bump criterion from 0.6.0 to 0.7.0 (#38)
dependabot[bot] Aug 7, 2025
3d50cd3
deps(deps): bump strum_macros from 0.27.1 to 0.27.2 (#37)
dependabot[bot] Aug 7, 2025
8e60209
deps(deps): bump criterion-plot from 0.5.0 to 0.6.0 (#36)
dependabot[bot] Aug 7, 2025
e3b498b
fix: fixed clippy warnings from the new rust version
BinFlip Aug 7, 2025
768bf69
feat: removed self_relfecting from File and instead stored PE informa…
BinFlip Aug 18, 2025
9ecd151
fix: fixed regression introduced by wrong length of size field
BinFlip Aug 18, 2025
9a832cc
ci: bump actions/checkout from 4 to 5 (#55)
dependabot[bot] Aug 18, 2025
5f08487
deps(deps): bump rayon from 1.10.0 to 1.11.0 (#56)
dependabot[bot] Aug 18, 2025
810384d
deps(deps): bump rayon-core from 1.12.1 to 1.13.0 (#51)
dependabot[bot] Aug 18, 2025
4ea8c17
deps(deps): bump clap from 4.5.43 to 4.5.45 (#54)
dependabot[bot] Aug 18, 2025
40baa64
deps(deps): bump boxcar from 0.2.13 to 0.2.14 (#53)
dependabot[bot] Aug 18, 2025
c12c124
deps(deps): bump thiserror from 2.0.12 to 2.0.15 (#52)
dependabot[bot] Aug 18, 2025
e6a42e5
deps(deps): bump bitflags from 2.9.1 to 2.9.2 (#50)
dependabot[bot] Aug 18, 2025
83ad300
deps(deps): bump libc from 0.2.174 to 0.2.175 (#49)
dependabot[bot] Aug 18, 2025
2657337
deps(deps): bump rustversion from 1.0.21 to 1.0.22 (#48)
dependabot[bot] Aug 18, 2025
cfcdd2b
deps(deps): bump syn from 2.0.104 to 2.0.106 (#47)
dependabot[bot] Aug 18, 2025
de4482e
deps(deps): bump proc-macro2 from 1.0.95 to 1.0.101 (#46)
dependabot[bot] Aug 18, 2025
41b73ef
fix: Identified and fixed several issues that causes modified binarie…
BinFlip Aug 18, 2025
56f310a
feat: added another integration test that uses mono to verify modific…
BinFlip Aug 19, 2025
21e1432
feat: prepare release of v0.4.0
BinFlip Aug 19, 2025
338ce59
Merge branch 'master' into develop
BinFlip Aug 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -111,7 +111,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/maintenance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

Expand Down Expand Up @@ -122,7 +122,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Get version from Cargo.toml
id: version
Expand Down Expand Up @@ -141,7 +141,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -166,7 +166,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,37 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.4.0] - 2025-08-19

### Added

- **Assembly Encoder and Builder System**: Complete CIL assembly encoder and builder implementation with high-performance benchmarks
- **High-Level Builders**: Added builders for classes, enums, events, interfaces, properties, and methods with full CIL method body support
- **Binary Modification Capabilities**: Full binary modification support with method injection and exception handler support using label-based targeting
- **PortablePDB Support**: Complete PortablePDB parsing implementation for enhanced debugging information
- **EnC (Edit and Continue) Tables**: Support for Edit and Continue metadata tables
- **Validation System**: Comprehensive validation framework to ensure modified binaries remain valid and loadable
- **Binary Serialization**: Capability to write modified assemblies back to disk

### Changed

- **Module Organization**: Renamed `disassembler` module to `assembly` in preparation for encoder implementation
- **File Structure**: Removed `self_reflecting` from File structure, storing PE information locally for improved performance

### Fixed

- Fixed regression in size field length calculation
- Fixed multiple issues causing modified binaries to be invalid
- Fixed clippy warnings for latest Rust versions
- Various binary modification stability improvements

### Improved

- Enhanced integration testing with Mono runtime verification
- Improved PE file handling and structure
- Better separation between parsing and encoding functionality
- Updated examples and documentation

## [0.3.2] - 2025-06-17

### Fixed
Expand Down
Loading
Loading