There is no way you can patch Crypto.sign. (or it would be bloody dumb)
Why do u think so?
Let's say you have leaking tap.
Patching Crypto.sign is like putting bucket under the tap instead of fixing the tap itself...
Public source code contains such comment:
/* Signature generation primitive, calculates (x-h)s mod q
* v [out] signature value
* h [in] signature hash (of message, signature pub key, and context data)
* x [in] signature private key
* s [in] private key for signing
* returns true on success, false on failure (use different x or h)
*/
Why don't u want to use different
x?