The ctx-provided SHA256 compression tests check that the probe was called and the output differs. For functions that hash several values, this passes as soon as any one of them goes through the caller's ctx, so it can't detect another value silently using the default compression.
This PR lets DEFINE_SHA256_TRANSFORM_PROBE perturb a single chosen block (_target) and count blocks (_blocks). A target of 0 keeps the previous behavior, so existing tests are unchanged. For multi-hash functions, the tests now perturb only the last block and pin the number of blocks: if any value bypassed the ctx, fewer blocks would be hashed and the output would not change.
Also, optional inputs (aux_rand32, the musig nonce inputs) are now passed so that all hashing paths run.
The idea comes from @apoelstra in https://github.com/BlockstreamResearch/secp256k1-zkp/pull/374#issuecomment-5777732309.
silentpayments is not covered here: its ctx test is being added in #1940, which is still open. sender_create_outputs (input hash and output tweak) is a good candidate for a follow-up once it's merged.