diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/commands/ucp.txt | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/npc/commands/ucp.txt b/npc/commands/ucp.txt index 2010b2db2..58d873522 100644 --- a/npc/commands/ucp.txt +++ b/npc/commands/ucp.txt @@ -17,6 +17,7 @@ function script UserCtrlPanel { l("Game News"), l("Account Information"), l("Change Language"), + rif(is_admin() && $@GM_OVERRIDE, l("LoF Merge")), l("Quit"); switch (@menu) @@ -64,7 +65,42 @@ function script UserCtrlPanel { next; break; case 4: asklanguage(LANG_IN_SHIP); break; - case 5: close; break; + case 5: + mesn "Jesusalva"; + mesq l("What do you think you are doing, anyway?!"); + next; + mesc l("LoF Username:"); + input .@userid$; + mesc l("LoF Password:"); + input .@passid$; + next; + mesc l("Imagine I'm now blacklisting you for a hour with a #VARIABLE. Maybe 3 weekly attempts."); + mesc l("Now imagine I just did a SQL query to fetch your account password and salt."); + mesc l("For now, I'll assume your salt is... 9, why not."); + next; + .@pid$=md5(.@passid$); + .@slt$=md5("9"); + + .@buf$=.@pid$+.@slt$; + + // TmwA Dark Magic is needed + // See src/generic/md5.cpp and src/high/md5more.cpp + // Remember to move crappy stuff like this to a blackbox + + + // One final move + .@passwd$=md5(.@buf$); + + // For check we can use compare(.@passwd$, "<real password>") + + + mesc l("Now, your hash might be @@.", .@passwd$); + .@userid$="";.@passid$=""; + mesc l("Of course, this is only some random md5 functions for fun."); + mesc l("Actually, this fails without tmwa dark magic."); + mesc l("User account safety is at stake, too, so I'll move this crap to a blackbox once done."); + break; + case 6: close; break; } } while (1); } |