Don't know how I missed this one! This was fun, it's been a while since I've done substitution ciphers. The 'true' ending was a little frustrating, but I think I like it in the end. I'm not a programmer, so something went over my head (maybe I missed the unlock that explains it). Why does a slightly large, but not really large, integer cause the overflow that helps you?
Also: poor Frank. ;)