JonTheNiceGuy
Joined: 22 Apr 2004 Posts: 18 Location: Manchester, UK
|
Posted: Wed Jul 14, 2004 2:10 pm Post subject: Breaking down a password to component parts... |
|
|
I receive a log file daily of new accounts created with a random password string.
I wrote this script to break down each character of that password, but for some reason, it keeps missing a couple of the characters. Now, I understand why when it's part of the script, that it would process the curly brackets ({) as a "Send a single key" statement, however how do I stop it from interpreting it?
Do I have to get the ascii value of each character and use that to create the Send statement? If so, how do I do it?
Here's my script and underneath it is the result from one of these passwords (since changed)
| Code: |
Send, Password: %Password%{enter}{enter}
Send, As this contains several unusual characters, the password has been spelt out using phonetics or descriptions of symbols:{enter}{enter}
StringCaseSense, On
loop, parse, Password
{
Send, (%A_LoopField%) -
IfEqual,A_LoopField, A ,Send,Uppercase a for Alpha
IfEqual,A_LoopField, B ,Send,Uppercase b for Bravo
IfEqual,A_LoopField, C ,Send,Uppercase c for Charlie
IfEqual,A_LoopField, D ,Send,Uppercase d for Delta
IfEqual,A_LoopField, E ,Send,Uppercase e for Echo
IfEqual,A_LoopField, F ,Send,Uppercase f for Foxtrot
IfEqual,A_LoopField, G ,Send,Uppercase g for Golf
IfEqual,A_LoopField, H ,Send,Uppercase h for Hotel
IfEqual,A_LoopField, I ,Send,Uppercase i for India
IfEqual,A_LoopField, J ,Send,Uppercase j for Juliette
IfEqual,A_LoopField, K ,Send,Uppercase k for Kilo
IfEqual,A_LoopField, L ,Send,Uppercase l for Lima
IfEqual,A_LoopField, M ,Send,Uppercase m for Mike
IfEqual,A_LoopField, N ,Send,Uppercase n for November
IfEqual,A_LoopField, O ,Send,Uppercase o for Oscar
IfEqual,A_LoopField, P ,Send,Uppercase p for Papa
IfEqual,A_LoopField, Q ,Send,Uppercase q for Qubec
IfEqual,A_LoopField, R ,Send,Uppercase r for Romeo
IfEqual,A_LoopField, S ,Send,Uppercase s for Sierra
IfEqual,A_LoopField, T ,Send,Uppercase t for Tango
IfEqual,A_LoopField, U ,Send,Uppercase u for Uniform
IfEqual,A_LoopField, V ,Send,Uppercase v for Victor
IfEqual,A_LoopField, W ,Send,Uppercase w for Whiskey
IfEqual,A_LoopField, X ,Send,Uppercase x for X-Ray
IfEqual,A_LoopField, Y ,Send,Uppercase y for Yankee
IfEqual,A_LoopField, Z ,Send,Uppercase z for Zulu
IfEqual,A_LoopField, a ,Send,Lowercase a for Alpha
IfEqual,A_LoopField, b ,Send,Lowercase b for Bravo
IfEqual,A_LoopField, c ,Send,Lowercase c for Charlie
IfEqual,A_LoopField, d ,Send,Lowercase d for Delta
IfEqual,A_LoopField, e ,Send,Lowercase e for Echo
IfEqual,A_LoopField, f ,Send,Lowercase f for Foxtrot
IfEqual,A_LoopField, g ,Send,Lowercase g for Golf
IfEqual,A_LoopField, h ,Send,Lowercase h for Hotel
IfEqual,A_LoopField, i ,Send,Lowercase i for India
IfEqual,A_LoopField, j ,Send,Lowercase j for Juliette
IfEqual,A_LoopField, k ,Send,Lowercase k for Kilo
IfEqual,A_LoopField, l ,Send,Lowercase l for Lima
IfEqual,A_LoopField, m ,Send,Lowercase m for Mike
IfEqual,A_LoopField, n ,Send,Lowercase n for November
IfEqual,A_LoopField, o ,Send,Lowercase o for Oscar
IfEqual,A_LoopField, o ,Send,Lowercase p for Papa
IfEqual,A_LoopField, q ,Send,Lowercase q for Qubec
IfEqual,A_LoopField, r ,Send,Lowercase r for Romeo
IfEqual,A_LoopField, s ,Send,Lowercase s for Sierra
IfEqual,A_LoopField, t ,Send,Lowercase t for Tango
IfEqual,A_LoopField, u ,Send,Lowercase u for Uniform
IfEqual,A_LoopField, v ,Send,Lowercase v for Victor
IfEqual,A_LoopField, w ,Send,Lowercase w for Whiskey
IfEqual,A_LoopField, x ,Send,Lowercase x for X-Ray
IfEqual,A_LoopField, y ,Send,Lowercase y for Yankee
IfEqual,A_LoopField, z ,Send,Lowercase z for Zulu
IfEqual,A_LoopField, 1 ,Send,Number One
IfEqual,A_LoopField, 2 ,Send,Number Two
IfEqual,A_LoopField, 3 ,Send,Number Three
IfEqual,A_LoopField, 4 ,Send,Number Four
IfEqual,A_LoopField, 5 ,Send,Number Five
IfEqual,A_LoopField, 6 ,Send,Number Six
IfEqual,A_LoopField, 7 ,Send,Number Seven
IfEqual,A_LoopField, 8 ,Send,Number Eight
IfEqual,A_LoopField, 9 ,Send,Number Nine
IfEqual,A_LoopField, 0 ,Send,Number Zero
IfEqual,A_LoopField, ! ,Send, Exclamation Mark - usually located over the number 1
IfEqual,A_LoopField, " ,Send, Double Quotes - usually located over the number 2
IfEqual,A_LoopField, £ ,Send, Pound Sign - usually located over the number 3
IfEqual,A_LoopField, $ ,Send, Dollar Symbol - usually located over the number 4
IfEqual,A_LoopField, `% ,Send, Percent Symbol - usually located over the number 5
IfEqual,A_LoopField, ^ ,Send, Carret Symbol - usually located over the number 6
IfEqual,A_LoopField, & ,Send, Ampersand Symbol - usually located over the number 7
IfEqual,A_LoopField, * ,Send, Star Symbol - usually located over the number 8
IfEqual,A_LoopField, ( ,Send, Open Bracket - usually located over the number 9
IfEqual,A_LoopField, ) ,Send, Close Bracket - usually located over the number 0
IfEqual,A_LoopField, _ ,Send, Underscore Symbol - usually located over the minus symbol
IfEqual,A_LoopField, + ,Send, Plus Symbol - usually located over the equals symbol
IfEqual,A_LoopField, [ ,Send, Left Square Bracket - usually located to the right of the letter P
IfEqual,A_LoopField, { ,Send, Left Curled Bracket - hold down the shift key and press the key usually located to the right of the letter P
IfEqual,A_LoopField, ] ,Send, Right Square Bracket - usually located two keys to the right of the letter P
IfEqual,A_LoopField, } ,Send, Right Curled Bracket - hold down the shift key and press the key two keys to the right of the letter P
IfEqual,A_LoopField, `: ,Send, Colon - usually located to the right of the letter L
IfEqual,A_LoopField, `; ,Send, Semi Colon - hold down the shift key and press the key usually located to the right of the letter L
IfEqual,A_LoopField, @ ,Send, At Symbol - hold down the shift key and press the key usually located two keys to the right of the letter L
IfEqual,A_LoopField, ' ,Send, Appostrophy - usually located two keys to the right of the letter L
IfEqual,A_LoopField, ~ ,Send, Tilde or Cedilla - hold down the shift key and press the key usually located three keys to the right of the letter L
IfEqual,A_LoopField, `# ,Send, Hash`, Pound or Checkerboard Symbol - usually located three keys to the right of the letter L
IfEqual,A_LoopField, `, ,Send, Comma
IfEqual,A_LoopField, < ,Send, Left Chevron
IfEqual,A_LoopField, . ,Send, Full Stop
IfEqual,A_LoopField, > ,Send, Right Chevron
IfEqual,A_LoopField, \ ,Send, Back Strike or Backslash - usually located to the left of the letter Z
IfEqual,A_LoopField, | ,Send, Pipe or Bar - Hold down the shift key and press the key usually located to the left of the letter Z
IfEqual,A_LoopField, / ,Send, Forward Strike or Slash - usually located three keys to the right of the letter M
IfEqual,A_LoopField, ? ,Send, Pipe or Bar - Hold down the shift key and press the key usually located three keys to the right of the letter M
Send, {enter}
}
StringCaseSense, Off
|
| Quote: | M<b3:35b
As this contains several unusual characters, the password has been spelt out using phonetics or descriptions of symbols:
(M) -Uppercase m for Mike
(<) -Left Chevron
(b) -Lowercase b for Bravo
(3) -Number Three
(:) -Colon - usually located to the right of the letter L
(3) -Number Three
(5) -Number Five
() -Left Curled Bracket - hold down the shift key and press the key usually located to the right of the letter P
(f) -Lowercase f for Foxtrot
(;) -Semi Colon - hold down the shift key and press the key usually located to the right of the letter L
( -Carret Symbol - usually located over the number 6
(1) -Number One
|
Oh yes, and the initial password it returns, if it contains a curly bracket - it sends a confused response. Is there an "Implicit" or "Do Not Interpret" code I can use here at all?
And for those who are wondering why the character's aren't where yours are normally... this is a UK keyboard layout :)
Jon |
|