b undertake cause permit or authorise the modification creation of derivative works or improvements translation reverse engineering decompiling disassembling decryption emulation hacking discovery or attempted discovery of the source code or protocols of the software or any part or features thereof except to the extent permitted by law