Skip to content

[-] PROGRAM ABORT : Unexpected result from pipe! expected 'P', instead received 'C' #466

@baikaishiuc

Description

@baikaishiuc

Pre:

  1. windows11
  2. latest dynamrio
  3. latest winafl

dynamrio build according: https://dynamorio.org/page_building.html

$ git clone --recurse-submodules -j4 https://github.com/DynamoRIO/dynamorio.git
# Make a separate build directory.  Building in the source directory is not
# supported.
$ cd [dynamorio](https://dynamorio.org/namespacedynamorio.html) && mkdir build && cd build
# Configure using cmake.  Pass in the path to your source directory.
$ cmake -G"Visual Studio 16" -A x64 ..
# Build from the command line.  Alternatively, open ALL_BUILD.vcproj in Visual
# Studio and build from there.  You must pass --config to work around a cmake
# bug.  (http://www.cmake.org/Bug/view.php?id=11830)
$ cmake --build . --config RelWithDebInfo

At first check drrun.exe work whether or not

.\afl-fuzz.exe -i in -o out -D D:\source\dynamorio\build64_vs16\bin64 -t 20000 -- -coverage_module gdiplus.dll -coverage_module WindowsCodecs.dll -fuzz_iterations 5000 -target_module test_gdiplus.exe -target_offset 0x10e0 -nargs 2 -- test_gdiplus.exe @@

afl.test_gdiplus.exe.135200.0000.proc.log seems work success.

Module loaded, dynamorio.dll
Module loaded, winafl.dll
Module loaded, drx.dll
Module loaded, drreg.dll
Module loaded, drmgr.dll
Module loaded, drwrap.dll
Module loaded, test_gdiplus.exe
Module loaded, gdiplus.dll
Module loaded, VCRUNTIME140.dll
Module loaded, gdi32full.dll
Module loaded, win32u.dll
Module loaded, msvcp_win.dll
Module loaded, ucrtbase.dll
Module loaded, KERNELBASE.dll
Module loaded, USER32.dll
Module loaded, GDI32.dll
Module loaded, RPCRT4.dll
Module loaded, IMM32.dll
Module loaded, KERNEL32.dll
Module loaded, msvcrt.dll
Module loaded, combase.dll
Module loaded, ntdll.dll
In pre_fuzz_handler
Module loaded, UxTheme.dll
Module loaded, MSCTF.dll
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
In pre_fuzz_handler
In post_fuzz_handler
Everything appears to be running normally.
Coverage map follows:

But when I test afl-fuzz.exe , the program abort

D:\source\winafl\build64_vs2019\bin\Release>.\afl-fuzz.exe -i in -o out -D D:\source\dynamorio\build64_vs16\bin64 -t 20000 -- -coverage_module gdiplus.dll -coverage_module WindowsCodecs.dll -fuzz_iterations 5000 -target_module test_gdiplus.exe -target_offset 0x10e0 -nargs 2 -- test_gdiplus.exe @@
WinAFL 1.17 by <ifratric@google.com>
Based on AFL 2.43b by <lcamtuf@google.com>
[+] You have 18 CPU cores with average utilization of 6%.
[+] Try parallel jobs - see afl_docs\parallel_fuzzing.txt.
[*] Checking CPU core loadout...
[+] Found a free CPU core, binding to #0.
[+] Process affinity is set to 1.
[*] Setting up output directories...
[+] Output directory exists but deemed OK to reuse.
[*] Deleting old session data...
[+] Output dir cleanup successful.
[*] Scanning 'in'...
[+] No auto-generated dictionary tokens to reuse.
[*] Creating hard links for all input files...
[*] Attempting dry run with 'id_000000'...

[-] PROGRAM ABORT : Unexpected result from pipe! expected 'P', instead received 'C'

         Location : run_target(), D:\source\winafl\afl-fuzz.c:2920

Do I need provided more information ?

I search the same error information in issues list, But cant resolve my problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions