Comrades, please tell me what commands are sent to display the status and so on when a message appears in the terminal:
[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

I would like to reassign the keys on the keyboard in order to conveniently manage the process, but I can not understand what exactly is passed to the console window to execute the command, not exactly the letter S. thank You
how do you want to hit the keys ? with something else than your fingers ? (e.g. a wrapper script)

I would suggest to use


or alternative a different structure/format:
(02-24-2020, 08:19 PM)philsmd Wrote: with something else than your fingers ? (e.g. a wrapper script)
Yes, that's right, I would like to use some scripts that will click these buttons themselves. If when you press the S or Q key, the normal machine code from Windows is passed, for example, for the S key it is &H53, then I think there should be no problems
You would need to explain exactly what your end goal is such that somebody in here can explain if this would make sense and if it would work. Why would you need to fake pressing some keys in the first place ?
Hashcat is distributed as a library libhashcat see src/Makefile , all the architecture of hashcat is basically just designed in a way that the hashcat binary itself basically makes use of the "library", it essentially incorporates the libhashcat library. Maybe it would make sense (in very specific cases) to just make use of this libhashcat library, instead of building a wrapper around it.

We had several similar questions in the past and users tried very hard to build wrappers around it (to be fair, at that time the library architecture didn't exist yet): e.g.

The "problem" is that the input is in a certain mode, i.e. you don't need to press the enter key after for instance hitting
"s" and the mode also only expects and accepts one single character (only s, or only q, or only c, ...).
It was explained here and is working similar to this:

Of course, this has nothing to do with what characters you sent to hashcat, but how you provide the input and which modes you active/use in your wrapper.

Again, I wouldn't really use this interactive wrapper strategy (because the way hashcat deals with input etc might change in the future etc), but I would suggest to use the --status and safetly kill/exit the "subprocess" or as explained above use the way it was intended to be used: as a library (Instead of a black box).