I am running the Sulley fuzzing tool, which uses pydbg to debug the target process. The pydbg threads are spawned in the process_monitor.py module of the Sulley environment. My problem is that when a test case (malformed packet) causes the process to crash, the debugger thread continues to run, and the following test case triggers an access violation.,This is then sent to the session module saying the wrong packet, the second test case caused the access violation. I am trying to print the log information from pydbg to debug exactly what is happeneing, but nothing I do seems to be working. Obviously since this a thread it has no console to print to, so I've tried many different methods of writing to a file. Even a very straight forward logFile = open('C:\sulley_build\sulley\logFile.txt', 'w') logFile.write("test") won't create a file at that location. I know the pydbg thread is spawned, yet even putting that code in the _init__ function does nothing. Help?
pydbg thread refuses to print log information
157 Views Asked by Stephen McKeon At
1
There are 1 best solutions below
Related Questions in FUZZING
- oss-fuzz does not cover the code after if - else in C code
- compile syzkaller fuzzer failed without any error or warning
- Unable to use Jazzer due to compilation error
- how to fuzz program using libfuzzer?
- Fuzz testing with Playwright and gremlins.js
- Error compilingLLVMFuzzerTestOneInput DWARF error: invalid or unhandled FORM value: 0x25
- does anyone use jazzer to fuzz on android binder service
- RESTler API Fuzzing Add Authentication Bearer token
- missing afl-gcc even after installing af++
- Compiling CUPS with AFL++ instrumentation: "relocation R_X86_64_32 against ... can not be used when making a PIE object; recompile with -fPIE"
- How to apply C++ fuzzing test on function that has nested Google protobuf arguments?
- AFL++ Patch out of range
- QEMU-AFL: follow fork() into child
- AFL++ (time out or crash)
- Issue running the RESTler image from docker hub (proc/1/stat error related)
Related Questions in PYDBG
- pydbg - failed setting breakpoint at
- can't import pydbg
- Python winappdbg getting process name from event object
- Pydbg dump memory from VirtualAlloc
- pydbg 64 bit enumerate_processes() returning empty list
- Pydbg response xml, how to log it like xdebug?
- pydbg thread refuses to print log information
- Parse PDB Symbol and Resolve Address
- Using Debugger how to get child process's PID from Parent
- Is there any debugger library which can attach to process? (C#)
- hook file creation in python
- I want to see the dlls that are hooked to any process using python. Is it possible by pdb?
- PyDBG process restore doesn't work
- Thread-Switching in PyDbg
- Opening files with Pydbg while application is running
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It's been a while since I've worked with the process monitor, but here's my advice:
Sulley had several procmon bugs when I used it. I submitted two patches here:
These bug fixes may be related to your issue (hard to tell with Sulley's architecture). I would give them a try. The fixes are already applied on my fork, or you can manually apply them in your own fork.
It sounds like the procmon is not reporting the crash properly. I distinctly remember this issue, but can't recall if the fixes mentioned above resolve it. If you do try to get it working, the key method is
ProcessMonitorPedrpcServer.post_send.If you want to report more crash details, try writing them into
self.last_synopsis. SeeProcessMonitorPedrpcServer.get_crash_synopsis.Happy fuzzing!