functionshoot() external {require(isGoal(),"missed");/// @dev use "the hand of god" trick (bool success,bytesmemory data) = player.delegatecall(abi.encodeWithSignature("handOfGod()"));require(success,"missed");require(uint256(bytes32(data)) ==22_06_1986); }
Returning 22_06_1986 is easy. Updating goals to 2 via delegatecall is also a simple task.
The first require can be bypassed by storing all code in the constructor. The second require is about bruteforcing create2() salt but it is a very simple bruteforce. Note that the probability of xmod100≡10 is 1001 if we are bruteforcing x.