Hello,
Can anyone explain how the fingerprint/signature system works for mods?
A friend tried to explain it to me, but from what I understand, the implementation seems very insecure. I probably don't understand it correctly. I searched, but I couldn't find any documentation on how this system works either.
It seems like the mod jar gets signed and the signature gets added to the @Mod annotation, which is somehow interpreted and compiled into the class file through the magic of Java annotations. Then, when the mod jar is loaded by Forge, if the signature is invalid, Forge sends an event to the mod, and the mod decides for itself how to handle the invalid signature state.
If that's correct, then what's to stop an attacker (who's say, trying to insert a trojan into my mod) from just deleting the invalid signature event handler and the signature check value from the jar entirely?
Thanks,
Cuchaz