Giter Site home page Giter Site logo

procmon-parser's People

Contributors

eronnen avatar kraktus avatar neitsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

procmon-parser's Issues

load_configuration or loads_configuration

I tested both on Python2.7 and Python3.8, used sample code in Readme.md:
config = loads_configuration(f.read()) works fine, but config = load_configuration(f.read()) returns empty dict.
Please check it out.

"dump_configuration" and "load_configuration" error when filter rules more than 256.

I try to dump a config with 283 filter rules. It raise exception:

FormatFieldError
Error in path (building) -> None -> data -> None -> rules_count
struct '<B' error during building, given value 283
struct.error: ubyte format requires 0 <= number <= 255

Then ,I dump a config with 253 filter rules to a file, import config file in procmon, add 10 filter rules , export config to new file ,and try to load config from the new config file. It raise exception:

ConstError
Error in path (parsing) -> None -> record_header_size
parsing expected 16 but parsed 0

System environment: Windows 10, python 3.7.9, procmon-parser 0.3.12

Show when files are deleted

Hi @eronnen,

I was wondering if it would be possible to parse the PML file and show when a file is being deleted for SetDispositionInformationFile and SetDispositionInformationEx operations. When a file is deleted, ProcMon shows “Delete: True” in the Detail column.

I attempted to locate where the Detail value (True/False) could be stored by looking at both read_event and get_filesystem_event_details, however I was unsuccessful in identifying common values between these events in the test PML files I generated. Do you have any ideas on how it may be storing this information?

Make stacktrace human readable

Readable stack traces

Use the PDB files of the modules to turn the list of stack trace addresses into a list of symbols and offsets.

Need to figure out what information from the format is needed for this. Currently, the only relevant information I can think of that the parser knows is the modules load addresses and sizes.

error when adding pid-is-include rules

Adding pid-is-include rules through Rule('pid', 'is', str(pid), 'include') will have no effect.
The rule item does appears in the procmon filter view, but it just have no effect.
Manually adding pid-is-include rule and export configuration and diff with previous one, there is a small difference: the manually added pmc file have two bytes of pid integer, and the corresponding two bytes in previsou one is just zero.
Please check it out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.