cisagov / CHIRP

A DFIR tool written in Python.
Creative Commons Zero v1.0 Universal
1.04k stars 91 forks source link

Remove "Press any key to exit" / make runtime fully non-interactive #20

Closed BlueToast closed 3 years ago

BlueToast commented 3 years ago

💡 Summary

Remove the "Press any key to exit" interactive prompt that occurs / add parameter to make the runtime of the EXE fully non-interactive.

[08:22:51] [+] DONE! Your results can be found in D:\output. Press any key to exit. common.py:104

Motivation and context

Why does this work belong in this project?

This would be useful because it would vastly increase the scope of audience that is able to consume this tool. RMM tools used by MSPs do not cope with programs that require keyboard input, have interactive prompts, and and have GUI-based pop-ups. If you want this tool to be used by the world, the tool must be able to run from 0 to 100 without stopping for input.

Implementation notes

Just remove any keyboard inputs OR add a parameter switch, i.e. "chirp.exe" -noprompt, to suppress all input prompts.

Acceptance criteria

How do we know when this work is done?

When "chirp.exe" can be executed without having to "press any key to exit" and it finishes running on its own (self-terminates/process end).

DeemOnSecurity commented 3 years ago

This can be worked around by running echo "" | .\chirp.exe, but we can implement a switch to do this.

DASCert commented 3 years ago

In v1.0.2, the "any" key appears to be the [Enter] key only.

DeemOnSecurity commented 3 years ago

In v1.0.2, the "any" key appears to be the [Enter] key only.

Ah, this appears to be correct as we use the input function to hold the terminal. input expects some text input then [Enter] to submit said input. We can change the verbiage in our next version to "press [Enter] to exit" or perhaps add an [Any] key to our keyboards.