Here's what I did:
I simply renamed the wp-admin directory to some obscure name pfgkn for example.
going to http://your-domain.com/wp-admin/
http://your-domain.com/wp-admin/ redirects you to your home page at http://your-domain.com/
http://your-domain.com/ or whatever else your 404 not found redirects to.
When I need to login - I just rename the pfgkn directory to wp-admin, make my changes and then rename it back to pfgkn.