Commit 04b118c26c22dc845be1c8f34566673873dd48b6

Authored by decalage2
1 parent 622d9a2b

updated plugin_biff to v0.0.22, fixes #647, fixes #674

oletools/olevba.py
... ... @@ -235,7 +235,7 @@ from __future__ import print_function
235 235 # for issue #619)
236 236 # 2021-04-14 PL: - added detection of Workbook_BeforeClose (issue #518)
237 237  
238   -__version__ = '0.56.2.dev1'
  238 +__version__ = '0.56.2.dev2'
239 239  
240 240 #------------------------------------------------------------------------------
241 241 # TODO:
... ...
oletools/thirdparty/oledump/plugin_biff.py
... ... @@ -2,8 +2,8 @@
2 2  
3 3 __description__ = 'BIFF plugin for oledump.py'
4 4 __author__ = 'Didier Stevens'
5   -__version__ = '0.0.17'
6   -__date__ = '2020/07/17'
  5 +__version__ = '0.0.22'
  6 +__date__ = '2021/02/23'
7 7  
8 8 # Slightly modified version by Philippe Lagadec to be imported into olevba
9 9  
... ... @@ -44,9 +44,17 @@ History:
44 44 2020/05/22: 0.0.15 Python 3 fix STRING record 0x207
45 45 2020/05/26: 0.0.16 added logic for reserved bits in BOUNDSHEET
46 46 2020/07/17: 0.0.17 added option --statistics
47   -
  47 + 2020/10/03: 0.0.18 improved FILEPASS record handling
  48 + 2020/12/03: 0.0.19 added detection of BIFF5/BIFF7 and FILEPASS record parsing
  49 + 2020/12/19: 0.0.20 added FILEPASS XOR Obfuscation password cracking (option -w)
  50 + 2021/02/06: 0.0.21 added option --hexrecord, added option -D
  51 + 2021/02/07: added key extraction for XOR obfuscation
  52 + 2021/02/09: added recordsNotXORObfuscated
  53 + 2021/02/21: 0.0.22 bug fix
  54 + 2021/02/23: added PASSWORD record cracking
48 55  
49 56 Todo:
  57 + updated parsing of records for BIFF5 record format
50 58 """
51 59  
52 60 import struct
... ... @@ -1194,6 +1202,8 @@ def ParseExpression(expression, definesNames, sheetNames, cellrefformat):
1194 1202 stringValue = P23Decode(expression[:length*2])
1195 1203 result += '"%s" ' % stringValue
1196 1204 expression = expression[length*2:]
  1205 + else:
  1206 + stringValue = '<ERROR>'
1197 1207 stack.append('"' + stringValue + '"')
1198 1208 elif ptgid == 0x19:
1199 1209 grbit = P23Ord(expression[0])
... ... @@ -1314,13 +1324,3619 @@ def DecodeRKValue(data):
1314 1324 else:
1315 1325 return struct.unpack('<d', b'\x00\x00\x00\x00' + data)[0] / divider
1316 1326  
1317   -def ShortXLUnicodeString(data):
  1327 +def ShortXLUnicodeString(data, isBIFF8):
1318 1328 cch = P23Ord(data[0])
1319   - highbyte = P23Ord(data[1])
1320   - if highbyte == 0:
1321   - return P23Decode(data[2:2 + cch])
  1329 + if isBIFF8:
  1330 + highbyte = P23Ord(data[1])
  1331 + if highbyte == 0:
  1332 + return P23Decode(data[2:2 + cch])
  1333 + else:
  1334 + return repr(data[2:2 + cch * 2])
  1335 + else:
  1336 + return P23Decode(data[1:1 + cch])
  1337 +
  1338 +def GetDictionary(passwordfile):
  1339 + if passwordfile != '.':
  1340 + return File2Strings(passwordfile)
  1341 + else:
  1342 +# https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/run/password.lst
  1343 + return [
  1344 + 'infected',
  1345 + 'P@ssw0rd',
  1346 + 'VelvetSweatshop',
  1347 + '123456',
  1348 + '12345',
  1349 + 'password',
  1350 + 'password1',
  1351 + '123456789',
  1352 + '12345678',
  1353 + '1234567890',
  1354 + 'abc123',
  1355 + 'computer',
  1356 + 'tigger',
  1357 + '1234',
  1358 + 'qwerty',
  1359 + 'money',
  1360 + 'carmen',
  1361 + 'mickey',
  1362 + 'secret',
  1363 + 'summer',
  1364 + 'internet',
  1365 + 'a1b2c3',
  1366 + '123',
  1367 + 'service',
  1368 + 'canada',
  1369 + 'hello',
  1370 + 'ranger',
  1371 + 'shadow',
  1372 + 'baseball',
  1373 + 'donald',
  1374 + 'harley',
  1375 + 'hockey',
  1376 + 'letmein',
  1377 + 'maggie',
  1378 + 'mike',
  1379 + 'mustang',
  1380 + 'snoopy',
  1381 + 'buster',
  1382 + 'dragon',
  1383 + 'jordan',
  1384 + 'michael',
  1385 + 'michelle',
  1386 + 'mindy',
  1387 + 'patrick',
  1388 + '123abc',
  1389 + 'andrew',
  1390 + 'bear',
  1391 + 'calvin',
  1392 + 'changeme',
  1393 + 'diamond',
  1394 + 'fuckme',
  1395 + 'fuckyou',
  1396 + 'matthew',
  1397 + 'miller',
  1398 + 'tiger',
  1399 + 'trustno1',
  1400 + 'alex',
  1401 + 'apple',
  1402 + 'avalon',
  1403 + 'brandy',
  1404 + 'chelsea',
  1405 + 'coffee',
  1406 + 'falcon',
  1407 + 'freedom',
  1408 + 'gandalf',
  1409 + 'green',
  1410 + 'helpme',
  1411 + 'linda',
  1412 + 'magic',
  1413 + 'merlin',
  1414 + 'newyork',
  1415 + 'soccer',
  1416 + 'thomas',
  1417 + 'wizard',
  1418 + 'asdfgh',
  1419 + 'bandit',
  1420 + 'batman',
  1421 + 'boris',
  1422 + 'butthead',
  1423 + 'dorothy',
  1424 + 'eeyore',
  1425 + 'fishing',
  1426 + 'football',
  1427 + 'george',
  1428 + 'happy',
  1429 + 'iloveyou',
  1430 + 'jennifer',
  1431 + 'jonathan',
  1432 + 'love',
  1433 + 'marina',
  1434 + 'master',
  1435 + 'missy',
  1436 + 'monday',
  1437 + 'monkey',
  1438 + 'natasha',
  1439 + 'ncc1701',
  1440 + 'pamela',
  1441 + 'pepper',
  1442 + 'piglet',
  1443 + 'poohbear',
  1444 + 'pookie',
  1445 + 'rabbit',
  1446 + 'rachel',
  1447 + 'rocket',
  1448 + 'rose',
  1449 + 'smile',
  1450 + 'sparky',
  1451 + 'spring',
  1452 + 'steven',
  1453 + 'success',
  1454 + 'sunshine',
  1455 + 'victoria',
  1456 + 'whatever',
  1457 + 'zapata',
  1458 + '8675309',
  1459 + 'amanda',
  1460 + 'andy',
  1461 + 'angel',
  1462 + 'august',
  1463 + 'barney',
  1464 + 'biteme',
  1465 + 'boomer',
  1466 + 'brian',
  1467 + 'casey',
  1468 + 'cowboy',
  1469 + 'delta',
  1470 + 'doctor',
  1471 + 'fisher',
  1472 + 'island',
  1473 + 'john',
  1474 + 'joshua',
  1475 + 'karen',
  1476 + 'marley',
  1477 + 'orange',
  1478 + 'please',
  1479 + 'rascal',
  1480 + 'richard',
  1481 + 'sarah',
  1482 + 'scooter',
  1483 + 'shalom',
  1484 + 'silver',
  1485 + 'skippy',
  1486 + 'stanley',
  1487 + 'taylor',
  1488 + 'welcome',
  1489 + 'zephyr',
  1490 + '111111',
  1491 + 'aaaaaa',
  1492 + 'access',
  1493 + 'albert',
  1494 + 'alexander',
  1495 + 'andrea',
  1496 + 'anna',
  1497 + 'anthony',
  1498 + 'asdfjkl;',
  1499 + 'ashley',
  1500 + 'basketball',
  1501 + 'beavis',
  1502 + 'black',
  1503 + 'bob',
  1504 + 'booboo',
  1505 + 'bradley',
  1506 + 'brandon',
  1507 + 'buddy',
  1508 + 'caitlin',
  1509 + 'camaro',
  1510 + 'charlie',
  1511 + 'chicken',
  1512 + 'chris',
  1513 + 'cindy',
  1514 + 'cricket',
  1515 + 'dakota',
  1516 + 'dallas',
  1517 + 'daniel',
  1518 + 'david',
  1519 + 'debbie',
  1520 + 'dolphin',
  1521 + 'elephant',
  1522 + 'emily',
  1523 + 'friend',
  1524 + 'fucker',
  1525 + 'ginger',
  1526 + 'goodluck',
  1527 + 'hammer',
  1528 + 'heather',
  1529 + 'iceman',
  1530 + 'jason',
  1531 + 'jessica',
  1532 + 'jesus',
  1533 + 'joseph',
  1534 + 'jupiter',
  1535 + 'justin',
  1536 + 'kevin',
  1537 + 'knight',
  1538 + 'lacrosse',
  1539 + 'lakers',
  1540 + 'lizard',
  1541 + 'madison',
  1542 + 'mary',
  1543 + 'mother',
  1544 + 'muffin',
  1545 + 'murphy',
  1546 + 'nirvana',
  1547 + 'paris',
  1548 + 'pentium',
  1549 + 'phoenix',
  1550 + 'picture',
  1551 + 'rainbow',
  1552 + 'sandy',
  1553 + 'saturn',
  1554 + 'scott',
  1555 + 'shannon',
  1556 + 'shithead',
  1557 + 'skeeter',
  1558 + 'sophie',
  1559 + 'special',
  1560 + 'stephanie',
  1561 + 'stephen',
  1562 + 'steve',
  1563 + 'sweetie',
  1564 + 'teacher',
  1565 + 'tennis',
  1566 + 'test',
  1567 + 'test123',
  1568 + 'tommy',
  1569 + 'topgun',
  1570 + 'tristan',
  1571 + 'wally',
  1572 + 'william',
  1573 + 'wilson',
  1574 + '1q2w3e',
  1575 + '654321',
  1576 + '666666',
  1577 + 'a12345',
  1578 + 'a1b2c3d4',
  1579 + 'alpha',
  1580 + 'amber',
  1581 + 'angela',
  1582 + 'angie',
  1583 + 'archie',
  1584 + 'asdf',
  1585 + 'blazer',
  1586 + 'bond007',
  1587 + 'booger',
  1588 + 'charles',
  1589 + 'christin',
  1590 + 'claire',
  1591 + 'control',
  1592 + 'danny',
  1593 + 'david1',
  1594 + 'dennis',
  1595 + 'digital',
  1596 + 'disney',
  1597 + 'edward',
  1598 + 'elvis',
  1599 + 'felix',
  1600 + 'flipper',
  1601 + 'franklin',
  1602 + 'frodo',
  1603 + 'honda',
  1604 + 'horses',
  1605 + 'hunter',
  1606 + 'indigo',
  1607 + 'james',
  1608 + 'jasper',
  1609 + 'jeremy',
  1610 + 'julian',
  1611 + 'kelsey',
  1612 + 'killer',
  1613 + 'lauren',
  1614 + 'marie',
  1615 + 'maryjane',
  1616 + 'matrix',
  1617 + 'maverick',
  1618 + 'mayday',
  1619 + 'mercury',
  1620 + 'mitchell',
  1621 + 'morgan',
  1622 + 'mountain',
  1623 + 'niners',
  1624 + 'nothing',
  1625 + 'oliver',
  1626 + 'peace',
  1627 + 'peanut',
  1628 + 'pearljam',
  1629 + 'phantom',
  1630 + 'popcorn',
  1631 + 'princess',
  1632 + 'psycho',
  1633 + 'pumpkin',
  1634 + 'purple',
  1635 + 'randy',
  1636 + 'rebecca',
  1637 + 'reddog',
  1638 + 'robert',
  1639 + 'rocky',
  1640 + 'roses',
  1641 + 'salmon',
  1642 + 'samson',
  1643 + 'sharon',
  1644 + 'sierra',
  1645 + 'smokey',
  1646 + 'startrek',
  1647 + 'steelers',
  1648 + 'stimpy',
  1649 + 'sunflower',
  1650 + 'superman',
  1651 + 'support',
  1652 + 'sydney',
  1653 + 'techno',
  1654 + 'walter',
  1655 + 'willie',
  1656 + 'willow',
  1657 + 'winner',
  1658 + 'ziggy',
  1659 + 'zxcvbnm',
  1660 + 'alaska',
  1661 + 'alexis',
  1662 + 'alice',
  1663 + 'animal',
  1664 + 'apples',
  1665 + 'barbara',
  1666 + 'benjamin',
  1667 + 'billy',
  1668 + 'blue',
  1669 + 'bluebird',
  1670 + 'bobby',
  1671 + 'bonnie',
  1672 + 'bubba',
  1673 + 'camera',
  1674 + 'chocolate',
  1675 + 'clark',
  1676 + 'claudia',
  1677 + 'cocacola',
  1678 + 'compton',
  1679 + 'connect',
  1680 + 'cookie',
  1681 + 'cruise',
  1682 + 'douglas',
  1683 + 'dreamer',
  1684 + 'dreams',
  1685 + 'duckie',
  1686 + 'eagles',
  1687 + 'eddie',
  1688 + 'einstein',
  1689 + 'enter',
  1690 + 'explorer',
  1691 + 'faith',
  1692 + 'family',
  1693 + 'ferrari',
  1694 + 'flamingo',
  1695 + 'flower',
  1696 + 'foxtrot',
  1697 + 'francis',
  1698 + 'freddy',
  1699 + 'friday',
  1700 + 'froggy',
  1701 + 'giants',
  1702 + 'gizmo',
  1703 + 'global',
  1704 + 'goofy',
  1705 + 'happy1',
  1706 + 'hendrix',
  1707 + 'henry',
  1708 + 'herman',
  1709 + 'homer',
  1710 + 'honey',
  1711 + 'house',
  1712 + 'houston',
  1713 + 'iguana',
  1714 + 'indiana',
  1715 + 'insane',
  1716 + 'inside',
  1717 + 'irish',
  1718 + 'ironman',
  1719 + 'jake',
  1720 + 'jasmin',
  1721 + 'jeanne',
  1722 + 'jerry',
  1723 + 'joey',
  1724 + 'justice',
  1725 + 'katherine',
  1726 + 'kermit',
  1727 + 'kitty',
  1728 + 'koala',
  1729 + 'larry',
  1730 + 'leslie',
  1731 + 'logan',
  1732 + 'lucky',
  1733 + 'mark',
  1734 + 'martin',
  1735 + 'matt',
  1736 + 'minnie',
  1737 + 'misty',
  1738 + 'mitch',
  1739 + 'mouse',
  1740 + 'nancy',
  1741 + 'nascar',
  1742 + 'nelson',
  1743 + 'pantera',
  1744 + 'parker',
  1745 + 'penguin',
  1746 + 'peter',
  1747 + 'piano',
  1748 + 'pizza',
  1749 + 'prince',
  1750 + 'punkin',
  1751 + 'pyramid',
  1752 + 'raymond',
  1753 + 'robin',
  1754 + 'roger',
  1755 + 'rosebud',
  1756 + 'route66',
  1757 + 'royal',
  1758 + 'running',
  1759 + 'sadie',
  1760 + 'sasha',
  1761 + 'security',
  1762 + 'sheena',
  1763 + 'sheila',
  1764 + 'skiing',
  1765 + 'snapple',
  1766 + 'snowball',
  1767 + 'sparrow',
  1768 + 'spencer',
  1769 + 'spike',
  1770 + 'star',
  1771 + 'stealth',
  1772 + 'student',
  1773 + 'sunny',
  1774 + 'sylvia',
  1775 + 'tamara',
  1776 + 'taurus',
  1777 + 'teresa',
  1778 + 'theresa',
  1779 + 'thunderbird',
  1780 + 'tigers',
  1781 + 'tony',
  1782 + 'toyota',
  1783 + 'travel',
  1784 + 'tuesday',
  1785 + 'victory',
  1786 + 'viper1',
  1787 + 'wesley',
  1788 + 'whisky',
  1789 + 'winnie',
  1790 + 'winter',
  1791 + 'wolves',
  1792 + 'xyz123',
  1793 + 'zorro',
  1794 + '123123',
  1795 + '1234567',
  1796 + '696969',
  1797 + '888888',
  1798 + 'Anthony',
  1799 + 'Joshua',
  1800 + 'Matthew',
  1801 + 'Tigger',
  1802 + 'aaron',
  1803 + 'abby',
  1804 + 'abcdef',
  1805 + 'adidas',
  1806 + 'adrian',
  1807 + 'alfred',
  1808 + 'arthur',
  1809 + 'athena',
  1810 + 'austin',
  1811 + 'awesome',
  1812 + 'badger',
  1813 + 'bamboo',
  1814 + 'beagle',
  1815 + 'bears',
  1816 + 'beatles',
  1817 + 'beautiful',
  1818 + 'beaver',
  1819 + 'benny',
  1820 + 'bigmac',
  1821 + 'bingo',
  1822 + 'bitch',
  1823 + 'blonde',
  1824 + 'boogie',
  1825 + 'boston',
  1826 + 'brenda',
  1827 + 'bright',
  1828 + 'bubba1',
  1829 + 'bubbles',
  1830 + 'buffy',
  1831 + 'button',
  1832 + 'buttons',
  1833 + 'cactus',
  1834 + 'candy',
  1835 + 'captain',
  1836 + 'carlos',
  1837 + 'caroline',
  1838 + 'carrie',
  1839 + 'casper',
  1840 + 'catch22',
  1841 + 'chance',
  1842 + 'charity',
  1843 + 'charlotte',
  1844 + 'cheese',
  1845 + 'cheryl',
  1846 + 'chloe',
  1847 + 'chris1',
  1848 + 'clancy',
  1849 + 'compaq',
  1850 + 'conrad',
  1851 + 'cooper',
  1852 + 'cooter',
  1853 + 'copper',
  1854 + 'cosmos',
  1855 + 'cougar',
  1856 + 'cracker',
  1857 + 'crawford',
  1858 + 'crystal',
  1859 + 'curtis',
  1860 + 'cyclone',
  1861 + 'dance',
  1862 + 'diablo',
  1863 + 'dollars',
  1864 + 'dookie',
  1865 + 'dumbass',
  1866 + 'dundee',
  1867 + 'elizabeth',
  1868 + 'eric',
  1869 + 'europe',
  1870 + 'farmer',
  1871 + 'firebird',
  1872 + 'fletcher',
  1873 + 'fluffy',
  1874 + 'france',
  1875 + 'freak1',
  1876 + 'friends',
  1877 + 'fuckoff',
  1878 + 'gabriel',
  1879 + 'galaxy',
  1880 + 'gambit',
  1881 + 'garden',
  1882 + 'garfield',
  1883 + 'garnet',
  1884 + 'genesis',
  1885 + 'genius',
  1886 + 'godzilla',
  1887 + 'golfer',
  1888 + 'goober',
  1889 + 'grace',
  1890 + 'greenday',
  1891 + 'groovy',
  1892 + 'grover',
  1893 + 'guitar',
  1894 + 'hacker',
  1895 + 'harry',
  1896 + 'hazel',
  1897 + 'hector',
  1898 + 'herbert',
  1899 + 'horizon',
  1900 + 'hornet',
  1901 + 'howard',
  1902 + 'icecream',
  1903 + 'imagine',
  1904 + 'impala',
  1905 + 'jack',
  1906 + 'janice',
  1907 + 'jasmine',
  1908 + 'jason1',
  1909 + 'jeanette',
  1910 + 'jeffrey',
  1911 + 'jenifer',
  1912 + 'jenni',
  1913 + 'jesus1',
  1914 + 'jewels',
  1915 + 'joker',
  1916 + 'julie',
  1917 + 'julie1',
  1918 + 'junior',
  1919 + 'justin1',
  1920 + 'kathleen',
  1921 + 'keith',
  1922 + 'kelly',
  1923 + 'kelly1',
  1924 + 'kennedy',
  1925 + 'kevin1',
  1926 + 'knicks',
  1927 + 'larry1',
  1928 + 'leonard',
  1929 + 'lestat',
  1930 + 'library',
  1931 + 'lincoln',
  1932 + 'lionking',
  1933 + 'london',
  1934 + 'louise',
  1935 + 'lucky1',
  1936 + 'lucy',
  1937 + 'maddog',
  1938 + 'margaret',
  1939 + 'mariposa',
  1940 + 'marlboro',
  1941 + 'martin1',
  1942 + 'marty',
  1943 + 'master1',
  1944 + 'mensuck',
  1945 + 'mercedes',
  1946 + 'metal',
  1947 + 'midori',
  1948 + 'mikey',
  1949 + 'millie',
  1950 + 'mirage',
  1951 + 'molly',
  1952 + 'monet',
  1953 + 'money1',
  1954 + 'monica',
  1955 + 'monopoly',
  1956 + 'mookie',
  1957 + 'moose',
  1958 + 'moroni',
  1959 + 'music',
  1960 + 'naomi',
  1961 + 'nathan',
  1962 + 'nguyen',
  1963 + 'nicholas',
  1964 + 'nicole',
  1965 + 'nimrod',
  1966 + 'october',
  1967 + 'olive',
  1968 + 'olivia',
  1969 + 'online',
  1970 + 'oscar',
  1971 + 'oxford',
  1972 + 'pacific',
  1973 + 'painter',
  1974 + 'peaches',
  1975 + 'penelope',
  1976 + 'pepsi',
  1977 + 'petunia',
  1978 + 'philip',
  1979 + 'phoenix1',
  1980 + 'photo',
  1981 + 'pickle',
  1982 + 'player',
  1983 + 'poiuyt',
  1984 + 'porsche',
  1985 + 'porter',
  1986 + 'puppy',
  1987 + 'python',
  1988 + 'quality',
  1989 + 'raquel',
  1990 + 'raven',
  1991 + 'remember',
  1992 + 'robbie',
  1993 + 'robert1',
  1994 + 'roman',
  1995 + 'rugby',
  1996 + 'runner',
  1997 + 'russell',
  1998 + 'ryan',
  1999 + 'sailing',
  2000 + 'sailor',
  2001 + 'samantha',
  2002 + 'savage',
  2003 + 'scarlett',
  2004 + 'school',
  2005 + 'sean',
  2006 + 'seven',
  2007 + 'shadow1',
  2008 + 'sheba',
  2009 + 'shelby',
  2010 + 'shit',
  2011 + 'shoes',
  2012 + 'simba',
  2013 + 'simple',
  2014 + 'skipper',
  2015 + 'smiley',
  2016 + 'snake',
  2017 + 'snickers',
  2018 + 'sniper',
  2019 + 'snoopdog',
  2020 + 'snowman',
  2021 + 'sonic',
  2022 + 'spitfire',
  2023 + 'sprite',
  2024 + 'spunky',
  2025 + 'starwars',
  2026 + 'station',
  2027 + 'stella',
  2028 + 'stingray',
  2029 + 'storm',
  2030 + 'stormy',
  2031 + 'stupid',
  2032 + 'sunny1',
  2033 + 'sunrise',
  2034 + 'surfer',
  2035 + 'susan',
  2036 + 'tammy',
  2037 + 'tango',
  2038 + 'tanya',
  2039 + 'teddy1',
  2040 + 'theboss',
  2041 + 'theking',
  2042 + 'thumper',
  2043 + 'tina',
  2044 + 'tintin',
  2045 + 'tomcat',
  2046 + 'trebor',
  2047 + 'trevor',
  2048 + 'tweety',
  2049 + 'unicorn',
  2050 + 'valentine',
  2051 + 'valerie',
  2052 + 'vanilla',
  2053 + 'veronica',
  2054 + 'victor',
  2055 + 'vincent',
  2056 + 'viper',
  2057 + 'warrior',
  2058 + 'warriors',
  2059 + 'weasel',
  2060 + 'wheels',
  2061 + 'wilbur',
  2062 + 'winston',
  2063 + 'wisdom',
  2064 + 'wombat',
  2065 + 'xavier',
  2066 + 'yellow',
  2067 + 'zeppelin',
  2068 + '1111',
  2069 + '1212',
  2070 + 'Andrew',
  2071 + 'Family',
  2072 + 'Friends',
  2073 + 'Michael',
  2074 + 'Michelle',
  2075 + 'Snoopy',
  2076 + 'abcd1234',
  2077 + 'abcdefg',
  2078 + 'abigail',
  2079 + 'account',
  2080 + 'adam',
  2081 + 'alex1',
  2082 + 'alice1',
  2083 + 'allison',
  2084 + 'alpine',
  2085 + 'andre1',
  2086 + 'andrea1',
  2087 + 'angel1',
  2088 + 'anita',
  2089 + 'annette',
  2090 + 'antares',
  2091 + 'apache',
  2092 + 'apollo',
  2093 + 'aragorn',
  2094 + 'arizona',
  2095 + 'arnold',
  2096 + 'arsenal',
  2097 + 'asdfasdf',
  2098 + 'asdfg',
  2099 + 'asdfghjk',
  2100 + 'avenger',
  2101 + 'baby',
  2102 + 'babydoll',
  2103 + 'bailey',
  2104 + 'banana',
  2105 + 'barry',
  2106 + 'basket',
  2107 + 'batman1',
  2108 + 'beaner',
  2109 + 'beast',
  2110 + 'beatrice',
  2111 + 'bella',
  2112 + 'bertha',
  2113 + 'bigben',
  2114 + 'bigdog',
  2115 + 'biggles',
  2116 + 'bigman',
  2117 + 'binky',
  2118 + 'biology',
  2119 + 'bishop',
  2120 + 'blondie',
  2121 + 'bluefish',
  2122 + 'bobcat',
  2123 + 'bosco',
  2124 + 'braves',
  2125 + 'brazil',
  2126 + 'bruce',
  2127 + 'bruno',
  2128 + 'brutus',
  2129 + 'buffalo',
  2130 + 'bulldog',
  2131 + 'bullet',
  2132 + 'bullshit',
  2133 + 'bunny',
  2134 + 'business',
  2135 + 'butch',
  2136 + 'butler',
  2137 + 'butter',
  2138 + 'california',
  2139 + 'carebear',
  2140 + 'carol',
  2141 + 'carol1',
  2142 + 'carole',
  2143 + 'cassie',
  2144 + 'castle',
  2145 + 'catalina',
  2146 + 'catherine',
  2147 + 'cccccc',
  2148 + 'celine',
  2149 + 'center',
  2150 + 'champion',
  2151 + 'chanel',
  2152 + 'chaos',
  2153 + 'chelsea1',
  2154 + 'chester1',
  2155 + 'chicago',
  2156 + 'chico',
  2157 + 'christian',
  2158 + 'christy',
  2159 + 'church',
  2160 + 'cinder',
  2161 + 'colleen',
  2162 + 'colorado',
  2163 + 'columbia',
  2164 + 'commander',
  2165 + 'connie',
  2166 + 'cookies',
  2167 + 'cooking',
  2168 + 'corona',
  2169 + 'cowboys',
  2170 + 'coyote',
  2171 + 'craig',
  2172 + 'creative',
  2173 + 'cuddles',
  2174 + 'cuervo',
  2175 + 'cutie',
  2176 + 'daddy',
  2177 + 'daisy',
  2178 + 'daniel1',
  2179 + 'danielle',
  2180 + 'davids',
  2181 + 'death',
  2182 + 'denis',
  2183 + 'derek',
  2184 + 'design',
  2185 + 'destiny',
  2186 + 'diana',
  2187 + 'diane',
  2188 + 'dickhead',
  2189 + 'digger',
  2190 + 'dodger',
  2191 + 'donna',
  2192 + 'dougie',
  2193 + 'dragonfly',
  2194 + 'dylan',
  2195 + 'eagle',
  2196 + 'eclipse',
  2197 + 'electric',
  2198 + 'emerald',
  2199 + 'etoile',
  2200 + 'excalibur',
  2201 + 'express',
  2202 + 'fender',
  2203 + 'fiona',
  2204 + 'fireman',
  2205 + 'flash',
  2206 + 'florida',
  2207 + 'flowers',
  2208 + 'foster',
  2209 + 'francesco',
  2210 + 'francine',
  2211 + 'francois',
  2212 + 'frank',
  2213 + 'french',
  2214 + 'fuckface',
  2215 + 'gemini',
  2216 + 'general',
  2217 + 'gerald',
  2218 + 'germany',
  2219 + 'gilbert',
  2220 + 'goaway',
  2221 + 'golden',
  2222 + 'goldfish',
  2223 + 'goose',
  2224 + 'gordon',
  2225 + 'graham',
  2226 + 'grant',
  2227 + 'gregory',
  2228 + 'gretchen',
  2229 + 'gunner',
  2230 + 'hannah',
  2231 + 'harold',
  2232 + 'harrison',
  2233 + 'harvey',
  2234 + 'hawkeye',
  2235 + 'heaven',
  2236 + 'heidi',
  2237 + 'helen',
  2238 + 'helena',
  2239 + 'hithere',
  2240 + 'hobbit',
  2241 + 'ibanez',
  2242 + 'idontknow',
  2243 + 'integra',
  2244 + 'ireland',
  2245 + 'irene',
  2246 + 'isaac',
  2247 + 'isabel',
  2248 + 'jackass',
  2249 + 'jackie',
  2250 + 'jackson',
  2251 + 'jaguar',
  2252 + 'jamaica',
  2253 + 'japan',
  2254 + 'jenny1',
  2255 + 'jessie',
  2256 + 'johan',
  2257 + 'johnny',
  2258 + 'joker1',
  2259 + 'jordan23',
  2260 + 'judith',
  2261 + 'julia',
  2262 + 'jumanji',
  2263 + 'kangaroo',
  2264 + 'karen1',
  2265 + 'kathy',
  2266 + 'keepout',
  2267 + 'keith1',
  2268 + 'kenneth',
  2269 + 'kimberly',
  2270 + 'kingdom',
  2271 + 'kitkat',
  2272 + 'kramer',
  2273 + 'kristen',
  2274 + 'laura',
  2275 + 'laurie',
  2276 + 'lawrence',
  2277 + 'lawyer',
  2278 + 'legend',
  2279 + 'liberty',
  2280 + 'light',
  2281 + 'lindsay',
  2282 + 'lindsey',
  2283 + 'lisa',
  2284 + 'liverpool',
  2285 + 'lola',
  2286 + 'lonely',
  2287 + 'louis',
  2288 + 'lovely',
  2289 + 'loveme',
  2290 + 'lucas',
  2291 + 'madonna',
  2292 + 'malcolm',
  2293 + 'malibu',
  2294 + 'marathon',
  2295 + 'marcel',
  2296 + 'maria1',
  2297 + 'mariah',
  2298 + 'mariah1',
  2299 + 'marilyn',
  2300 + 'mario',
  2301 + 'marvin',
  2302 + 'maurice',
  2303 + 'maxine',
  2304 + 'maxwell',
  2305 + 'me',
  2306 + 'meggie',
  2307 + 'melanie',
  2308 + 'melissa',
  2309 + 'melody',
  2310 + 'mexico',
  2311 + 'michael1',
  2312 + 'michele',
  2313 + 'midnight',
  2314 + 'mike1',
  2315 + 'miracle',
  2316 + 'misha',
  2317 + 'mishka',
  2318 + 'molly1',
  2319 + 'monique',
  2320 + 'montreal',
  2321 + 'moocow',
  2322 + 'moore',
  2323 + 'morris',
  2324 + 'mouse1',
  2325 + 'mulder',
  2326 + 'nautica',
  2327 + 'nellie',
  2328 + 'newton',
  2329 + 'nick',
  2330 + 'nirvana1',
  2331 + 'nissan',
  2332 + 'norman',
  2333 + 'notebook',
  2334 + 'ocean',
  2335 + 'olivier',
  2336 + 'ollie',
  2337 + 'oranges',
  2338 + 'oregon',
  2339 + 'orion',
  2340 + 'panda',
  2341 + 'pandora',
  2342 + 'panther',
  2343 + 'passion',
  2344 + 'patricia',
  2345 + 'pearl',
  2346 + 'peewee',
  2347 + 'pencil',
  2348 + 'penny',
  2349 + 'people',
  2350 + 'percy',
  2351 + 'person',
  2352 + 'peter1',
  2353 + 'petey',
  2354 + 'picasso',
  2355 + 'pierre',
  2356 + 'pinkfloyd',
  2357 + 'polaris',
  2358 + 'police',
  2359 + 'pookie1',
  2360 + 'poppy',
  2361 + 'power',
  2362 + 'predator',
  2363 + 'preston',
  2364 + 'q1w2e3',
  2365 + 'queen',
  2366 + 'queenie',
  2367 + 'quentin',
  2368 + 'ralph',
  2369 + 'random',
  2370 + 'rangers',
  2371 + 'raptor',
  2372 + 'reality',
  2373 + 'redrum',
  2374 + 'remote',
  2375 + 'reynolds',
  2376 + 'rhonda',
  2377 + 'ricardo',
  2378 + 'ricardo1',
  2379 + 'ricky',
  2380 + 'river',
  2381 + 'roadrunner',
  2382 + 'robinhood',
  2383 + 'rocknroll',
  2384 + 'rocky1',
  2385 + 'ronald',
  2386 + 'roxy',
  2387 + 'ruthie',
  2388 + 'sabrina',
  2389 + 'sakura',
  2390 + 'sally',
  2391 + 'sampson',
  2392 + 'samuel',
  2393 + 'sandra',
  2394 + 'santa',
  2395 + 'sapphire',
  2396 + 'scarlet',
  2397 + 'scorpio',
  2398 + 'scott1',
  2399 + 'scottie',
  2400 + 'scruffy',
  2401 + 'seattle',
  2402 + 'serena',
  2403 + 'shanti',
  2404 + 'shark',
  2405 + 'shogun',
  2406 + 'simon',
  2407 + 'singer',
  2408 + 'skull',
  2409 + 'skywalker',
  2410 + 'slacker',
  2411 + 'smashing',
  2412 + 'smiles',
  2413 + 'snowflake',
  2414 + 'snuffy',
  2415 + 'soccer1',
  2416 + 'soleil',
  2417 + 'sonny',
  2418 + 'spanky',
  2419 + 'speedy',
  2420 + 'spider',
  2421 + 'spooky',
  2422 + 'stacey',
  2423 + 'star69',
  2424 + 'start',
  2425 + 'steven1',
  2426 + 'stinky',
  2427 + 'strawberry',
  2428 + 'stuart',
  2429 + 'sugar',
  2430 + 'sundance',
  2431 + 'superfly',
  2432 + 'suzanne',
  2433 + 'suzuki',
  2434 + 'swimmer',
  2435 + 'swimming',
  2436 + 'system',
  2437 + 'taffy',
  2438 + 'tarzan',
  2439 + 'teddy',
  2440 + 'teddybear',
  2441 + 'terry',
  2442 + 'theatre',
  2443 + 'thunder',
  2444 + 'thursday',
  2445 + 'tinker',
  2446 + 'tootsie',
  2447 + 'tornado',
  2448 + 'tracy',
  2449 + 'tricia',
  2450 + 'trident',
  2451 + 'trojan',
  2452 + 'truman',
  2453 + 'trumpet',
  2454 + 'tucker',
  2455 + 'turtle',
  2456 + 'tyler',
  2457 + 'utopia',
  2458 + 'voyager',
  2459 + 'warcraft',
  2460 + 'warlock',
  2461 + 'warren',
  2462 + 'water',
  2463 + 'wayne',
  2464 + 'wendy',
  2465 + 'williams',
  2466 + 'willy',
  2467 + 'winona',
  2468 + 'woody',
  2469 + 'woofwoof',
  2470 + 'wrangler',
  2471 + 'wright',
  2472 + 'xfiles',
  2473 + 'xxxxxx',
  2474 + 'yankees',
  2475 + 'yvonne',
  2476 + 'zebra',
  2477 + 'zenith',
  2478 + 'zigzag',
  2479 + 'zombie',
  2480 + 'zxc123',
  2481 + 'zxcvb',
  2482 + '000000',
  2483 + '007007',
  2484 + '11111',
  2485 + '11111111',
  2486 + '123321',
  2487 + '171717',
  2488 + '181818',
  2489 + '1a2b3c',
  2490 + '1chris',
  2491 + '4runner',
  2492 + '54321',
  2493 + '55555',
  2494 + '6969',
  2495 + '7777777',
  2496 + '789456',
  2497 + '88888888',
  2498 + 'Alexis',
  2499 + 'Bailey',
  2500 + 'Charlie',
  2501 + 'Chris',
  2502 + 'Daniel',
  2503 + 'Dragon',
  2504 + 'Elizabeth',
  2505 + 'HARLEY',
  2506 + 'Heather',
  2507 + 'Jennifer',
  2508 + 'Jessica',
  2509 + 'Jordan',
  2510 + 'KILLER',
  2511 + 'Nicholas',
  2512 + 'Password',
  2513 + 'Princess',
  2514 + 'Purple',
  2515 + 'Rebecca',
  2516 + 'Robert',
  2517 + 'Shadow',
  2518 + 'Steven',
  2519 + 'Summer',
  2520 + 'Sunshine',
  2521 + 'Superman',
  2522 + 'Taylor',
  2523 + 'Thomas',
  2524 + 'Victoria',
  2525 + 'abcd123',
  2526 + 'abcde',
  2527 + 'accord',
  2528 + 'active',
  2529 + 'africa',
  2530 + 'airborne',
  2531 + 'alfaro',
  2532 + 'alicia',
  2533 + 'aliens',
  2534 + 'alina',
  2535 + 'aline',
  2536 + 'alison',
  2537 + 'allen',
  2538 + 'aloha',
  2539 + 'alpha1',
  2540 + 'althea',
  2541 + 'altima',
  2542 + 'amanda1',
  2543 + 'amazing',
  2544 + 'america',
  2545 + 'amour',
  2546 + 'anderson',
  2547 + 'andre',
  2548 + 'andrew1',
  2549 + 'andromeda',
  2550 + 'angels',
  2551 + 'angie1',
  2552 + 'annie',
  2553 + 'anything',
  2554 + 'apple1',
  2555 + 'apple2',
  2556 + 'applepie',
  2557 + 'april',
  2558 + 'aquarius',
  2559 + 'ariane',
  2560 + 'ariel',
  2561 + 'arlene',
  2562 + 'artemis',
  2563 + 'asdf1234',
  2564 + 'asdfjkl',
  2565 + 'ashley1',
  2566 + 'ashraf',
  2567 + 'ashton',
  2568 + 'asterix',
  2569 + 'attila',
  2570 + 'autumn',
  2571 + 'avatar',
  2572 + 'babes',
  2573 + 'bambi',
  2574 + 'barbie',
  2575 + 'barney1',
  2576 + 'barrett',
  2577 + 'bball',
  2578 + 'beaches',
  2579 + 'beanie',
  2580 + 'beans',
  2581 + 'beauty',
  2582 + 'becca',
  2583 + 'belize',
  2584 + 'belle',
  2585 + 'belmont',
  2586 + 'benji',
  2587 + 'benson',
  2588 + 'bernardo',
  2589 + 'berry',
  2590 + 'betsy',
  2591 + 'betty',
  2592 + 'bigboss',
  2593 + 'bigred',
  2594 + 'billy1',
  2595 + 'birdie',
  2596 + 'birthday',
  2597 + 'biscuit',
  2598 + 'bitter',
  2599 + 'blackjack',
  2600 + 'blah',
  2601 + 'blanche',
  2602 + 'blood',
  2603 + 'blowjob',
  2604 + 'blowme',
  2605 + 'blueeyes',
  2606 + 'blues',
  2607 + 'bogart',
  2608 + 'bombay',
  2609 + 'boobie',
  2610 + 'boots',
  2611 + 'bootsie',
  2612 + 'boxers',
  2613 + 'brandi',
  2614 + 'brent',
  2615 + 'brewster',
  2616 + 'bridge',
  2617 + 'bronco',
  2618 + 'bronte',
  2619 + 'brooke',
  2620 + 'brother',
  2621 + 'bryan',
  2622 + 'bubble',
  2623 + 'buddha',
  2624 + 'budgie',
  2625 + 'burton',
  2626 + 'butterfly',
  2627 + 'byron',
  2628 + 'calendar',
  2629 + 'calvin1',
  2630 + 'camel',
  2631 + 'camille',
  2632 + 'campbell',
  2633 + 'camping',
  2634 + 'cancer',
  2635 + 'canela',
  2636 + 'cannon',
  2637 + 'carbon',
  2638 + 'carnage',
  2639 + 'carolyn',
  2640 + 'carrot',
  2641 + 'cascade',
  2642 + 'catfish',
  2643 + 'cathy',
  2644 + 'catwoman',
  2645 + 'cecile',
  2646 + 'celica',
  2647 + 'change',
  2648 + 'chantal',
  2649 + 'charger',
  2650 + 'cherry',
  2651 + 'chiara',
  2652 + 'chiefs',
  2653 + 'china',
  2654 + 'chris123',
  2655 + 'christ1',
  2656 + 'christmas',
  2657 + 'christopher',
  2658 + 'chuck',
  2659 + 'cindy1',
  2660 + 'cinema',
  2661 + 'civic',
  2662 + 'claude',
  2663 + 'clueless',
  2664 + 'cobain',
  2665 + 'cobra',
  2666 + 'cody',
  2667 + 'colette',
  2668 + 'college',
  2669 + 'colors',
  2670 + 'colt45',
  2671 + 'confused',
  2672 + 'cool',
  2673 + 'corvette',
  2674 + 'cosmo',
  2675 + 'country',
  2676 + 'crusader',
  2677 + 'cunningham',
  2678 + 'cupcake',
  2679 + 'cynthia',
  2680 + 'dagger',
  2681 + 'dammit',
  2682 + 'dancer',
  2683 + 'daphne',
  2684 + 'darkstar',
  2685 + 'darren',
  2686 + 'darryl',
  2687 + 'darwin',
  2688 + 'deborah',
  2689 + 'december',
  2690 + 'deedee',
  2691 + 'deeznuts',
  2692 + 'delano',
  2693 + 'delete',
  2694 + 'demon',
  2695 + 'denise',
  2696 + 'denny',
  2697 + 'desert',
  2698 + 'deskjet',
  2699 + 'detroit',
  2700 + 'devil',
  2701 + 'devine',
  2702 + 'devon',
  2703 + 'dexter',
  2704 + 'dianne',
  2705 + 'diesel',
  2706 + 'director',
  2707 + 'dixie',
  2708 + 'dodgers',
  2709 + 'doggy',
  2710 + 'dollar',
  2711 + 'dolly',
  2712 + 'dominique',
  2713 + 'domino',
  2714 + 'dontknow',
  2715 + 'doogie',
  2716 + 'doudou',
  2717 + 'downtown',
  2718 + 'dragon1',
  2719 + 'driver',
  2720 + 'dude',
  2721 + 'dudley',
  2722 + 'dutchess',
  2723 + 'dwight',
  2724 + 'eagle1',
  2725 + 'easter',
  2726 + 'eastern',
  2727 + 'edith',
  2728 + 'edmund',
  2729 + 'eight',
  2730 + 'element',
  2731 + 'elissa',
  2732 + 'ellen',
  2733 + 'elliot',
  2734 + 'empire',
  2735 + 'enigma',
  2736 + 'enterprise',
  2737 + 'erin',
  2738 + 'escort',
  2739 + 'estelle',
  2740 + 'eugene',
  2741 + 'evelyn',
  2742 + 'explore',
  2743 + 'family1',
  2744 + 'fatboy',
  2745 + 'felipe',
  2746 + 'ferguson',
  2747 + 'ferret',
  2748 + 'ferris',
  2749 + 'fireball',
  2750 + 'fishes',
  2751 + 'fishie',
  2752 + 'flight',
  2753 + 'florida1',
  2754 + 'flowerpot',
  2755 + 'forward',
  2756 + 'freddie',
  2757 + 'freebird',
  2758 + 'freeman',
  2759 + 'frisco',
  2760 + 'fritz',
  2761 + 'froggie',
  2762 + 'froggies',
  2763 + 'frogs',
  2764 + 'fucku',
  2765 + 'future',
  2766 + 'gabby',
  2767 + 'games',
  2768 + 'garcia',
  2769 + 'gaston',
  2770 + 'gateway',
  2771 + 'george1',
  2772 + 'georgia',
  2773 + 'german',
  2774 + 'germany1',
  2775 + 'getout',
  2776 + 'ghost',
  2777 + 'gibson',
  2778 + 'giselle',
  2779 + 'gmoney',
  2780 + 'goblin',
  2781 + 'goblue',
  2782 + 'gollum',
  2783 + 'grandma',
  2784 + 'gremlin',
  2785 + 'grizzly',
  2786 + 'grumpy',
  2787 + 'guess',
  2788 + 'guitar1',
  2789 + 'gustavo',
  2790 + 'haggis',
  2791 + 'haha',
  2792 + 'hailey',
  2793 + 'halloween',
  2794 + 'hamilton',
  2795 + 'hamlet',
  2796 + 'hanna',
  2797 + 'hanson',
  2798 + 'happy123',
  2799 + 'happyday',
  2800 + 'hardcore',
  2801 + 'harley1',
  2802 + 'harriet',
  2803 + 'harris',
  2804 + 'harvard',
  2805 + 'health',
  2806 + 'heart',
  2807 + 'heather1',
  2808 + 'heather2',
  2809 + 'hedgehog',
  2810 + 'helene',
  2811 + 'hello1',
  2812 + 'hello123',
  2813 + 'hellohello',
  2814 + 'hermes',
  2815 + 'heythere',
  2816 + 'highland',
  2817 + 'hilda',
  2818 + 'hillary',
  2819 + 'history',
  2820 + 'hitler',
  2821 + 'hobbes',
  2822 + 'holiday',
  2823 + 'holly',
  2824 + 'honda1',
  2825 + 'hongkong',
  2826 + 'hootie',
  2827 + 'horse',
  2828 + 'hotrod',
  2829 + 'hudson',
  2830 + 'hummer',
  2831 + 'huskies',
  2832 + 'idiot',
  2833 + 'iforget',
  2834 + 'iloveu',
  2835 + 'impact',
  2836 + 'indonesia',
  2837 + 'irina',
  2838 + 'isabelle',
  2839 + 'israel',
  2840 + 'italia',
  2841 + 'italy',
  2842 + 'jackie1',
  2843 + 'jacob',
  2844 + 'jakey',
  2845 + 'james1',
  2846 + 'jamesbond',
  2847 + 'jamie',
  2848 + 'jamjam',
  2849 + 'jeffrey1',
  2850 + 'jennie',
  2851 + 'jenny',
  2852 + 'jensen',
  2853 + 'jesse',
  2854 + 'jesse1',
  2855 + 'jester',
  2856 + 'jethro',
  2857 + 'jimbob',
  2858 + 'jimmy',
  2859 + 'joanna',
  2860 + 'joelle',
  2861 + 'john316',
  2862 + 'jordie',
  2863 + 'jorge',
  2864 + 'josh',
  2865 + 'journey',
  2866 + 'joyce',
  2867 + 'jubilee',
  2868 + 'jules',
  2869 + 'julien',
  2870 + 'juliet',
  2871 + 'junebug',
  2872 + 'juniper',
  2873 + 'justdoit',
  2874 + 'karin',
  2875 + 'karine',
  2876 + 'karma',
  2877 + 'katerina',
  2878 + 'katie',
  2879 + 'katie1',
  2880 + 'kayla',
  2881 + 'keeper',
  2882 + 'keller',
  2883 + 'kendall',
  2884 + 'kenny',
  2885 + 'ketchup',
  2886 + 'kings',
  2887 + 'kissme',
  2888 + 'kitten',
  2889 + 'kittycat',
  2890 + 'kkkkkk',
  2891 + 'kristi',
  2892 + 'kristine',
  2893 + 'labtec',
  2894 + 'laddie',
  2895 + 'ladybug',
  2896 + 'lance',
  2897 + 'laurel',
  2898 + 'lawson',
  2899 + 'leader',
  2900 + 'leland',
  2901 + 'lemon',
  2902 + 'lester',
  2903 + 'letter',
  2904 + 'letters',
  2905 + 'lexus1',
  2906 + 'libra',
  2907 + 'lights',
  2908 + 'lionel',
  2909 + 'little',
  2910 + 'lizzy',
  2911 + 'lolita',
  2912 + 'lonestar',
  2913 + 'longhorn',
  2914 + 'looney',
  2915 + 'loren',
  2916 + 'lorna',
  2917 + 'loser',
  2918 + 'lovers',
  2919 + 'loveyou',
  2920 + 'lucia',
  2921 + 'lucifer',
  2922 + 'lucky14',
  2923 + 'maddie',
  2924 + 'madmax',
  2925 + 'magic1',
  2926 + 'magnum',
  2927 + 'maiden',
  2928 + 'maine',
  2929 + 'management',
  2930 + 'manson',
  2931 + 'manuel',
  2932 + 'marcus',
  2933 + 'maria',
  2934 + 'marielle',
  2935 + 'marine',
  2936 + 'marino',
  2937 + 'marshall',
  2938 + 'martha',
  2939 + 'maxmax',
  2940 + 'meatloaf',
  2941 + 'medical',
  2942 + 'megan',
  2943 + 'melina',
  2944 + 'memphis',
  2945 + 'mermaid',
  2946 + 'miami',
  2947 + 'michel',
  2948 + 'michigan',
  2949 + 'mickey1',
  2950 + 'microsoft',
  2951 + 'mikael',
  2952 + 'milano',
  2953 + 'miles',
  2954 + 'millenium',
  2955 + 'million',
  2956 + 'miranda',
  2957 + 'miriam',
  2958 + 'mission',
  2959 + 'mmmmmm',
  2960 + 'mobile',
  2961 + 'monkey1',
  2962 + 'monroe',
  2963 + 'montana',
  2964 + 'monty',
  2965 + 'moomoo',
  2966 + 'moonbeam',
  2967 + 'morpheus',
  2968 + 'motorola',
  2969 + 'movies',
  2970 + 'mozart',
  2971 + 'munchkin',
  2972 + 'murray',
  2973 + 'mustang1',
  2974 + 'nadia',
  2975 + 'nadine',
  2976 + 'napoleon',
  2977 + 'nation',
  2978 + 'national',
  2979 + 'nestle',
  2980 + 'newlife',
  2981 + 'newyork1',
  2982 + 'nichole',
  2983 + 'nikita',
  2984 + 'nikki',
  2985 + 'nintendo',
  2986 + 'nokia',
  2987 + 'nomore',
  2988 + 'normal',
  2989 + 'norton',
  2990 + 'noway',
  2991 + 'nugget',
  2992 + 'number9',
  2993 + 'numbers',
  2994 + 'nurse',
  2995 + 'nutmeg',
  2996 + 'ohshit',
  2997 + 'oicu812',
  2998 + 'omega',
  2999 + 'openup',
  3000 + 'orchid',
  3001 + 'oreo',
  3002 + 'orlando',
  3003 + 'packard',
  3004 + 'packers',
  3005 + 'paloma',
  3006 + 'pancake',
  3007 + 'panic',
  3008 + 'parola',
  3009 + 'parrot',
  3010 + 'partner',
  3011 + 'pascal',
  3012 + 'patches',
  3013 + 'patriots',
  3014 + 'paula',
  3015 + 'pauline',
  3016 + 'payton',
  3017 + 'peach',
  3018 + 'peanuts',
  3019 + 'pedro1',
  3020 + 'peggy',
  3021 + 'perfect',
  3022 + 'perry',
  3023 + 'peterpan',
  3024 + 'philips',
  3025 + 'phillips',
  3026 + 'phone',
  3027 + 'pierce',
  3028 + 'pigeon',
  3029 + 'pink',
  3030 + 'pioneer',
  3031 + 'piper1',
  3032 + 'pirate',
  3033 + 'pisces',
  3034 + 'playboy',
  3035 + 'pluto',
  3036 + 'poetry',
  3037 + 'pontiac',
  3038 + 'pookey',
  3039 + 'popeye',
  3040 + 'prayer',
  3041 + 'precious',
  3042 + 'prelude',
  3043 + 'premier',
  3044 + 'puddin',
  3045 + 'pulsar',
  3046 + 'pussy',
  3047 + 'pussy1',
  3048 + 'qwert',
  3049 + 'qwerty12',
  3050 + 'qwertyui',
  3051 + 'rabbit1',
  3052 + 'rachelle',
  3053 + 'racoon',
  3054 + 'rambo',
  3055 + 'randy1',
  3056 + 'ravens',
  3057 + 'redman',
  3058 + 'redskins',
  3059 + 'reggae',
  3060 + 'reggie',
  3061 + 'renee',
  3062 + 'renegade',
  3063 + 'rescue',
  3064 + 'revolution',
  3065 + 'richard1',
  3066 + 'richards',
  3067 + 'richmond',
  3068 + 'riley',
  3069 + 'ripper',
  3070 + 'robby',
  3071 + 'roberts',
  3072 + 'rock',
  3073 + 'rocket1',
  3074 + 'rockie',
  3075 + 'rockon',
  3076 + 'roger1',
  3077 + 'rogers',
  3078 + 'roland',
  3079 + 'rommel',
  3080 + 'rookie',
  3081 + 'rootbeer',
  3082 + 'rosie',
  3083 + 'rufus',
  3084 + 'rusty',
  3085 + 'ruthless',
  3086 + 'sabbath',
  3087 + 'sabina',
  3088 + 'safety',
  3089 + 'saint',
  3090 + 'samiam',
  3091 + 'sammie',
  3092 + 'sammy',
  3093 + 'samsam',
  3094 + 'sandi',
  3095 + 'sanjose',
  3096 + 'saphire',
  3097 + 'sarah1',
  3098 + 'saskia',
  3099 + 'sassy',
  3100 + 'saturday',
  3101 + 'science',
  3102 + 'scooby',
  3103 + 'scoobydoo',
  3104 + 'scooter1',
  3105 + 'scorpion',
  3106 + 'scotty',
  3107 + 'scouts',
  3108 + 'search',
  3109 + 'september',
  3110 + 'server',
  3111 + 'seven7',
  3112 + 'sexy',
  3113 + 'shaggy',
  3114 + 'shanny',
  3115 + 'shaolin',
  3116 + 'shasta',
  3117 + 'shayne',
  3118 + 'shelly',
  3119 + 'sherry',
  3120 + 'shirley',
  3121 + 'shorty',
  3122 + 'shotgun',
  3123 + 'sidney',
  3124 + 'simba1',
  3125 + 'sinatra',
  3126 + 'sirius',
  3127 + 'skate',
  3128 + 'skipper1',
  3129 + 'skyler',
  3130 + 'slayer',
  3131 + 'sleepy',
  3132 + 'slider',
  3133 + 'smile1',
  3134 + 'smitty',
  3135 + 'smoke',
  3136 + 'snakes',
  3137 + 'snapper',
  3138 + 'snoop',
  3139 + 'solomon',
  3140 + 'sophia',
  3141 + 'space',
  3142 + 'sparks',
  3143 + 'spartan',
  3144 + 'spike1',
  3145 + 'sponge',
  3146 + 'spurs',
  3147 + 'squash',
  3148 + 'stargate',
  3149 + 'starlight',
  3150 + 'stars',
  3151 + 'steph1',
  3152 + 'steve1',
  3153 + 'stevens',
  3154 + 'stewart',
  3155 + 'stone',
  3156 + 'stranger',
  3157 + 'stretch',
  3158 + 'strong',
  3159 + 'studio',
  3160 + 'stumpy',
  3161 + 'sucker',
  3162 + 'suckme',
  3163 + 'sultan',
  3164 + 'summit',
  3165 + 'sunfire',
  3166 + 'sunset',
  3167 + 'super',
  3168 + 'superstar',
  3169 + 'surfing',
  3170 + 'susan1',
  3171 + 'sutton',
  3172 + 'sweden',
  3173 + 'sweetpea',
  3174 + 'sweety',
  3175 + 'swordfish',
  3176 + 'tabatha',
  3177 + 'tacobell',
  3178 + 'taiwan',
  3179 + 'tamtam',
  3180 + 'tanner',
  3181 + 'target',
  3182 + 'tasha',
  3183 + 'tattoo',
  3184 + 'tequila',
  3185 + 'terry1',
  3186 + 'texas',
  3187 + 'thankyou',
  3188 + 'theend',
  3189 + 'thompson',
  3190 + 'thrasher',
  3191 + 'tiger2',
  3192 + 'timber',
  3193 + 'timothy',
  3194 + 'tinkerbell',
  3195 + 'topcat',
  3196 + 'topher',
  3197 + 'toshiba',
  3198 + 'tototo',
  3199 + 'travis',
  3200 + 'treasure',
  3201 + 'trees',
  3202 + 'tricky',
  3203 + 'trish',
  3204 + 'triton',
  3205 + 'trombone',
  3206 + 'trouble',
  3207 + 'trucker',
  3208 + 'turbo',
  3209 + 'twins',
  3210 + 'tyler1',
  3211 + 'ultimate',
  3212 + 'unique',
  3213 + 'united',
  3214 + 'ursula',
  3215 + 'vacation',
  3216 + 'valley',
  3217 + 'vampire',
  3218 + 'vanessa',
  3219 + 'venice',
  3220 + 'venus',
  3221 + 'vermont',
  3222 + 'vicki',
  3223 + 'vicky',
  3224 + 'victor1',
  3225 + 'vincent1',
  3226 + 'violet',
  3227 + 'violin',
  3228 + 'virgil',
  3229 + 'virginia',
  3230 + 'vision',
  3231 + 'volley',
  3232 + 'voodoo',
  3233 + 'vortex',
  3234 + 'waiting',
  3235 + 'wanker',
  3236 + 'warner',
  3237 + 'water1',
  3238 + 'wayne1',
  3239 + 'webster',
  3240 + 'weezer',
  3241 + 'wendy1',
  3242 + 'western',
  3243 + 'white',
  3244 + 'whitney',
  3245 + 'whocares',
  3246 + 'wildcat',
  3247 + 'william1',
  3248 + 'wilma',
  3249 + 'window',
  3250 + 'winniethepooh',
  3251 + 'wolfgang',
  3252 + 'wolverine',
  3253 + 'wonder',
  3254 + 'xxxxxxxx',
  3255 + 'yamaha',
  3256 + 'yankee',
  3257 + 'yogibear',
  3258 + 'yolanda',
  3259 + 'yomama',
  3260 + 'yvette',
  3261 + 'zachary',
  3262 + 'zebras',
  3263 + 'zxcvbn',
  3264 + '00000000',
  3265 + '121212',
  3266 + '1234qwer',
  3267 + '131313',
  3268 + '13579',
  3269 + '90210',
  3270 + '99999999',
  3271 + 'ABC123',
  3272 + 'action',
  3273 + 'amelie',
  3274 + 'anaconda',
  3275 + 'apollo13',
  3276 + 'artist',
  3277 + 'asshole',
  3278 + 'benoit',
  3279 + 'bernard',
  3280 + 'bernie',
  3281 + 'bigbird',
  3282 + 'blizzard',
  3283 + 'bluesky',
  3284 + 'bonjour',
  3285 + 'caesar',
  3286 + 'cardinal',
  3287 + 'carolina',
  3288 + 'cesar',
  3289 + 'chandler',
  3290 + 'chapman',
  3291 + 'charlie1',
  3292 + 'chevy',
  3293 + 'chiquita',
  3294 + 'chocolat',
  3295 + 'coco',
  3296 + 'cougars',
  3297 + 'courtney',
  3298 + 'dolphins',
  3299 + 'dominic',
  3300 + 'donkey',
  3301 + 'dusty',
  3302 + 'eminem',
  3303 + 'energy',
  3304 + 'fearless',
  3305 + 'forest',
  3306 + 'forever',
  3307 + 'glenn',
  3308 + 'guinness',
  3309 + 'hotdog',
  3310 + 'indian',
  3311 + 'jared',
  3312 + 'jimbo',
  3313 + 'johnson',
  3314 + 'jojo',
  3315 + 'josie',
  3316 + 'kristin',
  3317 + 'lloyd',
  3318 + 'lorraine',
  3319 + 'lynn',
  3320 + 'maxime',
  3321 + 'memory',
  3322 + 'mimi',
  3323 + 'mirror',
  3324 + 'nebraska',
  3325 + 'nemesis',
  3326 + 'network',
  3327 + 'nigel',
  3328 + 'oatmeal',
  3329 + 'patton',
  3330 + 'pedro',
  3331 + 'planet',
  3332 + 'players',
  3333 + 'portland',
  3334 + 'praise',
  3335 + 'psalms',
  3336 + 'qwaszx',
  3337 + 'raiders',
  3338 + 'rambo1',
  3339 + 'rancid',
  3340 + 'shawn',
  3341 + 'shelley',
  3342 + 'softball',
  3343 + 'speedo',
  3344 + 'sports',
  3345 + 'ssssss',
  3346 + 'steele',
  3347 + 'steph',
  3348 + 'stephani',
  3349 + 'sunday',
  3350 + 'tiffany',
  3351 + 'tigre',
  3352 + 'toronto',
  3353 + 'trixie',
  3354 + 'undead',
  3355 + 'valentin',
  3356 + 'velvet',
  3357 + 'viking',
  3358 + 'walker',
  3359 + 'watson',
  3360 + 'young',
  3361 + 'babygirl',
  3362 + 'pretty',
  3363 + 'hottie',
  3364 + 'teamo',
  3365 + '987654321',
  3366 + 'naruto',
  3367 + 'spongebob',
  3368 + 'daniela',
  3369 + 'princesa',
  3370 + 'christ',
  3371 + 'blessed',
  3372 + 'single',
  3373 + 'qazwsx',
  3374 + 'pokemon',
  3375 + 'iloveyou1',
  3376 + 'iloveyou2',
  3377 + 'fuckyou1',
  3378 + 'hahaha',
  3379 + 'poop',
  3380 + 'blessing',
  3381 + 'blahblah',
  3382 + 'blink182',
  3383 + '123qwe',
  3384 + 'trinity',
  3385 + 'passw0rd',
  3386 + 'google',
  3387 + 'looking',
  3388 + 'spirit',
  3389 + 'iloveyou!',
  3390 + 'qwerty1',
  3391 + 'onelove',
  3392 + 'mylove',
  3393 + '222222',
  3394 + 'ilovegod',
  3395 + 'football1',
  3396 + 'loving',
  3397 + 'emmanuel',
  3398 + '1q2w3e4r',
  3399 + 'red123',
  3400 + 'blabla',
  3401 + '112233',
  3402 + 'hallo',
  3403 + 'spiderman',
  3404 + 'simpsons',
  3405 + 'monster',
  3406 + 'november',
  3407 + 'brooklyn',
  3408 + 'poopoo',
  3409 + 'darkness',
  3410 + '159753',
  3411 + 'pineapple',
  3412 + 'chester',
  3413 + '1qaz2wsx',
  3414 + 'drowssap',
  3415 + 'monkey12',
  3416 + 'wordpass',
  3417 + 'q1w2e3r4',
  3418 + 'coolness',
  3419 + '11235813',
  3420 + 'something',
  3421 + 'alexandra',
  3422 + 'estrella',
  3423 + 'miguel',
  3424 + 'iloveme',
  3425 + 'sayang',
  3426 + 'princess1',
  3427 + '555555',
  3428 + '999999',
  3429 + 'alejandro',
  3430 + 'brittany',
  3431 + 'alejandra',
  3432 + 'tequiero',
  3433 + 'antonio',
  3434 + '987654',
  3435 + '00000',
  3436 + 'fernando',
  3437 + 'corazon',
  3438 + 'cristina',
  3439 + 'kisses',
  3440 + 'myspace',
  3441 + 'rebelde',
  3442 + 'babygurl',
  3443 + 'alyssa',
  3444 + 'mahalkita',
  3445 + 'gabriela',
  3446 + 'pictures',
  3447 + 'hellokitty',
  3448 + 'babygirl1',
  3449 + 'angelica',
  3450 + 'mahalko',
  3451 + 'mariana',
  3452 + 'eduardo',
  3453 + 'andres',
  3454 + 'ronaldo',
  3455 + 'inuyasha',
  3456 + 'adriana',
  3457 + 'celtic',
  3458 + 'samsung',
  3459 + 'angelo',
  3460 + '456789',
  3461 + 'sebastian',
  3462 + 'karina',
  3463 + 'hotmail',
  3464 + '0123456789',
  3465 + 'barcelona',
  3466 + 'cameron',
  3467 + 'slipknot',
  3468 + 'cutiepie',
  3469 + '50cent',
  3470 + 'bonita',
  3471 + 'maganda',
  3472 + 'babyboy',
  3473 + 'natalie',
  3474 + 'cuteako',
  3475 + 'javier',
  3476 + '789456123',
  3477 + '123654',
  3478 + 'bowwow',
  3479 + 'portugal',
  3480 + '777777',
  3481 + 'volleyball',
  3482 + 'january',
  3483 + 'cristian',
  3484 + 'bianca',
  3485 + 'chrisbrown',
  3486 + '101010',
  3487 + 'sweet',
  3488 + 'panget',
  3489 + 'benfica',
  3490 + 'love123',
  3491 + 'lollipop',
  3492 + 'camila',
  3493 + 'qwertyuiop',
  3494 + 'harrypotter',
  3495 + 'ihateyou',
  3496 + 'christine',
  3497 + 'lorena',
  3498 + 'andreea',
  3499 + 'charmed',
  3500 + 'rafael',
  3501 + 'brianna',
  3502 + 'aaliyah',
  3503 + 'johncena',
  3504 + 'lovelove',
  3505 + 'gangsta',
  3506 + '333333',
  3507 + 'hiphop',
  3508 + 'mybaby',
  3509 + 'sergio',
  3510 + 'metallica',
  3511 + 'myspace1',
  3512 + 'babyblue',
  3513 + 'badboy',
  3514 + 'fernanda',
  3515 + 'westlife',
  3516 + 'sasuke',
  3517 + 'steaua',
  3518 + 'roberto',
  3519 + 'slideshow',
  3520 + 'asdfghjkl',
  3521 + 'santiago',
  3522 + 'jayson',
  3523 + '5201314',
  3524 + 'jerome',
  3525 + 'gandako',
  3526 + 'gatita',
  3527 + 'babyko',
  3528 + '246810',
  3529 + 'sweetheart',
  3530 + 'chivas',
  3531 + 'alberto',
  3532 + 'valeria',
  3533 + 'nicole1',
  3534 + '12345678910',
  3535 + 'leonardo',
  3536 + 'jayjay',
  3537 + 'liliana',
  3538 + 'sexygirl',
  3539 + '232323',
  3540 + 'amores',
  3541 + 'anthony1',
  3542 + 'bitch1',
  3543 + 'fatima',
  3544 + 'miamor',
  3545 + 'lover',
  3546 + 'lalala',
  3547 + '252525',
  3548 + 'skittles',
  3549 + 'colombia',
  3550 + '159357',
  3551 + 'manutd',
  3552 + '123456a',
  3553 + 'britney',
  3554 + 'katrina',
  3555 + 'christina',
  3556 + 'pasaway',
  3557 + 'mahal',
  3558 + 'tatiana',
  3559 + 'cantik',
  3560 + '0123456',
  3561 + 'teiubesc',
  3562 + '147258369',
  3563 + 'natalia',
  3564 + 'francisco',
  3565 + 'amorcito',
  3566 + 'paola',
  3567 + 'angelito',
  3568 + 'manchester',
  3569 + 'mommy1',
  3570 + '147258',
  3571 + 'amigos',
  3572 + 'marlon',
  3573 + 'linkinpark',
  3574 + '147852',
  3575 + 'diego',
  3576 + '444444',
  3577 + 'iverson',
  3578 + 'andrei',
  3579 + 'justine',
  3580 + 'frankie',
  3581 + 'pimpin',
  3582 + 'fashion',
  3583 + 'bestfriend',
  3584 + 'england',
  3585 + 'hermosa',
  3586 + '456123',
  3587 + '102030',
  3588 + 'sporting',
  3589 + 'hearts',
  3590 + 'potter',
  3591 + 'iloveu2',
  3592 + 'number1',
  3593 + '212121',
  3594 + 'truelove',
  3595 + 'jayden',
  3596 + 'savannah',
  3597 + 'hottie1',
  3598 + 'ganda',
  3599 + 'scotland',
  3600 + 'ilovehim',
  3601 + 'shakira',
  3602 + 'estrellita',
  3603 + 'brandon1',
  3604 + 'sweets',
  3605 + 'familia',
  3606 + 'love12',
  3607 + 'omarion',
  3608 + 'monkeys',
  3609 + 'loverboy',
  3610 + 'elijah',
  3611 + 'ronnie',
  3612 + 'mamita',
  3613 + '999999999',
  3614 + 'broken',
  3615 + 'rodrigo',
  3616 + 'westside',
  3617 + 'mauricio',
  3618 + 'amigas',
  3619 + 'preciosa',
  3620 + 'shopping',
  3621 + 'flores',
  3622 + 'isabella',
  3623 + 'martinez',
  3624 + 'elaine',
  3625 + 'friendster',
  3626 + 'cheche',
  3627 + 'gracie',
  3628 + 'connor',
  3629 + 'valentina',
  3630 + 'darling',
  3631 + 'santos',
  3632 + 'joanne',
  3633 + 'fuckyou2',
  3634 + 'pebbles',
  3635 + 'sunshine1',
  3636 + 'gangster',
  3637 + 'gloria',
  3638 + 'darkangel',
  3639 + 'bettyboop',
  3640 + 'jessica1',
  3641 + 'cheyenne',
  3642 + 'dustin',
  3643 + 'iubire',
  3644 + 'a123456',
  3645 + 'purple1',
  3646 + 'bestfriends',
  3647 + 'inlove',
  3648 + 'batista',
  3649 + 'karla',
  3650 + 'chacha',
  3651 + 'marian',
  3652 + 'sexyme',
  3653 + 'pogiako',
  3654 + 'jordan1',
  3655 + '010203',
  3656 + 'daddy1',
  3657 + 'daddysgirl',
  3658 + 'billabong',
  3659 + 'pinky',
  3660 + 'erika',
  3661 + 'skater',
  3662 + 'nenita',
  3663 + 'tigger1',
  3664 + 'gatito',
  3665 + 'lokita',
  3666 + 'maldita',
  3667 + 'buttercup',
  3668 + 'bambam',
  3669 + 'glitter',
  3670 + '123789',
  3671 + 'sister',
  3672 + 'zacefron',
  3673 + 'tokiohotel',
  3674 + 'loveya',
  3675 + 'lovebug',
  3676 + 'bubblegum',
  3677 + 'marissa',
  3678 + 'cecilia',
  3679 + 'lollypop',
  3680 + 'nicolas',
  3681 + 'puppies',
  3682 + 'ariana',
  3683 + 'chubby',
  3684 + 'sexybitch',
  3685 + 'roxana',
  3686 + 'mememe',
  3687 + 'susana',
  3688 + 'baller',
  3689 + 'hotstuff',
  3690 + 'carter',
  3691 + 'babylove',
  3692 + 'angelina',
  3693 + 'playgirl',
  3694 + 'sweet16',
  3695 + '012345',
  3696 + 'bhebhe',
  3697 + 'marcos',
  3698 + 'loveme1',
  3699 + 'milagros',
  3700 + 'lilmama',
  3701 + 'beyonce',
  3702 + 'lovely1',
  3703 + 'catdog',
  3704 + 'armando',
  3705 + 'margarita',
  3706 + '151515',
  3707 + 'loves',
  3708 + '202020',
  3709 + 'gerard',
  3710 + 'undertaker',
  3711 + 'amistad',
  3712 + 'capricorn',
  3713 + 'delfin',
  3714 + 'cheerleader',
  3715 + 'password2',
  3716 + 'PASSWORD',
  3717 + 'lizzie',
  3718 + 'matthew1',
  3719 + 'enrique',
  3720 + 'badgirl',
  3721 + '141414',
  3722 + 'dancing',
  3723 + 'cuteme',
  3724 + 'amelia',
  3725 + 'skyline',
  3726 + 'angeles',
  3727 + 'janine',
  3728 + 'carlitos',
  3729 + 'justme',
  3730 + 'legolas',
  3731 + 'michelle1',
  3732 + 'cinderella',
  3733 + 'jesuschrist',
  3734 + 'ilovejesus',
  3735 + 'tazmania',
  3736 + 'tekiero',
  3737 + 'thebest',
  3738 + 'princesita',
  3739 + 'lucky7',
  3740 + 'jesucristo',
  3741 + 'buddy1',
  3742 + 'regina',
  3743 + 'myself',
  3744 + 'lipgloss',
  3745 + 'jazmin',
  3746 + 'rosita',
  3747 + 'chichi',
  3748 + 'pangit',
  3749 + 'mierda',
  3750 + '741852963',
  3751 + 'hernandez',
  3752 + 'arturo',
  3753 + 'silvia',
  3754 + 'melvin',
  3755 + 'celeste',
  3756 + 'pussycat',
  3757 + 'gorgeous',
  3758 + 'honeyko',
  3759 + 'mylife',
  3760 + 'babyboo',
  3761 + 'loveu',
  3762 + 'lupita',
  3763 + 'panthers',
  3764 + 'hollywood',
  3765 + 'alfredo',
  3766 + 'musica',
  3767 + 'hawaii',
  3768 + 'sparkle',
  3769 + 'kristina',
  3770 + 'sexymama',
  3771 + 'crazy',
  3772 + 'scarface',
  3773 + '098765',
  3774 + 'hayden',
  3775 + 'micheal',
  3776 + '242424',
  3777 + '0987654321',
  3778 + 'marisol',
  3779 + 'jeremiah',
  3780 + 'mhine',
  3781 + 'isaiah',
  3782 + 'lolipop',
  3783 + 'butterfly1',
  3784 + 'xbox360',
  3785 + 'madalina',
  3786 + 'anamaria',
  3787 + 'yourmom',
  3788 + 'jasmine1',
  3789 + 'bubbles1',
  3790 + 'beatriz',
  3791 + 'diamonds',
  3792 + 'friendship',
  3793 + 'sweetness',
  3794 + 'desiree',
  3795 + '741852',
  3796 + 'hannah1',
  3797 + 'bananas',
  3798 + 'julius',
  3799 + 'leanne',
  3800 + 'marie1',
  3801 + 'lover1',
  3802 + 'twinkle',
  3803 + 'february',
  3804 + 'bebita',
  3805 + '87654321',
  3806 + 'twilight',
  3807 + 'imissyou',
  3808 + 'pollito',
  3809 + 'ashlee',
  3810 + 'cookie1',
  3811 + '147852369',
  3812 + 'beckham',
  3813 + 'simone',
  3814 + 'nursing',
  3815 + 'torres',
  3816 + 'damian',
  3817 + '123123123',
  3818 + 'joshua1',
  3819 + 'babyface',
  3820 + 'dinamo',
  3821 + 'mommy',
  3822 + 'juliana',
  3823 + 'cassandra',
  3824 + 'redsox',
  3825 + 'gundam',
  3826 + '0000',
  3827 + 'ou812',
  3828 + 'dave',
  3829 + 'golf',
  3830 + 'molson',
  3831 + 'Monday',
  3832 + 'newpass',
  3833 + 'thx1138',
  3834 + '1',
  3835 + 'Internet',
  3836 + 'coke',
  3837 + 'foobar',
  3838 + 'abc',
  3839 + 'fish',
  3840 + 'fred',
  3841 + 'help',
  3842 + 'ncc1701d',
  3843 + 'newuser',
  3844 + 'none',
  3845 + 'pat',
  3846 + 'dog',
  3847 + 'duck',
  3848 + 'duke',
  3849 + 'floyd',
  3850 + 'guest',
  3851 + 'joe',
  3852 + 'kingfish',
  3853 + 'micro',
  3854 + 'sam',
  3855 + 'telecom',
  3856 + 'test1',
  3857 + '7777',
  3858 + 'absolut',
  3859 + 'babylon5',
  3860 + 'backup',
  3861 + 'bill',
  3862 + 'bird33',
  3863 + 'deliver',
  3864 + 'fire',
  3865 + 'flip',
  3866 + 'galileo',
  3867 + 'gopher',
  3868 + 'hansolo',
  3869 + 'jane',
  3870 + 'jim',
  3871 + 'mom',
  3872 + 'passwd',
  3873 + 'phil',
  3874 + 'phish',
  3875 + 'porsche911',
  3876 + 'rain',
  3877 + 'red',
  3878 + 'sergei',
  3879 + 'training',
  3880 + 'truck',
  3881 + 'video',
  3882 + 'volvo',
  3883 + '007',
  3884 + '1969',
  3885 + '5683',
  3886 + 'Bond007',
  3887 + 'Friday',
  3888 + 'Hendrix',
  3889 + 'October',
  3890 + 'Taurus',
  3891 + 'aaa',
  3892 + 'alexandr',
  3893 + 'catalog',
  3894 + 'challenge',
  3895 + 'clipper',
  3896 + 'coltrane',
  3897 + 'cyrano',
  3898 + 'dan',
  3899 + 'dawn',
  3900 + 'dean',
  3901 + 'deutsch',
  3902 + 'dilbert',
  3903 + 'e-mail',
  3904 + 'export',
  3905 + 'ford',
  3906 + 'fountain',
  3907 + 'fox',
  3908 + 'frog',
  3909 + 'gabriell',
  3910 + 'garlic',
  3911 + 'goforit',
  3912 + 'grateful',
  3913 + 'hoops',
  3914 + 'lady',
  3915 + 'ledzep',
  3916 + 'lee',
  3917 + 'mailman',
  3918 + 'mantra',
  3919 + 'market',
  3920 + 'mazda1',
  3921 + 'metallic',
  3922 + 'ncc1701e',
  3923 + 'nesbitt',
  3924 + 'open',
  3925 + 'pete',
  3926 + 'quest',
  3927 + 'republic',
  3928 + 'research',
  3929 + 'supra',
  3930 + 'tara',
  3931 + 'testing',
  3932 + 'xanadu',
  3933 + 'xxxx',
  3934 + 'zaphod',
  3935 + 'zeus',
  3936 + '0007',
  3937 + '1022',
  3938 + '10sne1',
  3939 + '1973',
  3940 + '1978',
  3941 + '2000',
  3942 + '2222',
  3943 + '3bears',
  3944 + 'Broadway',
  3945 + 'Fisher',
  3946 + 'Jeanne',
  3947 + 'Killer',
  3948 + 'Knight',
  3949 + 'Master',
  3950 + 'Pepper',
  3951 + 'Sierra',
  3952 + 'Tennis',
  3953 + 'abacab',
  3954 + 'abcd',
  3955 + 'ace',
  3956 + 'acropolis',
  3957 + 'amy',
  3958 + 'anders',
  3959 + 'avenir',
  3960 + 'basil',
  3961 + 'bass',
  3962 + 'beer',
  3963 + 'ben',
  3964 + 'bliss',
  3965 + 'blowfish',
  3966 + 'boss',
  3967 + 'bridges',
  3968 + 'buck',
  3969 + 'bugsy',
  3970 + 'bull',
  3971 + 'cannondale',
  3972 + 'canon',
  3973 + 'catnip',
  3974 + 'chip',
  3975 + 'civil',
  3976 + 'content',
  3977 + 'cook',
  3978 + 'cordelia',
  3979 + 'crack1',
  3980 + 'cyber',
  3981 + 'daisie',
  3982 + 'dark1',
  3983 + 'database',
  3984 + 'deadhead',
  3985 + 'denali',
  3986 + 'depeche',
  3987 + 'dickens',
  3988 + 'emmitt',
  3989 + 'entropy',
  3990 + 'farout',
  3991 + 'farside',
  3992 + 'feedback',
  3993 + 'fidel',
  3994 + 'firenze',
  3995 + 'fish1',
  3996 + 'fletch',
  3997 + 'fool',
  3998 + 'fozzie',
  3999 + 'fun',
  4000 + 'gargoyle',
  4001 + 'gasman',
  4002 + 'gold',
  4003 + 'graphic',
  4004 + 'hell',
  4005 + 'image',
  4006 + 'intern',
  4007 + 'intrepid',
  4008 + 'jeff',
  4009 + 'jkl123',
  4010 + 'joel',
  4011 + 'johanna1',
  4012 + 'kidder',
  4013 + 'kim',
  4014 + 'king',
  4015 + 'kirk',
  4016 + 'kris',
  4017 + 'lambda',
  4018 + 'leon',
  4019 + 'logical',
  4020 + 'lorrie',
  4021 + 'major',
  4022 + 'mariner',
  4023 + 'mark1',
  4024 + 'max',
  4025 + 'media',
  4026 + 'merlot',
  4027 + 'midway',
  4028 + 'mine',
  4029 + 'mmouse',
  4030 + 'moon',
  4031 + 'mopar',
  4032 + 'mortimer',
  4033 + 'nermal',
  4034 + 'nina',
  4035 + 'olsen',
  4036 + 'opera',
  4037 + 'overkill',
  4038 + 'pacers',
  4039 + 'packer',
  4040 + 'picard',
  4041 + 'polar',
  4042 + 'polo',
  4043 + 'primus',
  4044 + 'prometheus',
  4045 + 'public',
  4046 + 'radio',
  4047 + 'rastafarian',
  4048 + 'reptile',
  4049 + 'rob',
  4050 + 'robotech',
  4051 + 'rodeo',
  4052 + 'rolex',
  4053 + 'rouge',
  4054 + 'roy',
  4055 + 'ruby',
  4056 + 'salasana',
  4057 + 'scarecrow',
  4058 + 'scout',
  4059 + 'scuba1',
  4060 + 'sergey',
  4061 + 'skibum',
  4062 + 'skunk',
  4063 + 'sound',
  4064 + 'starter',
  4065 + 'sting1',
  4066 + 'sunbird',
  4067 + 'tbird',
  4068 + 'teflon',
  4069 + 'temporal',
  4070 + 'terminal',
  4071 + 'the',
  4072 + 'thejudge',
  4073 + 'time',
  4074 + 'toby',
  4075 + 'today',
  4076 + 'tokyo',
  4077 + 'tree',
  4078 + 'trout',
  4079 + 'vader',
  4080 + 'val',
  4081 + 'valhalla',
  4082 + 'windsurf',
  4083 + 'wolf',
  4084 + 'wolf1',
  4085 + 'xcountry',
  4086 + 'yoda',
  4087 + 'yukon',
  4088 + '1213',
  4089 + '1214',
  4090 + '1225',
  4091 + '1313',
  4092 + '1818',
  4093 + '1975',
  4094 + '1977',
  4095 + '1991',
  4096 + '1kitty',
  4097 + '2001',
  4098 + '2020',
  4099 + '2112',
  4100 + '2kids',
  4101 + '333',
  4102 + '4444',
  4103 + '5050',
  4104 + '57chevy',
  4105 + '7dwarfs',
  4106 + 'Animals',
  4107 + 'Ariel',
  4108 + 'Bismillah',
  4109 + 'Booboo',
  4110 + 'Boston',
  4111 + 'Carol',
  4112 + 'Computer',
  4113 + 'Creative',
  4114 + 'Curtis',
  4115 + 'Denise',
  4116 + 'Eagles',
  4117 + 'Esther',
  4118 + 'Fishing',
  4119 + 'Freddy',
  4120 + 'Gandalf',
  4121 + 'Golden',
  4122 + 'Goober',
  4123 + 'Hacker',
  4124 + 'Harley',
  4125 + 'Henry',
  4126 + 'Hershey',
  4127 + 'Jackson',
  4128 + 'Jersey',
  4129 + 'Joanna',
  4130 + 'Johnson',
  4131 + 'Katie',
  4132 + 'Kitten',
  4133 + 'Liberty',
  4134 + 'Lindsay',
  4135 + 'Lizard',
  4136 + 'Madeline',
  4137 + 'Margaret',
  4138 + 'Maxwell',
  4139 + 'Money',
  4140 + 'Monster',
  4141 + 'Pamela',
  4142 + 'Peaches',
  4143 + 'Peter',
  4144 + 'Phoenix',
  4145 + 'Piglet',
  4146 + 'Pookie',
  4147 + 'Rabbit',
  4148 + 'Raiders',
  4149 + 'Random',
  4150 + 'Russell',
  4151 + 'Sammy',
  4152 + 'Saturn',
  4153 + 'Skeeter',
  4154 + 'Smokey',
  4155 + 'Sparky',
  4156 + 'Speedy',
  4157 + 'Sterling',
  4158 + 'Theresa',
  4159 + 'Thunder',
  4160 + 'Vincent',
  4161 + 'Willow',
  4162 + 'Winnie',
  4163 + 'Wolverine',
  4164 + 'aaaa',
  4165 + 'aardvark',
  4166 + 'abbott',
  4167 + 'acura',
  4168 + 'admin',
  4169 + 'admin1',
  4170 + 'adrock',
  4171 + 'aerobics',
  4172 + 'agent',
  4173 + 'airwolf',
  4174 + 'ali',
  4175 + 'alien',
  4176 + 'allegro',
  4177 + 'allstate',
  4178 + 'altamira',
  4179 + 'altima1',
  4180 + 'andrew!',
  4181 + 'ann',
  4182 + 'anne',
  4183 + 'anneli',
  4184 + 'aptiva',
  4185 + 'arrow',
  4186 + 'asdf;lkj',
  4187 + 'assmunch',
  4188 + 'baraka',
  4189 + 'barnyard',
  4190 + 'bart',
  4191 + 'bartman',
  4192 + 'beasty',
  4193 + 'beavis1',
  4194 + 'bebe',
  4195 + 'belgium',
  4196 + 'beowulf',
  4197 + 'beryl',
  4198 + 'best',
  4199 + 'bharat',
  4200 + 'bichon',
  4201 + 'bigal',
  4202 + 'biker',
  4203 + 'bilbo',
  4204 + 'bills',
  4205 + 'bimmer',
  4206 + 'biochem',
  4207 + 'birdy',
  4208 + 'blinds',
  4209 + 'blitz',
  4210 + 'bluejean',
  4211 + 'bogey',
  4212 + 'bogus',
  4213 + 'boulder',
  4214 + 'bourbon',
  4215 + 'boxer',
  4216 + 'brain',
  4217 + 'branch',
  4218 + 'britain',
  4219 + 'broker',
  4220 + 'bucks',
  4221 + 'buffett',
  4222 + 'bugs',
  4223 + 'bulls',
  4224 + 'burns',
  4225 + 'buzz',
  4226 + 'c00per',
  4227 + 'calgary',
  4228 + 'camay',
  4229 + 'carl',
  4230 + 'cat',
  4231 + 'cement',
  4232 + 'cessna',
  4233 + 'chad',
  4234 + 'chainsaw',
  4235 + 'chameleon',
  4236 + 'chang',
  4237 + 'chess',
  4238 + 'chinook',
  4239 + 'chouette',
  4240 + 'chronos',
  4241 + 'cicero',
  4242 + 'circuit',
  4243 + 'cirque',
  4244 + 'cirrus',
  4245 + 'clapton',
  4246 + 'clarkson',
  4247 + 'class',
  4248 + 'claudel',
  4249 + 'cleo',
  4250 + 'cliff',
  4251 + 'clock',
  4252 + 'color',
  4253 + 'comet',
  4254 + 'concept',
  4255 + 'concorde',
  4256 + 'coolbean',
  4257 + 'corky',
  4258 + 'cornflake',
  4259 + 'corwin',
  4260 + 'cows',
  4261 + 'crescent',
  4262 + 'cross',
  4263 + 'crowley',
  4264 + 'cthulhu',
  4265 + 'cunt',
  4266 + 'current',
  4267 + 'cutlass',
  4268 + 'daedalus',
  4269 + 'dagger1',
  4270 + 'daily',
  4271 + 'dale',
  4272 + 'dana',
  4273 + 'daytek',
  4274 + 'dead',
  4275 + 'decker',
  4276 + 'dharma',
  4277 + 'dillweed',
  4278 + 'dipper',
  4279 + 'disco',
  4280 + 'dixon',
  4281 + 'doitnow',
  4282 + 'doors',
  4283 + 'dork',
  4284 + 'doug',
  4285 + 'dutch',
  4286 + 'effie',
  4287 + 'ella',
  4288 + 'elsie',
  4289 + 'engage',
  4290 + 'eric1',
  4291 + 'ernie1',
  4292 + 'escort1',
  4293 + 'excel',
  4294 + 'faculty',
  4295 + 'fairview',
  4296 + 'faust',
  4297 + 'fenris',
  4298 + 'finance',
  4299 + 'first',
  4300 + 'fishhead',
  4301 + 'flanders',
  4302 + 'fleurs',
  4303 + 'flute',
  4304 + 'flyboy',
  4305 + 'flyer',
  4306 + 'franka',
  4307 + 'frederic',
  4308 + 'free',
  4309 + 'front242',
  4310 + 'frontier',
  4311 + 'fugazi',
  4312 + 'funtime',
  4313 + 'gaby',
  4314 + 'gaelic',
  4315 + 'gambler',
  4316 + 'gammaphi',
  4317 + 'garfunkel',
  4318 + 'garth',
  4319 + 'gary',
  4320 + 'gateway2',
  4321 + 'gator1',
  4322 + 'gibbons',
  4323 + 'gigi',
  4324 + 'gilgamesh',
  4325 + 'goat',
  4326 + 'godiva',
  4327 + 'goethe',
  4328 + 'gofish',
  4329 + 'good',
  4330 + 'gramps',
  4331 + 'gravis',
  4332 + 'gray',
  4333 + 'greed',
  4334 + 'greg',
  4335 + 'greg1',
  4336 + 'greta',
  4337 + 'gretzky',
  4338 + 'guido',
  4339 + 'gumby',
  4340 + 'h2opolo',
  4341 + 'hamid',
  4342 + 'hank',
  4343 + 'hawkeye1',
  4344 + 'health1',
  4345 + 'hello8',
  4346 + 'help123',
  4347 + 'helper',
  4348 + 'homerj',
  4349 + 'hoosier',
  4350 + 'hope',
  4351 + 'huang',
  4352 + 'hugo',
  4353 + 'hydrogen',
  4354 + 'ib6ub9',
  4355 + 'insight',
  4356 + 'instructor',
  4357 + 'integral',
  4358 + 'iomega',
  4359 + 'iris',
  4360 + 'izzy',
  4361 + 'jazz',
  4362 + 'jean',
  4363 + 'jeepster',
  4364 + 'jetta1',
  4365 + 'joanie',
  4366 + 'josee',
  4367 + 'joy',
  4368 + 'julia2',
  4369 + 'jumbo',
  4370 + 'jump',
  4371 + 'justice4',
  4372 + 'kalamazoo',
  4373 + 'kali',
  4374 + 'kat',
  4375 + 'kate',
  4376 + 'kerala',
  4377 + 'kids',
  4378 + 'kiwi',
  4379 + 'kleenex',
  4380 + 'kombat',
  4381 + 'lamer',
  4382 + 'laser',
  4383 + 'laserjet',
  4384 + 'lassie1',
  4385 + 'leblanc',
  4386 + 'legal',
  4387 + 'leo',
  4388 + 'life',
  4389 + 'lions',
  4390 + 'liz',
  4391 + 'logger',
  4392 + 'logos',
  4393 + 'loislane',
  4394 + 'loki',
  4395 + 'longer',
  4396 + 'lori',
  4397 + 'lost',
  4398 + 'lotus',
  4399 + 'lou',
  4400 + 'macha',
  4401 + 'macross',
  4402 + 'madoka',
  4403 + 'makeitso',
  4404 + 'mallard',
  4405 + 'marc',
  4406 + 'math',
  4407 + 'mattingly',
  4408 + 'mechanic',
  4409 + 'meister',
  4410 + 'mercer',
  4411 + 'merde',
  4412 + 'merrill',
  4413 + 'michal',
  4414 + 'michou',
  4415 + 'mickel',
  4416 + 'minou',
  4417 + 'mobydick',
  4418 + 'modem',
  4419 + 'mojo',
  4420 + 'montana3',
  4421 + 'montrose',
  4422 + 'motor',
  4423 + 'mowgli',
  4424 + 'mulder1',
  4425 + 'muscle',
  4426 + 'neil',
  4427 + 'neutrino',
  4428 + 'newaccount',
  4429 + 'nicklaus',
  4430 + 'nightshade',
  4431 + 'nightwing',
  4432 + 'nike',
  4433 + 'none1',
  4434 + 'nopass',
  4435 + 'nouveau',
  4436 + 'novell',
  4437 + 'oaxaca',
  4438 + 'obiwan',
  4439 + 'obsession',
  4440 + 'orville',
  4441 + 'otter',
  4442 + 'ozzy',
  4443 + 'packrat',
  4444 + 'paint',
  4445 + 'papa',
  4446 + 'paradigm',
  4447 + 'pass',
  4448 + 'pavel',
  4449 + 'peterk',
  4450 + 'phialpha',
  4451 + 'phishy',
  4452 + 'piano1',
  4453 + 'pianoman',
  4454 + 'pianos',
  4455 + 'pipeline',
  4456 + 'plato',
  4457 + 'play',
  4458 + 'poetic',
  4459 + 'print',
  4460 + 'printing',
  4461 + 'provider',
  4462 + 'qqq111',
  4463 + 'quebec',
  4464 + 'qwer',
  4465 + 'racer',
  4466 + 'racerx',
  4467 + 'radar',
  4468 + 'rafiki',
  4469 + 'raleigh',
  4470 + 'rasta1',
  4471 + 'redcloud',
  4472 + 'redfish',
  4473 + 'redwing',
  4474 + 'redwood',
  4475 + 'reed',
  4476 + 'rene',
  4477 + 'reznor',
  4478 + 'rhino',
  4479 + 'ripple',
  4480 + 'rita',
  4481 + 'robocop',
  4482 + 'robotics',
  4483 + 'roche',
  4484 + 'roni',
  4485 + 'rossignol',
  4486 + 'rugger',
  4487 + 'safety1',
  4488 + 'saigon',
  4489 + 'satori',
  4490 + 'saturn5',
  4491 + 'schnapps',
  4492 + 'scotch',
  4493 + 'scuba',
  4494 + 'secret3',
  4495 + 'seeker',
  4496 + 'services',
  4497 + 'sex',
  4498 + 'shanghai',
  4499 + 'shazam',
  4500 + 'shelter',
  4501 + 'sigmachi',
  4502 + 'signal',
  4503 + 'signature',
  4504 + 'simsim',
  4505 + 'skydive',
  4506 + 'slick',
  4507 + 'smegma',
  4508 + 'smiths',
  4509 + 'smurfy',
  4510 + 'snow',
  4511 + 'sober1',
  4512 + 'sonics',
  4513 + 'sony',
  4514 + 'spazz',
  4515 + 'sphynx',
  4516 + 'spock',
  4517 + 'spoon',
  4518 + 'spot',
  4519 + 'sprocket',
  4520 + 'starbuck',
  4521 + 'steel',
  4522 + 'stephi',
  4523 + 'sting',
  4524 + 'stocks',
  4525 + 'storage',
  4526 + 'strat',
  4527 + 'strato',
  4528 + 'stud',
  4529 + 'student2',
  4530 + 'susanna',
  4531 + 'swanson',
  4532 + 'swim',
  4533 + 'switzer',
  4534 + 'system5',
  4535 + 't-bone',
  4536 + 'talon',
  4537 + 'tarheel',
  4538 + 'tata',
  4539 + 'tazdevil',
  4540 + 'tester',
  4541 + 'testtest',
  4542 + 'thisisit',
  4543 + 'thorne',
  4544 + 'tightend',
  4545 + 'tim',
  4546 + 'tom',
  4547 + 'tool',
  4548 + 'total',
  4549 + 'toucan',
  4550 + 'transfer',
  4551 + 'transit',
  4552 + 'transport',
  4553 + 'trapper',
  4554 + 'trash',
  4555 + 'trophy',
  4556 + 'tucson',
  4557 + 'turbo2',
  4558 + 'unity',
  4559 + 'upsilon',
  4560 + 'vedder',
  4561 + 'vette',
  4562 + 'vikram',
  4563 + 'virago',
  4564 + 'visual',
  4565 + 'volcano',
  4566 + 'walden',
  4567 + 'waldo',
  4568 + 'walleye',
  4569 + 'webmaster',
  4570 + 'wedge',
  4571 + 'whale1',
  4572 + 'whit',
  4573 + 'whoville',
  4574 + 'wibble',
  4575 + 'will',
  4576 + 'wombat1',
  4577 + 'word',
  4578 + 'world',
  4579 + 'x-files',
  4580 + 'xxx123',
  4581 + 'zack',
  4582 + 'zepplin',
  4583 + 'zoltan',
  4584 + 'zoomer',
  4585 + '123go',
  4586 + '21122112',
  4587 + '5555',
  4588 + '911',
  4589 + 'FuckYou',
  4590 + 'Fuckyou',
  4591 + 'Gizmo',
  4592 + 'Hello',
  4593 + 'Michel',
  4594 + 'Qwerty',
  4595 + 'Windows',
  4596 + 'angus',
  4597 + 'aspen',
  4598 + 'ass',
  4599 + 'bird',
  4600 + 'booster',
  4601 + 'byteme',
  4602 + 'cats',
  4603 + 'changeit',
  4604 + 'christia',
  4605 + 'christoph',
  4606 + 'classroom',
  4607 + 'cloclo',
  4608 + 'corrado',
  4609 + 'dasha',
  4610 + 'fiction',
  4611 + 'french1',
  4612 + 'fubar',
  4613 + 'gator',
  4614 + 'gilles',
  4615 + 'gocougs',
  4616 + 'hilbert',
  4617 + 'hola',
  4618 + 'home',
  4619 + 'judy',
  4620 + 'koko',
  4621 + 'lulu',
  4622 + 'mac',
  4623 + 'macintosh',
  4624 + 'mailer',
  4625 + 'mars',
  4626 + 'meow',
  4627 + 'ne1469',
  4628 + 'niki',
  4629 + 'paul',
  4630 + 'politics',
  4631 + 'pomme',
  4632 + 'property',
  4633 + 'ruth',
  4634 + 'sales',
  4635 + 'salut',
  4636 + 'scrooge',
  4637 + 'skidoo',
  4638 + 'spain',
  4639 + 'surf',
  4640 + 'sylvie',
  4641 + 'symbol',
  4642 + 'forum',
  4643 + 'rotimi',
  4644 + 'god',
  4645 + 'saved',
  4646 + '2580',
  4647 + '1998',
  4648 + 'xxx',
  4649 + '1928',
  4650 + '777',
  4651 + 'info',
  4652 + 'a',
  4653 + 'netware',
  4654 + 'sun',
  4655 + 'tech',
  4656 + 'doom',
  4657 + 'mmm',
  4658 + 'one',
  4659 + 'ppp',
  4660 + '1911',
  4661 + '1948',
  4662 + '1996',
  4663 + '5252',
  4664 + 'Champs',
  4665 + 'Tuesday',
  4666 + 'bach',
  4667 + 'crow',
  4668 + 'don',
  4669 + 'draft',
  4670 + 'hal9000',
  4671 + 'herzog',
  4672 + 'huey',
  4673 + 'jethrotull',
  4674 + 'jussi',
  4675 + 'mail',
  4676 + 'miki',
  4677 + 'nicarao',
  4678 + 'snowski',
  4679 + '1316',
  4680 + '1412',
  4681 + '1430',
  4682 + '1952',
  4683 + '1953',
  4684 + '1955',
  4685 + '1956',
  4686 + '1960',
  4687 + '1964',
  4688 + '1qw23e',
  4689 + '22',
  4690 + '2200',
  4691 + '2252',
  4692 + '3010',
  4693 + '3112',
  4694 + '4788',
  4695 + '6262',
  4696 + 'Alpha',
  4697 + 'Bastard',
  4698 + 'Beavis',
  4699 + 'Cardinal',
  4700 + 'Celtics',
  4701 + 'Cougar',
  4702 + 'Darkman',
  4703 + 'Figaro',
  4704 + 'Fortune',
  4705 + 'Geronimo',
  4706 + 'Hammer',
  4707 + 'Homer',
  4708 + 'Janet',
  4709 + 'Mellon',
  4710 + 'Merlot',
  4711 + 'Metallic',
  4712 + 'Montreal',
  4713 + 'Newton',
  4714 + 'Paladin',
  4715 + 'Peanuts',
  4716 + 'Service',
  4717 + 'Vernon',
  4718 + 'Waterloo',
  4719 + 'Webster',
  4720 + 'aki123',
  4721 + 'aqua',
  4722 + 'aylmer',
  4723 + 'beta',
  4724 + 'bozo',
  4725 + 'car',
  4726 + 'chat',
  4727 + 'chinacat',
  4728 + 'cora',
  4729 + 'courier',
  4730 + 'dogbert',
  4731 + 'eieio',
  4732 + 'elina1',
  4733 + 'fly',
  4734 + 'funguy',
  4735 + 'fuzz',
  4736 + 'ggeorge',
  4737 + 'glider1',
  4738 + 'gone',
  4739 + 'hawk',
  4740 + 'heikki',
  4741 + 'histoire',
  4742 + 'hugh',
  4743 + 'if6was9',
  4744 + 'ingvar',
  4745 + 'jan',
  4746 + 'jedi',
  4747 + 'jimi',
  4748 + 'juhani',
  4749 + 'khan',
  4750 + 'lima',
  4751 + 'midvale',
  4752 + 'neko',
  4753 + 'nesbit',
  4754 + 'nexus6',
  4755 + 'nisse',
  4756 + 'notta1',
  4757 + 'pam',
  4758 + 'park',
  4759 + 'pole',
  4760 + 'pope',
  4761 + 'pyro',
  4762 + 'ram',
  4763 + 'reliant',
  4764 + 'rex',
  4765 + 'rush',
  4766 + 'seoul',
  4767 + 'skip',
  4768 + 'stan',
  4769 + 'sue',
  4770 + 'suzy',
  4771 + 'tab',
  4772 + 'testi',
  4773 + 'thelorax',
  4774 + 'tika',
  4775 + 'tnt',
  4776 + 'toto1',
  4777 + 'tre',
  4778 + 'wind',
  4779 + 'x-men',
  4780 + 'xyz',
  4781 + 'zxc',
  4782 + '369',
  4783 + 'Abcdef',
  4784 + 'Asdfgh',
  4785 + 'Changeme',
  4786 + 'NCC1701',
  4787 + 'Zxcvbnm',
  4788 + 'demo',
  4789 + 'doom2',
  4790 + 'e',
  4791 + 'good-luck',
  4792 + 'homebrew',
  4793 + 'm1911a1',
  4794 + 'nat',
  4795 + 'ne1410s',
  4796 + 'ne14a69',
  4797 + 'zhongguo',
  4798 + 'sample123',
  4799 + '0852',
  4800 + 'basf',
  4801 + 'OU812',
  4802 + '!@#$%',
  4803 + 'informix',
  4804 + 'majordomo',
  4805 + 'news',
  4806 + 'temp',
  4807 + 'trek',
  4808 + '!@#$%^',
  4809 + '!@#$%^&*',
  4810 + 'Pentium',
  4811 + 'Raistlin',
  4812 + 'adi',
  4813 + 'bmw',
  4814 + 'law',
  4815 + 'm',
  4816 + 'new',
  4817 + 'opus',
  4818 + 'plus',
  4819 + 'visa',
  4820 + 'www',
  4821 + 'y',
  4822 + 'zzz',
  4823 + '1332',
  4824 + '1950',
  4825 + '3141',
  4826 + '3533',
  4827 + '4055',
  4828 + '4854',
  4829 + '6301',
  4830 + 'Bonzo',
  4831 + 'ChangeMe',
  4832 + 'Front242',
  4833 + 'Gretel',
  4834 + 'Michel1',
  4835 + 'Noriko',
  4836 + 'Sidekick',
  4837 + 'Sverige',
  4838 + 'Swoosh',
  4839 + 'Woodrow',
  4840 + 'aa',
  4841 + 'ayelet',
  4842 + 'barn',
  4843 + 'betacam',
  4844 + 'biz',
  4845 + 'boat',
  4846 + 'cuda',
  4847 + 'doc',
  4848 + 'hal',
  4849 + 'hallowell',
  4850 + 'haro',
  4851 + 'hosehead',
  4852 + 'i',
  4853 + 'ilmari',
  4854 + 'irmeli',
  4855 + 'j1l2t3',
  4856 + 'jer',
  4857 + 'kcin',
  4858 + 'kerrya',
  4859 + 'kissa2',
  4860 + 'leaf',
  4861 + 'lissabon',
  4862 + 'mart',
  4863 + 'matti1',
  4864 + 'mech',
  4865 + 'morecats',
  4866 + 'paagal',
  4867 + 'performa',
  4868 + 'prof',
  4869 + 'ratio',
  4870 + 'ship',
  4871 + 'slip',
  4872 + 'stivers',
  4873 + 'tapani',
  4874 + 'targas',
  4875 + 'test2',
  4876 + 'test3',
  4877 + 'tula',
  4878 + 'unix',
  4879 + 'user1',
  4880 + 'xanth',
  4881 + '!@#$%^&',
  4882 + '1701d',
  4883 + '@#$%^&',
  4884 + 'Qwert',
  4885 + 'allo',
  4886 + 'dirk',
  4887 + 'go',
  4888 + 'newcourt',
  4889 + 'nite',
  4890 + 'notused',
  4891 + 'sss']
  4892 +
  4893 +def CreatePasswordVerifier_Method1(password):
  4894 + verifier = 0
  4895 + password = password[:15]
  4896 + passwordarray = struct.pack('B', len(password)) + password.encode()
  4897 + for passwordbyte in passwordarray[::-1]:
  4898 + if verifier & 0x4000 == 0x0:
  4899 + intermediate1 = 0
  4900 + else:
  4901 + intermediate1 = 1
  4902 + intermediate2 = verifier * 2
  4903 + intermediate2 = intermediate2 & 0x7FFF
  4904 + intermediate3 = intermediate1 | intermediate2
  4905 + verifier = intermediate3 ^ P23Ord(passwordbyte)
  4906 + return verifier ^ 0xCE4B
  4907 +
  4908 +def AnalyzeXORObfuscationStructure(data, passwordlistFilename):
  4909 + key, verifier = struct.unpack('<HH', data)
  4910 + password = None
  4911 + for candidate in GetDictionary(passwordlistFilename):
  4912 + if CreatePasswordVerifier_Method1(candidate) == verifier:
  4913 + password = candidate
  4914 + break
  4915 + return key, verifier, password
  4916 +
  4917 +def rol(byte, count):
  4918 + return (byte << count | byte >> (8 - count)) & 0xFF
  4919 +
  4920 +def ror(byte, count):
  4921 + return (byte >> count | byte << (8 - count)) & 0xFF
  4922 +
  4923 +def RorBytes(data, index):
  4924 + return data[index:] + data[:index]
  4925 +
  4926 +def Xor(data, key):
  4927 + if sys.version_info[0] > 2:
  4928 + return bytes([byte ^ key[index % len(key)] for index, byte in enumerate(data)])
1322 4929 else:
1323   - return repr(data[2:2 + cch * 2])
  4930 + return ''.join([chr(ord(char) ^ ord(key[index % len(key)])) for index, char in enumerate(data)])
  4931 +
  4932 +def XorDeobfuscate(data, key, position):
  4933 + return bytes([ror(byte, 5) for byte in Xor(data, RorBytes(key, position % 16))])
  4934 +
  4935 +def FindOpcodeInLine(opcodes, line):
  4936 + for opcode in opcodes.split(','):
  4937 + if opcode.lower() in line.lower():
  4938 + return True
  4939 + return False
1324 4940  
1325 4941 class cBIFF(cPluginParent):
1326 4942 macroOnly = False
... ... @@ -1598,6 +5214,16 @@ class cBIFF(cPluginParent):
1598 5214 0x8ca: 'MKREXT : Extension information for markers in Mac Office 11'
1599 5215 }
1600 5216  
  5217 + # https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/0f2ea0a1-9fc8-468d-97aa-9d333b72d106?redirectedfrom=MSDN
  5218 + recordsNotXORObfuscated = [ 0x2F, # FILEPASS
  5219 + 0xE1, # INTERFACEHDR
  5220 + 0x138, # RRDHEAD
  5221 + 0x194, # USREXCL
  5222 + 0x195, # FILELOCK
  5223 + 0x196, # RRDINFO
  5224 + 0x809, # BOF
  5225 + ]
  5226 +
1601 5227 if self.streamname in [['Workbook'], ['Book']]:
1602 5228 self.ran = True
1603 5229 stream = self.stream
... ... @@ -1606,36 +5232,56 @@ class cBIFF(cPluginParent):
1606 5232 oParser.add_option('-s', '--strings', action='store_true', default=False, help='Dump strings')
1607 5233 oParser.add_option('-a', '--hexascii', action='store_true', default=False, help='Dump hex ascii')
1608 5234 oParser.add_option('-X', '--hex', action='store_true', default=False, help='Dump hex without whitespace')
  5235 + oParser.add_option('-R', '--hexrecord', action='store_true', default=False, help='Dump hex of complete record without whitespace')
1609 5236 oParser.add_option('-b', '--formulabytes', action='store_true', default=False, help='Dump formula bytes')
1610 5237 oParser.add_option('-d', '--dump', action='store_true', default=False, help='Dump')
1611 5238 oParser.add_option('-x', '--xlm', action='store_true', default=False, help='Select all records relevant for Excel 4.0 macros')
1612   - oParser.add_option('-o', '--opcode', type=str, default='', help='Opcode to filter for')
  5239 + oParser.add_option('-o', '--opcode', type=str, default='', help='Opcode to filter for (use , to separate multiple opcodes')
1613 5240 oParser.add_option('-f', '--find', type=str, default='', help='Content to search for')
1614 5241 oParser.add_option('-c', '--csv', action='store_true', default=False, help='Produce CSV')
1615 5242 oParser.add_option('-j', '--json', action='store_true', default=False, help='Produce JSON')
1616 5243 oParser.add_option('-r', '--cellrefformat', type=str, default='rc', help='Cell reference format (RC, LN)')
1617 5244 oParser.add_option('-S', '--statistics', action='store_true', default=False, help='Produce BIFF record statistics')
  5245 + oParser.add_option('-w', '--wordlist', type=str, default='', help='Try to crack password with provided passwordlist')
  5246 + oParser.add_option('-D', '--xordeobfuscate', action='store_true', default=False, help='XOR Deobfuscate')
1618 5247 (options, args) = oParser.parse_args(self.options.split(' '))
1619 5248  
1620 5249 if options.find.startswith('0x'):
1621 5250 options.find = binascii.a2b_hex(options.find[2:])
1622 5251  
  5252 + if options.wordlist == '':
  5253 + passwordlistFilename = '.'
  5254 + else:
  5255 + passwordlistFilename = options.wordlist
  5256 +
1623 5257 position = 0
1624 5258 macros4Found = False
1625 5259 filepassFound = False
  5260 + isBIFF8 = True
1626 5261 dSheetNames = {}
1627 5262 sheetNames = []
1628 5263 definesNames = []
1629 5264 currentSheetname = ''
1630 5265 dOpcodeStatistics = {}
  5266 + xorObfuscationKey = None
1631 5267 while position < len(stream):
  5268 + decrypted = False
1632 5269 formatcodes = 'HH'
1633 5270 formatsize = struct.calcsize(formatcodes)
1634 5271 if len(stream[position:position + formatsize]) < formatsize:
1635 5272 break
1636   - opcode, length = struct.unpack(formatcodes, stream[position:position + formatsize])
  5273 + header = stream[position:position + formatsize]
  5274 + opcode, length = struct.unpack(formatcodes, header)
1637 5275 dOpcodeStatistics[opcode] = [dOpcodeStatistics.get(opcode, [0, 0])[0] + 1, dOpcodeStatistics.get(opcode, [0, 0])[1] + length]
1638 5276 data = stream[position + formatsize:position + formatsize + length]
  5277 + if xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
  5278 + if not opcode in recordsNotXORObfuscated:
  5279 + dataDeobfuscated = XorDeobfuscate(data, xorObfuscationKey, position + 4 + len(data))
  5280 + decrypted = True
  5281 + if opcode == 0x85: #BOUNDSHEET
  5282 + data = data[:4] + dataDeobfuscated[4:]
  5283 + else:
  5284 + data = dataDeobfuscated
1639 5285 positionBIFFRecord = position
1640 5286 position = position + formatsize + length
1641 5287  
... ... @@ -1647,116 +5293,178 @@ class cBIFF(cPluginParent):
1647 5293  
1648 5294 csvrow = None
1649 5295  
  5296 + # PASSWORD record and PROT4REVPASS reconrd
  5297 + if (opcode == 0x13 or opcode == 0x01bc) and len(data) == 2:
  5298 + if not filepassFound or decrypted:
  5299 + verifier = struct.unpack('<H', data)[0]
  5300 + if verifier == 0:
  5301 + line += ' - password not set'
  5302 + else:
  5303 + password = None
  5304 + for candidate in GetDictionary(passwordlistFilename):
  5305 + if CreatePasswordVerifier_Method1(candidate) == verifier:
  5306 + password = candidate
  5307 + line += ' - password: ' + password
  5308 + break
  5309 + if password == None:
  5310 + line += ' - password not recovered: verifier 0x%04x' % verifier
  5311 +
1650 5312 # FORMULA record
1651 5313 if opcode == 0x06 and len(data) >= 21:
1652   - cellref, dummy = ParseLoc(data, options.cellrefformat, True)
1653   - formatcodes = 'H'
1654   - formatsize = struct.calcsize(formatcodes)
1655   - length = struct.unpack(formatcodes, data[20:20 + formatsize])[0]
1656   - expression = data[22:]
1657   - parsedExpression, stack = ParseExpression(expression, definesNames, sheetNames, options.cellrefformat)
1658   - line += ' - %s len=%d %s' % (cellref, length, parsedExpression)
1659   - if len(stack) == 1:
1660   - csvrow = [currentSheetname, cellref, stack[0], '']
1661   - else:
1662   - csvrow = [currentSheetname, cellref, repr(stack), '']
1663   - if options.formulabytes:
1664   - data_hex = P23Decode(binascii.b2a_hex(data))
1665   - spaced_data_hex = ' '.join(a+b for a,b in zip(data_hex[::2], data_hex[1::2]))
1666   - line += '\nFORMULA BYTES: %s' % spaced_data_hex
  5314 + if not filepassFound:
  5315 + cellref, dummy = ParseLoc(data, options.cellrefformat, True)
  5316 + formatcodes = 'H'
  5317 + formatsize = struct.calcsize(formatcodes)
  5318 + length = struct.unpack(formatcodes, data[20:20 + formatsize])[0]
  5319 + expression = data[22:]
  5320 + parsedExpression, stack = ParseExpression(expression, definesNames, sheetNames, options.cellrefformat)
  5321 + line += ' - %s len=%d %s' % (cellref, length, parsedExpression)
  5322 + if len(stack) == 1:
  5323 + csvrow = [currentSheetname, cellref, stack[0], '']
  5324 + else:
  5325 + csvrow = [currentSheetname, cellref, repr(stack), '']
  5326 + if options.formulabytes:
  5327 + data_hex = P23Decode(binascii.b2a_hex(data))
  5328 + spaced_data_hex = ' '.join(a+b for a,b in zip(data_hex[::2], data_hex[1::2]))
  5329 + line += '\nFORMULA BYTES: %s' % spaced_data_hex
1667 5330  
1668 5331 # LABEL record #a# difference BIFF4 and BIFF5+
1669 5332 if opcode == 0x18 and len(data) >= 16:
1670   - flags = P23Ord(data[0])
1671   - lnName = P23Ord(data[3])
1672   - szFormula = P23Ord(data[4]) + P23Ord(data[5]) * 0x100
1673   - offset = 14
1674   - if P23Ord(data[offset]) == 0: #a# hack with BIFF8 Unicode
1675   - offset = 15
1676   - if flags & 0x20:
1677   - dBuildInNames = {1: 'Auto_Open', 2: 'Auto_Close'}
1678   - code = P23Ord(data[offset])
1679   - name = dBuildInNames.get(code, '?')
1680   - line += ' - built-in-name %d %s' % (code, name)
1681   - else:
1682   - name = P23Decode(data[offset:offset+lnName])
1683   - line += ' - %s' % (name)
1684   - definesNames.append(name)
1685   - if flags & 0x01:
1686   - line += ' hidden'
1687   - try:
1688   - parsedExpression, stack = ParseExpression(data[offset+lnName:offset+lnName+szFormula], definesNames, sheetNames, options.cellrefformat)
1689   - except IndexError:
1690   - parsedExpression = '*PARSING ERROR*'
1691   - line += ' len=%d %s' % (szFormula, parsedExpression)
  5333 + if not filepassFound:
  5334 + flags = P23Ord(data[0])
  5335 + lnName = P23Ord(data[3])
  5336 + szFormula = P23Ord(data[4]) + P23Ord(data[5]) * 0x100
  5337 + offset = 14
  5338 + if P23Ord(data[offset]) == 0: #a# hack with BIFF8 Unicode
  5339 + offset = 15
  5340 + if flags & 0x20:
  5341 + dBuildInNames = {1: 'Auto_Open', 2: 'Auto_Close'}
  5342 + code = P23Ord(data[offset])
  5343 + name = dBuildInNames.get(code, '?')
  5344 + line += ' - built-in-name %d %s' % (code, name)
  5345 + else:
  5346 + name = P23Decode(data[offset:offset+lnName])
  5347 + line += ' - %s' % (name)
  5348 + definesNames.append(name)
  5349 + if flags & 0x01:
  5350 + line += ' hidden'
  5351 + try:
  5352 + parsedExpression, stack = ParseExpression(data[offset+lnName:offset+lnName+szFormula], definesNames, sheetNames, options.cellrefformat)
  5353 + except IndexError:
  5354 + parsedExpression = '*PARSING ERROR*'
  5355 + line += ' len=%d %s' % (szFormula, parsedExpression)
1692 5356  
1693 5357 # FILEPASS record
1694 5358 if opcode == 0x2f:
1695 5359 filepassFound = True
  5360 + if len(data) == 4:
  5361 + line += ' - XOR obfuscation < BIFF8'
  5362 + key, verifier, password = AnalyzeXORObfuscationStructure(data, passwordlistFilename)
  5363 + xorObfuscationKey = '?'
  5364 + if password != None:
  5365 + line += ' - password: ' + password
  5366 + if password == 'VelvetSweatshop':
  5367 + keyVelvetSweatshop = binascii.a2b_hex('87 6B 9A E2 1E E3 05 62 1E 69 96 60 98 6E 94 04'.replace(' ', ''))
  5368 + xorObfuscationKey = keyVelvetSweatshop
  5369 + elif len(data) >= 6:
  5370 + formatcodes = '<HHH'
  5371 + formatsize = struct.calcsize(formatcodes)
  5372 + encryptionMethod, encryptionKey, hashValue = struct.unpack(formatcodes, data[0:formatsize])
  5373 + if encryptionMethod == 0:
  5374 + line += ' - XOR obfuscation BIFF8'
  5375 + key, verifier, password = AnalyzeXORObfuscationStructure(data[2:], passwordlistFilename)
  5376 + if password != None:
  5377 + line += ' - password: ' + password
  5378 + if password == 'VelvetSweatshop':
  5379 + keyVelvetSweatshop = binascii.a2b_hex('87 6B 9A E2 1E E3 05 62 1E 69 96 60 98 6E 94 04'.replace(' ', ''))
  5380 + xorObfuscationKey = keyVelvetSweatshop
  5381 + else:
  5382 + xorObfuscationKey = '?'
  5383 + elif encryptionMethod == 1:
  5384 + line += ' - RC4'
  5385 + else:
  5386 + line += ' - unknown encryption method 0x%04x' % encryptionMethod
  5387 +
  5388 + # WRITEACCESS record
  5389 + if opcode == 0x5C and len(data) == 112 and xorObfuscationKey == '?' and data[-0x10:] == data[-0x20:-0x10]:
  5390 + # extract 16-byte long XOR obfuscation key from WRITEACCESS record that contains a username that is padded with space characters (0x20) to a length of 112 bytes
  5391 + keyextracted = [byte ^ rol(0x20, 5) for byte in data[-0x10:]]
  5392 + keyextracted = RorBytes(keyextracted, (positionBIFFRecord + 8 + len(data)) % 16)
  5393 + xorObfuscationKey = keyextracted
  5394 + if xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
  5395 + data = XorDeobfuscate(data, xorObfuscationKey, positionBIFFRecord + 4 + len(data))
  5396 + decrypted = True
1696 5397  
1697 5398 # BOUNDSHEET record
1698 5399 if opcode == 0x85 and len(data) >= 6:
1699   - formatcodes = '<IBB'
1700   - formatsize = struct.calcsize(formatcodes)
1701   - positionBOF, sheetState, sheetType = struct.unpack(formatcodes, data[0:formatsize])
1702   - dSheetType = {0: 'worksheet or dialog sheet', 1: 'Excel 4.0 macro sheet', 2: 'chart', 6: 'Visual Basic module'}
1703   - if sheetType == 1:
1704   - macros4Found = True
1705   - sheetName = ShortXLUnicodeString(data[6:])
1706   - dSheetNames[positionBOF] = sheetName
1707   - sheetNames.append(sheetName)
1708   -
1709   - dSheetState = {0: 'visible', 1: 'hidden', 2: 'very hidden', 3: 'visibility=3'}
1710   - visibility = ''
1711   - if sheetState > 3:
1712   - visibility = 'reserved bits not zero: 0x%02x ' % (sheetState & 0xFC)
1713   - visibility += dSheetState.get(sheetState & 3, '0x%02x' % (sheetState & 3))
1714   -
1715   - line += ' - %s, %s - %s' % (dSheetType.get(sheetType, '%02x' % sheetType), visibility, sheetName)
  5400 + if not filepassFound or xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
  5401 + formatcodes = '<IBB'
  5402 + formatsize = struct.calcsize(formatcodes)
  5403 + positionBOF, sheetState, sheetType = struct.unpack(formatcodes, data[0:formatsize])
  5404 + dSheetType = {0: 'worksheet or dialog sheet', 1: 'Excel 4.0 macro sheet', 2: 'chart', 6: 'Visual Basic module'}
  5405 + if sheetType == 1:
  5406 + macros4Found = True
  5407 + sheetName = ShortXLUnicodeString(data[6:], isBIFF8)
  5408 + dSheetNames[positionBOF] = sheetName
  5409 + sheetNames.append(sheetName)
  5410 +
  5411 + dSheetState = {0: 'visible', 1: 'hidden', 2: 'very hidden', 3: 'visibility=3'}
  5412 + visibility = ''
  5413 + if sheetState > 3:
  5414 + visibility = 'reserved bits not zero: 0x%02x ' % (sheetState & 0xFC)
  5415 + visibility += dSheetState.get(sheetState & 3, '0x%02x' % (sheetState & 3))
  5416 +
  5417 + line += ' - %s, %s - %s' % (dSheetType.get(sheetType, '%02x' % sheetType), visibility, sheetName)
1716 5418  
1717 5419 # BOF record
1718   - if opcode == 0x0809 and len(data) >= 4:
1719   - formatcodes = 'H'
1720   - formatsize = struct.calcsize(formatcodes)
1721   - dt = struct.unpack(formatcodes, data[2:2 + formatsize])[0]
1722   - dStreamType = {5: 'workbook', 0x10: 'dialog sheet/worksheet', 0x20: 'chart sheet', 0x40: 'macro sheet'}
1723   - line += ' - %s' % (dStreamType.get(dt, '0x%04x' % dt))
1724   - if positionBIFFRecord in dSheetNames:
1725   - line += ' - %s' % (dSheetNames[positionBIFFRecord])
1726   - currentSheetname = dSheetNames[positionBIFFRecord]
  5420 + if opcode == 0x0809 and len(data) >= 8:
  5421 + if not filepassFound:
  5422 + formatcodes = '<HHHH'
  5423 + formatsize = struct.calcsize(formatcodes)
  5424 + vers, dt, rupBuild, rupYear = struct.unpack(formatcodes, data[0:formatsize])
  5425 + dBIFFVersion = {0x0500: 'BIFF5/BIFF7', 0x0600: 'BIFF8'}
  5426 + isBIFF8 = dBIFFVersion == 0x0600
  5427 + dStreamType = {5: 'workbook', 6: 'Visual Basic Module', 0x10: 'dialog sheet/worksheet', 0x20: 'chart sheet', 0x40: 'Excel 4.0 macro sheet', 0x100: 'Workspace file'}
  5428 + line += ' - %s %s 0x%04x %d' % (dBIFFVersion.get(vers, '0x%04x' % vers), dStreamType.get(dt, '0x%04x' % dt), rupBuild, rupYear)
  5429 + if positionBIFFRecord in dSheetNames:
  5430 + line += ' - %s' % (dSheetNames[positionBIFFRecord])
  5431 + currentSheetname = dSheetNames[positionBIFFRecord]
1727 5432  
1728 5433 # STRING record
1729 5434 if opcode == 0x207 and len(data) >= 4:
1730   - values = list(Strings(data[3:]).values())
1731   - strings = ''
1732   - if values[0] != []:
1733   - strings = values[0][0].encode()
1734   - if values[1] != []:
1735   - if strings != '':
1736   - strings += ' '
1737   - strings += ' '.join(values[1])
1738   - line += ' - %s' % strings
  5435 + if not filepassFound:
  5436 + values = list(Strings(data[3:]).values())
  5437 + strings = ''
  5438 + if values[0] != []:
  5439 + strings = values[0][0].encode()
  5440 + if values[1] != []:
  5441 + if strings != '':
  5442 + strings += ' '
  5443 + strings += ' '.join(values[1])
  5444 + line += ' - %s' % strings
1739 5445  
1740 5446 # number record
1741 5447 if opcode == 0x0203:
1742   - cellref, data2 = ParseLoc(data, options.cellrefformat, True)
1743   - formatcodes = '<Hd'
1744   - formatsize = struct.calcsize(formatcodes)
1745   - xf, value = struct.unpack(formatcodes, data2[:formatsize])
1746   - line += ' - %s %.20f' % (cellref, value)
1747   - csvrow = [currentSheetname, cellref, '', '%.20f' % value]
  5448 + if not filepassFound:
  5449 + cellref, data2 = ParseLoc(data, options.cellrefformat, True)
  5450 + formatcodes = '<Hd'
  5451 + formatsize = struct.calcsize(formatcodes)
  5452 + xf, value = struct.unpack(formatcodes, data2[:formatsize])
  5453 + line += ' - %s %.20f' % (cellref, value)
  5454 + csvrow = [currentSheetname, cellref, '', '%.20f' % value]
1748 5455  
1749 5456 # RK record
1750 5457 if opcode == 0x027E and len(data) == 10:
1751   - cellref, data2 = ParseLoc(data, options.cellrefformat, True)
1752   - formatcodes = '<H'
1753   - formatsize = struct.calcsize(formatcodes)
1754   - xf = struct.unpack(formatcodes, data2[:formatsize])
1755   - value = DecodeRKValue(data2[formatsize:])
1756   - line += ' - %s %f' % (cellref, value)
1757   - csvrow = [currentSheetname, cellref, '', '%.20f' % value]
1758   -
1759   - if options.find == '' and options.opcode == '' and not options.xlm or options.opcode != '' and options.opcode.lower() in line.lower() or options.find != '' and options.find in data or options.xlm and opcode in [0x06, 0x18, 0x85, 0x207]:
  5458 + if not filepassFound:
  5459 + cellref, data2 = ParseLoc(data, options.cellrefformat, True)
  5460 + formatcodes = '<H'
  5461 + formatsize = struct.calcsize(formatcodes)
  5462 + xf = struct.unpack(formatcodes, data2[:formatsize])
  5463 + value = DecodeRKValue(data2[formatsize:])
  5464 + line += ' - %s %f' % (cellref, value)
  5465 + csvrow = [currentSheetname, cellref, '', '%.20f' % value]
  5466 +
  5467 + if options.find == '' and options.opcode == '' and not options.xlm or options.opcode != '' and FindOpcodeInLine(options.opcode, line) or options.find != '' and options.find.encode() in data or options.xlm and opcode in [0x06, 0x18, 0x85, 0x207]:
1760 5468 if not options.hex and not options.dump:
1761 5469 if options.csv or options.json:
1762 5470 if csvrow != None:
... ... @@ -1773,12 +5481,14 @@ class cBIFF(cPluginParent):
1773 5481 result.append(' ' + dEncodings[encoding] + ':')
1774 5482 result.extend(' ' + foundstring for foundstring in strings)
1775 5483 elif options.hex:
1776   - result.append(binascii.b2a_hex(data))
  5484 + result.append(binascii.b2a_hex(data).decode('latin'))
  5485 + elif options.hexrecord:
  5486 + result.append(' ' + binascii.b2a_hex(header + data).decode('latin'))
1777 5487 elif options.dump:
1778 5488 result = data
1779 5489  
1780   - if options.xlm and filepassFound:
1781   - result = ['FILEPASS record: file is password protected']
  5490 + if options.xlm and filepassFound and not (xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate):
  5491 + result = ['Warning: FILEPASS record found, file is password protected']
1782 5492 elif options.statistics:
1783 5493 stats = []
1784 5494 for opcode in sorted(dOpcodeStatistics.keys()):
... ... @@ -1798,6 +5508,8 @@ class cBIFF(cPluginParent):
1798 5508 result = [MakeCSVLine(row, DEFAULT_SEPARATOR, QUOTE) for row in [['Sheet', 'Reference', 'Formula', 'Value']] + result]
1799 5509 elif options.json:
1800 5510 result = json.dumps(result)
  5511 + elif filepassFound:
  5512 + result.append('Warning: FILEPASS record found, file is password protected')
1801 5513  
1802 5514 return result
1803 5515  
... ...
setup.py
... ... @@ -52,7 +52,7 @@ import os, fnmatch
52 52 #--- METADATA -----------------------------------------------------------------
53 53  
54 54 name = "oletools"
55   -version = '0.56.2.dev1'
  55 +version = '0.56.2.dev2'
56 56 desc = "Python tools to analyze security characteristics of MS Office and OLE files (also called Structured Storage, Compound File Binary Format or Compound Document File Format), for Malware Analysis and Incident Response #DFIR"
57 57 long_desc = open('oletools/README.rst').read()
58 58 author = "Philippe Lagadec"
... ...