googleprojectzero / TinyInst

A lightweight dynamic instrumentation library
Apache License 2.0
1.18k stars 119 forks source link

Add Support Functions for Fuzzing Attached Processes and Fix a False Hang issue in attached processes #61

Open parikhakshat opened 2 years ago

parikhakshat commented 2 years ago

To add support to Jackalope for fuzzing attached processes, I needed to add a helper function FindProcessId to common.cpp. The second issue I found was in the function DebugLoop. When getting coverage by attaching to a running process, the DebugLoop would always report a hang because the running process wouldn't exit. For many running processes, the program does not exit event after a testcase is sent to it, so this would result in false hangs (Ex. fuzzing a mail server).

google-cla[bot] commented 2 years ago

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

parikhakshat commented 2 years ago

Sorry about the problems with the file structure of the repository. I was trying to commit my edits to the files and I instead uploaded the file to the repository in the incorrect location. Let me know how these edits looks and then I'll start working on fixing the Jackalope implementation.

parikhakshat commented 2 years ago

I think I fixed all the code here. I added a new commit on the Jackalope repository that moves most of the code needed for fuzzing to that repository.

parikhakshat commented 2 years ago

I just pushed a commit that removed this variable. Let me know how the rest of the edits are. Thanks!

ifratric commented 2 years ago

Cool, thanks! I think TinyInst side looks good now, except you could also completely revert changes to debugger.h and debugger.cpp as the only changes there are to the spacing. I'll take a look at Jackalope side soon. I won't merge the TinyInst PR right now, but rather when they are both ready to be merged.