And: I do not "GET PASSWORDS" for anybody. Don't even ask.
The AOL Instant Messenger program (under Windows, at least) can save the user passwords to obviate the need for the user typing that password every time. It's saved in the registry in an obscured form, and we have decoded the obscuring algorithm and embodied it in perl code.
Quick Links
Under Win32, it's in the registry. Under the key:
is a subkey for the user name (say, billgates), and under that is a string value Login\Password.HKEY_CURRENT_USER\ Software\ America Online\ AOL Instant Messenger (TM)\ CurrentVersion\ Users\
The Linux client stores the encoded password
under each user's home directory in a file
Both use the same algorithm save for the Windows practice of prepending
two 0xFF hex bytes to the string: they don't seem to participate
in the encoding.
The password found in the registry (see the next section) is mostly ASCII,
but there seem to always be to 0xFF hex bytes at the start: they don't
seem to actually participate in the decoding and serve only as a placeholder.
The rest of the characters are always in the 16-character alphabet
ABCDEFGHIJKLMNOP. The first step is always to translate these into
the "usual" hex characters, so
Password Decoding Algorithm
ABCDEFGHIJKLMNOP - encoding alphabetNow we're left with pairs of hex bytes that represent individual characters in the user's password, and it's an error if the input string contains anything other than the encoding alphabet A..P.
0123456789ABCDEF - represents...
Next, each byte is XOR'd with a fixed pattern to yield the "true" output character, and the 16-byte hash sequence is:
We don't know what the limit is on AOL IM passwords is, but in our implementation we recycle the hash sequence if the input runs past 16 characters. Whether this is valid or not is unknown.0x42, 0x84, 0x08, 0x10, 0x21, 0x42, 0x85, 0x0B, 0x17, 0x2E, 0x5D, 0xBA, 0x74, 0xE8, 0xD0, 0xA1
$ aimpass --encode=hello ENCODE {hello} -> {CKOBGEHMEO} $ aimpass --decode=CKOBGEHMEO DECODE {CKOBGEHMEO} -> {hello}
Under WinNT/Win2000, we use the excellent ActiveState perl (www.activestate.com), and by
putting the aimpass.p in your normal search path (say, C:\BIN),
it can be run just like a native NT command.
The aimpass software is written in perl and comes in two parts,
but for easy distribution on the web we've combined them as mentioned
above. It's built from aimpass (the main driver) and aimpass.pm
(the actual password decoder), and they can easily be separated should
you care to use the modules separately.
Download
Elcom Software has a commercial
Advanced IM Password Recovery
product that may help you with this.
Bugs & TODO List
Navigate: More Tools