As I explained in blog post VBA Purging, VBA code contained in Module Streams is made up of compiled code (PerformanceCache) and source code (CompressedSourceCode).
If you alter the compiled code (PerformanceCache) properly and leave the source code (CompressedSourceCode) of a signed VBA project untouched, you can change the behavior of a signed document without invalidating the signature. That’s because the code signing algorithm for VBA projects does not take the PerformanceCache into account.
Details in my NVISO blog post: Tampering with Digitally Signed VBA Projects
[…] Tampering With Digitally Signed VBA Projects […]
Pingback by Week 28 – 2020 – This Week In 4n6 — Sunday 12 July 2020 @ 12:59