In order to improve cmd.exe's test, we need to generate arbitrary binary files. There's already a hack in tests to generate from test executable some binary that will be lated used by the tests in .cmd file. That's not neati: this spreads tests across three different spots (batch input, batch output, binary file generator). We introduced the @\x??@ sequence in .cmd tests. Even if this supports most of the wanted BYTE:s, it doesn't work with EOF, \r and ctrl-Z (as they are always interpreted in ECHO command) (we can work around \n even it's ugly). After various testings, it looks like adding hex decoding to certutil is the decent solution: - it's supported on all Windows versions from the testbot VM, - it's rather straightforward to use (if you keep tests simple and short, which a good idea anyway). Even if our certutil implementation is empty, we have preliminary material from bcryp32 that shall provide the correct implementation. So this MR: - adds the -decodehex command to programs/certutil, - make use of it in order to generate existing binary test file inside the .cmd file. Pending MR!8920 will also make use of it. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8947