Truesort by ErrorNeo - программа для сортировки словарей

Discussion in 'Криптография, расшифровка хешей' started by ErrorNeo, 11 Jun 2010.

  1. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    Представляю вашему вниманию программу для сортировки и упорядочивания текстовых файлов (словарей) TrueSort.

    - Что делает TrueSort?
    - превращает любое количество текстовых файлов в подпапке input в один упорядоченный по алфавиту и не имеющий дублей файл в подпапке output.

    - Чем он отличается от аналогов?
    *требует для работы менее 80мб ОЗУ
    *гарантированно не оставляет за собой дублей ("брака")
    *умеет обрабатывать файлы, содержащие в словах символы любых кодировок (в том числе символы nil и EOF)
    *работает на порядки быстрее любой из существующих аналогичных программ
    *способен обрабатывать много-гигабайтовые файлы и создавать многогигобайтовые пасслисты.
    *ксательно скрости:
    5 словарей по ~500мегов (суммарно 2589mb) объединяются в один 1143mb упорядоченный и без дублей словарь на одноядерном 2 Ггц процессоре за 34 с половиной минуты (тестил на ноуте).
    Более 1 ядра программа использовать не умеет

    Скрины:
    <картинки на имэдж-щэк сдохли =\>


    Примечания:
    *программа подробно рассказывает о том, что она делает в данный момент в логе. К сожалению, ведение такого отчета тормозит её работу в 2 или 3 раза, потому если вам нужна скорость - ставьте переключатель "Turbo" в положеие on. Это откючит лог и прибавит 100-200% скорости
    *к программе прилагается исходный код (проект на дельфи-6) для тех, кто хочет что-либо под-пилить или выпилить, а так же для тех, кто брезгует использовать чужое ПО без исходных кодов.
    *программа изначально была выложена мной в закрытом разделе хэшкрекинг.ру, и тогда же я пообещал выложить её в паблик через пол-года. Пол-года прошли, и, более того, я публикую её не только фри но и опенсурс.
    *программа нормально обрабатывает input'ы до 15 гигов, стабильно - до 10. Если в инпуте больше 20 гигов за раз - может не справится. Если у вас более 15 гигов инпута - обрабатывайте по 10 гигабайт. Я таким образом обработал более 80 гигабайт, когда собирал свой словарь.
    Максимальный пасслист который я ей создавал - 6,5 гига. 13-гиговый пасслист (объединить 2 словаря по 6,5 гига) мне создать не удалось - программа не потянула, в причины я не вникал - мне этого было достаточно.
    * в архиве 2 версии - truesort.exe и truesortEOF.exe
    -truesort.exe позволяет обрабатывать словари, созданные как под windows так и под *NIX (иногда сожержащие в паролях символы nil и EOF), которые считаются признаком конца файла для большинства виндовых программ, но обычными символами в *NIX. Это плюс. Минус версии - файлы в инпуте должы быть менее 4 гигов каждый, иначе прогармма читает только первые 4 гига и считает что файл кончился, даже если сам файл имеет размер 20 гигов.
    -truesortEOF.exe обрабатывает файлы любого размера, хоть 20 гигабайт, но если встретит в файле некоторые нечитаемые (служебные для ОС windows) символы - посчитает эти символы концом файла, как посчитал бы, например, блокнот.

    скачать с исходниками
    http://narod.ru/disk/21769885000/truesort.rar.html
    http://rapidshare.com/files/397832696/truesort.rar.html
    http://depositfiles.com/files/ukj4cb4fr
    http://www.sendspace.com/file/2buduw
     
    #1 ErrorNeo, 11 Jun 2010
    Last edited: 1 Oct 2010
    DZZ, alextrust, H3L1X and 21 others like this.
  2. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    730
    Likes Received:
    492
    Reputations:
    99
    Таки зарелизил, поздравляю :)
    Программа и правда невероятно шустрая, способна гигабайтные файлы чекать с огромной скоростью.
     
  3. walter

    walter Elder - Старейшина

    Joined:
    29 Jan 2010
    Messages:
    539
    Likes Received:
    176
    Reputations:
    43
    оО это да.) , порадовали абсолютно все нововведения. (да, и нужная во всех областях практически) . Молодец, преогромное спасибо.

    интересно , сколько времени на это ушло.

    p.s. "Вас приветствует программа для сортировки слвоарей True Soft" (1 скрин, 1 строка)

    грамматическая ошибка. если уже в курсе - то извиняй( . (просто напомнил/подсказал)
     
  4. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    =)) опечатка, тока и всего. ушло - и много и мало.
    первая версия этой программы есть в гугле (и на ачате и на хэшкрекинге) - PPLC 1.0 alpha - на то чтобы сделать её ушло вечеров 5 - это было год назад.
    Она умела создавать словари до 50 мегов в базовой версии и до 150 мегов в улучшенной (что есть максимум того, что могут любые аналогичные программы, даже сейчас.)
    Потом была еще одна, но в паблик я её не выкладывал - PPLC 2.0. Она была только у мемберов закрытой группы хэшкрекинг.ру, но в ней были баги (3% конечного словаря все равно были дубли) + на то, чтобы создать из 5 гигабайт инпута 1 гиговый словарь требовалось более 20 часов работы на 3ггц процессоре, штук 7 операций в тотал командере и штук 5-6 "стандартных" ошибок, которые непонятно откуда брались (требовался перезапук программы, которая продаолжала работу с моента остановки)
    В общем вторая версия работала через Жо=) но работала. Её я делал из первой версии тоже вечеров 5.
    Ну а эту я уже писал с нуля) Долго рзмышлял над тем, как эффективнее реализовать - пробовал разные методы, и в конечном итоге остановился на самом, в общем-то, примитивном и простом методе. После чего как и положено удивился "почему же никто не написал этого раньше" :D На эту версию ушлю тоже вечеров 6, из которых три тестил тупиковые пути, полтора писал саму сортировку и еще полтора вечера добавлял рюшечки и типа интерфейс :D
     
    #4 ErrorNeo, 11 Jun 2010
    Last edited: 11 Jun 2010
    [email protected]!ns likes this.
  5. ra0cg

    ra0cg Elder - Старейшина

    Joined:
    9 Nov 2008
    Messages:
    809
    Likes Received:
    499
    Reputations:
    200
    Всё хорошо в программе, но вот то что символы всякие она переваривает выливается и в проблему, например PasswordsPro потом не переваривает такой словарь, доходит до определённого символа и переходит на следующий словарь в списке. Хотя проблема эта конечно скорее PasswordsPro, так как с hashcat таких проблем нет.
     
  6. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    для таких целей у меня есть программа "Выпиливатель" (desintegrator)

    в подпапку input кидается любое количество любых файлов (можно прямо в папках), и всё это собирается программой в один неупорядоченный файл ("склеивается"), при этом фильтруются все нечитаемые символы.

    скачать с исходным кодом:
    http://www.sendspace.com/file/wprgfi
    http://narod.ru/disk/21778266000/desintegrator.rar.html
    http://depositfiles.com/files/ol7shlmx7

    зы
    эта программа может пригодиться, если нужно сделать словарь их цклого дерева папок, где есть не только текстовики, но и екзешники, и картинки, итд..
    она выбирает из этого всего только сочетания читаемях символов длиннее заданной велечины, и сохраняет всё что нашла в единый файл, который потом легко и удобно можно обаботать Truesort-ом
     
    #6 ErrorNeo, 11 Jun 2010
    Last edited: 11 Jun 2010
  7. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    224
    Likes Received:
    54
    Reputations:
    5
    Так вот она, та самая... Молодец. Действительно быстро работает.
     
  8. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    301
    Likes Received:
    62
    Reputations:
    32
    ErrorNeo, это новая версия или та же самая?
     
  9. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    старая, написана зимой. с сурсами на дельфи. сурс собственно оч. простой несмотря на эфективность программы.
    более новых версий я не делал, потому как достаточно и того, как работает эта
     
    #9 ErrorNeo, 14 Jun 2010
    Last edited: 14 Jun 2010
  10. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    в программе наконец-таки идентифицирован баг, когда она зависает на обработке тех или иных вещей.
    Баг довольно редкий, у меня например он выплыл когда пытался отсортировать около 200 мегабайт пассов, начинающихся на AA из которых метров 160 начинались вообще на AAA.
    Если точнее - я пытался упорядочить 7 гигов, но обнаружил что прога виснет, причем всегда на одном и том же 200-метровом temp файле.

    То, что при каких-то условиях программа виснет я замечал и раньше, пытаясь обработать по 15-20 гигабайт за раз - из-за этого приходилось обрабатывать меньшими "пачками" - по 5-10 гигов за раз.
    Проблему решил сделав в 200-метровике текстовую замену (в блокноте) "AA"=>"A". Там действительно была туева хуча ганеренных типа пассов, начинавшихся с AAA, и после замены все отлично отсортировалось... но это все равно не решение)

    В общем как дойдут руки я этот баг искореню, потому что все-таки он немного мешает.
     
    #10 ErrorNeo, 2 Aug 2010
    Last edited: 2 Aug 2010
    1 person likes this.
  11. nullik

    nullik Member

    Joined:
    26 Feb 2010
    Messages:
    118
    Likes Received:
    44
    Reputations:
    1
    Не подружилась она со мной - сначала скормил ей 7 гигов пассов, ждал ждал, пока она в загрузке проца на 0 упала. Короче часов 6 ждал - потом выключил.
    Но самое противное, что я ей предложил 18 метров паролей - ждал час, и тишина. Создает temp файлы.... и таймер тикает. WIN7 64bit.
    Что делать шеф?
     
  12. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    Я не тестировал эту программу на win7 , тем более не тестировал на 64-bit опеационках.
    Прога тестилась мной исключительно на XP 32-bit, сожалею.
    Что могу посовтовать? Поднять виртуалку с Виндоус ХП 32 бит :)
     
  13. ra0cg

    ra0cg Elder - Старейшина

    Joined:
    9 Nov 2008
    Messages:
    809
    Likes Received:
    499
    Reputations:
    200
    У меня win7-64, давно пользуюсь программой, всё работает как задумано.
     
  14. nullik

    nullik Member

    Joined:
    26 Feb 2010
    Messages:
    118
    Likes Received:
    44
    Reputations:
    1
    Прога может шалить если в словаре какие-то левые символы проскакивают?
     
  15. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,231
    Likes Received:
    2,615
    Reputations:
    230
    у меня Arch Linux-32, bash, sort и sed.
    отлично занимаются сортировкой текст мессаг.
     
  16. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    1,001
    Likes Received:
    840
    Reputations:
    402
    гиг тоже норм отсортируют, или скажем а 10?
    Я с линуксом не особа разбирался, потому это просто вопрос.
    Под винду ничего, что бы могло отсортить хотя бы гиг - до pplc 2.0 я не встречал.

    Насчет спецсимволов... фиг его знает, может она шалить или нет) По идее не может, но когда орабатываешь много-гигабайт, тогда - лично у меня - стопорилсь на обработке темп-файла с кучей EOF симвлов (26-ой символ АСКИИ).
    Лекарство - сразу после создания темп файлов дельнуть этот файл (temp 26).

    nullik - если дело не в самой семерке то я хз. Попробуй упорядочить insidepro_big ? Он гарантированно должен упорядочиться, если не упорядочится - ... ну попробуй под админом запустить. В общем я реально хз из-за чего может не работать. Тогда уж попробуй на другом компе или из-под виртуалки...=\

    Как я уже сказал, у меня вылезали косяки только при обработке многогигабайтовых input-ов, в которых, в добавок ко всему, были все 256 симвлов аскии, да еще и по-многу.
    Делитил темп с #26 символом, помогало если был завис.
    Дальше если больше чем 150 метров слов начиналось на AAA, то тоже был завис. Лекарство - заменить AAA->AA в темп-файле, на котором виснет.
    Ну и еще возможна такая фигня, что у вас будет более 50 мегабайт одного и того же пароля в инпуте, ну или 50 мегабайт паролей, первые 10 символов которых идентичны, то прога тоже зависнет.

    В общем все случаи, когда программа так или иначе висла - нештатные. В штатных ситуациях отказов я пока не замечал.


    ps. последний словарь, который я сделал - был на 7 гигов. Делал я его в 2 захода, сначала обработав 15 гагабайт в 5-гиговый файл, и потом обработл этот 5-гиговый + еще 19 гигабайт. Проблемы непонятные были с темп-файлом #26 - как я сказал, я его дельнул вобще, ну и с этими "AAA". Дело в том что у меня в инпуте 2 раза встречался словарь vince с 2,5 гигами ганерки ... потому создалась некая критическая масса идентично-начинающихся паролей, и поймался баг.
    Поищу из-за чего он, потому как он несколько напряг.

    И тем не менее отсортить вполне удалось)
     
    #16 ErrorNeo, 5 Aug 2010
    Last edited: 5 Aug 2010
  17. nullik

    nullik Member

    Joined:
    26 Feb 2010
    Messages:
    118
    Likes Received:
    44
    Reputations:
    1
    Тебе как прогеру своего дитя немного проще, т.к. я пользуюсь уже конечным продуктом, а ты знаешь его слабые места.
    Заметил нестабильность при обработке больших словарей (уж не знаю что в них не так). Также есть нестабильность при обработке большого количества словарей. Прогу твою не разбирал - не осилю, да и времени нету.
    Советую добавить какой-то модуль отслеживания зависаний (глупо звучит), или постоянного цикла, т.к. я понимаю именно в них она и зависает.
    Я решил проблему - скармливая ей малое количество (1-3) словарей, предварительно обработанных дезинтегратором. Даже с большим обьемом она справлялась - тут тебе + в карму.
    Но, видимо, сортировка все же имеет свои недостатки.
    Вопрос на засыпку - движок mysql уж насколько заточеный и отлаженый - не будет ли работать быстрее и лучше?
     
  18. nullik

    nullik Member

    Joined:
    26 Feb 2010
    Messages:
    118
    Likes Received:
    44
    Reputations:
    1
    Для меня линукс ограничен uname и ls (ну и make world :)). Если ты можешь предложить рабочие и красивые проги или скрипты баша - выложи, поставить линукс на ВМ не есть проблема. Главное чтобы они работали быстро и качественно.
     
  19. .while

    .while Member

    Joined:
    22 Feb 2010
    Messages:
    52
    Likes Received:
    5
    Reputations:
    0
    шустренькая.
    спасибо :)
     
  20. Wrath

    Wrath Member

    Joined:
    30 Dec 2008
    Messages:
    85
    Likes Received:
    33
    Reputations:
    10
    Блин сколько она должна обрабатывать ~8гб словарей ?:D А то у меня она уже работает 25000сек
     
Loading...