Skip to content

Commit f78c2b4

Browse files
committed
Migrate
1 parent 1254a72 commit f78c2b4

File tree

34 files changed

+86
-84
lines changed

34 files changed

+86
-84
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[workspace]
2-
resolver = "2"
2+
resolver = "3"
33
members = ["crackers", "crackers_python"]
44

55
[profile.dev]

crackers/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "crackers"
33
version = "0.1.0"
4-
edition = "2021"
4+
edition = "2024"
55

66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

crackers/src/bench/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ use std::path::PathBuf;
33

44
use clap::Parser;
55
use tracing::level_filters::LevelFilter;
6-
use tracing::{event, Level};
6+
use tracing::{Level, event};
77
use tracing_indicatif::IndicatifLayer;
8+
use tracing_subscriber::EnvFilter;
89
use tracing_subscriber::layer::SubscriberExt;
910
use tracing_subscriber::util::SubscriberInitExt;
10-
use tracing_subscriber::EnvFilter;
1111
use z3::{Config, Context};
1212

1313
use crate::config::CrackersConfig;

crackers/src/bin/crackers/main.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@ use std::path::PathBuf;
44

55
use clap::{Parser, Subcommand};
66
use toml_edit::ser::to_string_pretty;
7-
use tracing::{event, Level};
7+
use tracing::{Level, event};
88
use tracing_indicatif::IndicatifLayer;
9+
use tracing_subscriber::EnvFilter;
910
use tracing_subscriber::filter::LevelFilter;
1011
use tracing_subscriber::layer::SubscriberExt;
1112
use tracing_subscriber::util::SubscriberInitExt;
12-
use tracing_subscriber::EnvFilter;
1313
use z3::{Config, Context};
1414

15-
use crackers::bench::{bench, BenchCommand};
15+
use crackers::bench::{BenchCommand, bench};
16+
use crackers::config::CrackersConfig;
1617
use crackers::config::constraint::{
1718
ConstraintConfig, MemoryEqualityConstraint, PointerRange, PointerRangeConstraints,
1819
StateEqualityConstraint,
1920
};
2021
use crackers::config::sleigh::SleighConfig;
2122
use crackers::config::specification::SpecificationConfig;
22-
use crackers::config::CrackersConfig;
2323
use crackers::synthesis::DecisionResult;
2424

2525
#[derive(Parser, Debug)]

crackers/src/config/constraint.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
use crate::error::CrackersError;
22
use crate::synthesis::builder::{StateConstraintGenerator, TransitionConstraintGenerator};
3+
use jingle::JingleContext;
34
use jingle::modeling::{ModeledBlock, ModelingContext, State};
45
use jingle::sleigh::{ArchInfoProvider, VarNode};
56
use jingle::varnode::{ResolvedIndirectVarNode, ResolvedVarnode};
6-
use jingle::JingleContext;
77
#[cfg(feature = "pyo3")]
88
use pyo3::pyclass;
99
use serde::{Deserialize, Serialize};
1010
use std::collections::HashMap;
1111
use std::ops::Add;
1212
use std::sync::Arc;
13-
use tracing::{event, Level};
14-
use z3::ast::{Ast, Bool, BV};
13+
use tracing::{Level, event};
14+
use z3::ast::{Ast, BV, Bool};
1515

1616
#[derive(Clone, Debug, Deserialize, Serialize, Default)]
1717
#[cfg_attr(feature = "pyo3", pyclass(get_all, set_all))]
@@ -129,10 +129,10 @@ pub struct PointerRange {
129129
pub fn gen_memory_constraint(
130130
m: MemoryEqualityConstraint,
131131
) -> impl for<'a> Fn(&JingleContext<'a>, &State<'a>, u64) -> Result<Bool<'a>, CrackersError>
132-
+ Send
133-
+ Sync
134-
+ Clone
135-
+ 'static {
132+
+ Send
133+
+ Sync
134+
+ Clone
135+
+ 'static {
136136
move |jingle, state, _addr| {
137137
let data = state.read_varnode(&state.varnode(&m.space, m.address, m.size).unwrap())?;
138138
let constraint = data._eq(&BV::from_u64(jingle.z3, m.value as u64, data.get_size()));
@@ -146,10 +146,10 @@ pub fn gen_register_constraint(
146146
vn: VarNode,
147147
value: u64,
148148
) -> impl for<'a> Fn(&JingleContext<'a>, &State<'a>, u64) -> Result<Bool<'a>, CrackersError>
149-
+ 'static
150-
+ Send
151-
+ Sync
152-
+ Clone {
149+
+ 'static
150+
+ Send
151+
+ Sync
152+
+ Clone {
153153
move |jingle, state, _addr| {
154154
let data = state.read_varnode(&vn)?;
155155
let constraint = data._eq(&BV::from_u64(jingle.z3, value, data.get_size()));
@@ -209,8 +209,8 @@ pub fn gen_pointer_range_state_invariant<'ctx>(
209209
&ResolvedVarnode<'a>,
210210
&State<'a>,
211211
) -> Result<Option<Bool<'a>>, CrackersError>
212-
+ 'ctx
213-
+ Clone {
212+
+ 'ctx
213+
+ Clone {
214214
move |jingle, vn, state| {
215215
match vn {
216216
ResolvedVarnode::Direct(d) => {
@@ -245,10 +245,10 @@ pub fn gen_pointer_range_state_invariant<'ctx>(
245245
pub fn gen_pointer_range_transition_invariant(
246246
m: PointerRangeConstraints,
247247
) -> impl for<'a> Fn(&JingleContext<'a>, &ModeledBlock<'a>) -> Result<Option<Bool<'a>>, CrackersError>
248-
+ Send
249-
+ Sync
250-
+ Clone
251-
+ 'static {
248+
+ Send
249+
+ Sync
250+
+ Clone
251+
+ 'static {
252252
move |jingle, block| {
253253
let mut bools = vec![];
254254
if let Some(r) = &m.read {

crackers/src/config/error.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use jingle::sleigh::JingleSleighError;
21
use jingle::JingleError;
2+
use jingle::sleigh::JingleSleighError;
33
use thiserror::Error;
44

55
#[derive(Debug, Error)]
@@ -16,7 +16,9 @@ pub enum CrackersConfigError {
1616
LibraryParse,
1717
#[error("Spec objects must have a '.text' symbol")]
1818
SpecMissingTextSection,
19-
#[error("Unable to determine the architecture of the provided object file. This is a config file limitation and not a sleigh limitation.")]
19+
#[error(
20+
"Unable to determine the architecture of the provided object file. This is a config file limitation and not a sleigh limitation."
21+
)]
2022
UnrecognizedArchitecture(String),
2123
#[error("An error initializing sleigh for a file specified in the config")]
2224
Sleigh(#[from] JingleError),

crackers/src/config/object.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use std::fs;
44
use std::path::Path;
55

6-
use jingle::sleigh::context::image::gimli::{map_gimli_architecture, OwnedFile};
6+
use jingle::sleigh::context::image::gimli::{OwnedFile, map_gimli_architecture};
77
use jingle::sleigh::context::loaded::LoadedSleighContext;
88
use object::{File, Object};
99

crackers/src/config/specification.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::fs;
22

3-
use jingle::sleigh::context::loaded::LoadedSleighContext;
43
use jingle::sleigh::Instruction;
4+
use jingle::sleigh::context::loaded::LoadedSleighContext;
55
use object::{File, Object, ObjectSymbol};
66
#[cfg(feature = "pyo3")]
77
use pyo3::{pyclass, pymethods};

crackers/src/error.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use jingle::JingleError;
22
#[cfg(feature = "pyo3")]
3-
use pyo3::exceptions::PyRuntimeError;
4-
#[cfg(feature = "pyo3")]
53
use pyo3::PyErr;
4+
#[cfg(feature = "pyo3")]
5+
use pyo3::exceptions::PyRuntimeError;
66
use thiserror::Error;
77

88
use crate::config::error::CrackersConfigError;

crackers/src/gadget/another_iterator.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
use jingle::JingleContext;
12
use jingle::modeling::{ModeledInstruction, ModelingContext};
23
use jingle::sleigh::{Instruction, OpCode};
3-
use jingle::JingleContext;
44
use tracing::trace;
5-
use z3::ast::Ast;
65
use z3::Solver;
6+
use z3::ast::Ast;
77

8-
use crate::gadget::signature::GadgetSignature;
98
use crate::gadget::Gadget;
9+
use crate::gadget::signature::GadgetSignature;
1010

1111
pub struct TraceCandidateIterator<'ctx, 'a, T>
1212
where
@@ -54,8 +54,7 @@ where
5454
.map(|i| {
5555
trace!(
5656
"Checking {} signature vs gadget {}",
57-
i.instr.disassembly,
58-
gadget
57+
i.instr.disassembly, gadget
5958
);
6059

6160
gadget_signature.covers(&GadgetSignature::from_instr(&i.instr, i))

0 commit comments

Comments
 (0)