fixes for frida mode for win and checks in rust 1.56 (#334)

* fixes for frida mode for win

* missing bracket

* fix docs

* fix docs, add windows ci

* disable breaking ci
This commit is contained in:
Dominik Maier 2021-10-25 11:49:34 +02:00 committed by GitHub
parent 77e0be218a
commit 3f1130a8a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 12 additions and 10 deletions

View File

@ -143,6 +143,8 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: clippy
#- name: Build frida
# run: cd fuzzers/frida_libpng/ && cargo build --release
macos:
runs-on: macOS-latest
steps:

View File

@ -2,3 +2,4 @@ libpng-*
corpus_discovered
libafl_frida
frida_libpng
zlib*

View File

@ -38,15 +38,16 @@ You can also fuzz libpng-1.6.37 on windows with frida mode!
2. Build libpng1.6.37
- Open libpng-1.6.37/projects/vstudio/vstudio.sln
- Open Build->Configuration Manager
- select Release for Active soltuion configuration and
- select Release for Active solution configuration and
- select <New>->x64 for Active solution platform (Copy settings from Win32)
- Then for libpng, pngstest, pngtest, pngunknown, pngvalid, zlib in Solution Explorer, choose General -> Configuration Type -> Static library(.lib)
- C/C++ -> Treat Warnings As Errors -> No
- C/C++ -> Code Generation -> Runtime Library -> Multi-threaded (/MT)
- Finally you can build libpng-1.6.37
- Finally, you can build libpng-1.6.37
3. Compile the harness
Fire up a powershell at this directory.
```
cargo build --release
cp .\libpng-1.6.37\projects\vstudio\x64\Release\libpng16.lib .
cp .\libpng-1.6.37\projects\vstudio\x64\Release\zlib.lib .
cp .\target\release\frida_libpng.exe .

View File

@ -593,7 +593,7 @@ where
}
}
/// Variadic macro to create a chain of AndFeedback
/// Variadic macro to create a chain of [`AndFeedback`](EagerAndFeedback)
#[macro_export]
macro_rules! feedback_and {
( $last:expr ) => { $last };
@ -604,7 +604,7 @@ macro_rules! feedback_and {
};
}
///
/// Variadic macro to create a chain of (fast) AndFeedback
/// Variadic macro to create a chain of (fast) [`AndFeedback`](FastAndFeedback)
#[macro_export]
macro_rules! feedback_and_fast {
( $last:expr ) => { $last };
@ -615,7 +615,7 @@ macro_rules! feedback_and_fast {
};
}
/// Variadic macro to create a chain of OrFeedback
/// Variadic macro to create a chain of [`OrFeedback`](EagerOrFeedback)
#[macro_export]
macro_rules! feedback_or {
( $last:expr ) => { $last };
@ -636,7 +636,7 @@ macro_rules! feedback_or_fast {
};
}
/// Variadic macro to create a NotFeedback
/// Variadic macro to create a [`NotFeedback`]
#[macro_export]
macro_rules! feedback_not {
( $last:expr ) => {

View File

@ -1,7 +1,5 @@
//! Tracing of expressions in a serialized form.
use std::num::NonZeroUsize;
pub use libafl::observers::concolic::serialization_format::StdShMemMessageFileWriter;
use libafl::observers::concolic::SymExpr;
@ -32,7 +30,7 @@ impl TracingRuntime {
}
}
/// A macro to generate the boilerplate for declaring a runtime function for SymCC that simply logs the function call
/// A macro to generate the boilerplate for declaring a runtime function for `SymCC` that simply logs the function call
/// according to [`concolic::SymExpr`].
macro_rules! expression_builder {
($method_name:ident ( $($param_name:ident : $param_type:ty ),+ ) => $message:ident) => {

View File

@ -249,7 +249,7 @@ fn pc(context: &CpuContext) -> usize {
context.pc() as usize
}
#[cfg(target_arch = "x86_64")]
#[cfg(all(target_arch = "x86_64", not(windows)))]
fn pc(context: &CpuContext) -> usize {
context.rip() as usize
}