Просмотр полной версии : Работа со словарями
procedure
27.12.2008, 21:06
Работа со словарями v.3.0
Итак, представляю вам 1ую версию программы "Работа со словаями", что эта программа может и что она умеет ясно из названия. Данная программа создана для обработки словарей для брута.
http://s44.radikal.ru/i103/0812/38/3f93b551073dt.jpg (http://radikal.ru/F/s44.radikal.ru/i103/0812/38/3f93b551073d.jpg.html) http://s49.radikal.ru/i125/0812/de/723690bc634ct.jpg (http://radikal.ru/F/s49.radikal.ru/i125/0812/de/723690bc634c.jpg.html)
Ключевые особенности:
Чистка словарей от повторов
Удаление длинных/коротких слов
Обрезание до нужной длинный слов
Комбинирование словарей
Объединение словарей
Сортировка слов
Имеется так-же множество дополнительных возможностей, с которыми вы так же можете познакомиться в программе
Интерфейс программы, сделан максимально (или местами максимально) похожим на интерфейс античата.
Программа написана специально для раздела "расшифровка хэшей".
©procedure
Выражаю дополнительную очень большую благодарность geezer.code за оптимизацию скорости работы программы.
procedure
28.12.2008, 23:10
up, ваши мнения? Кто нибудь заюзал? Что убрать, что добавить?
Да вродь усе норм, ток вот вчера среди ночи попробовал словарик на 3 гига отсортировать, тоесть удалить русские символы, так вот походу софтина сначала грузит словарь в память, а потом обрабатыает, что не есть гут, недождавшись сего дела, лег спать :D. Завтра потестим более глубоко :)
А так большой +
procedure
29.12.2008, 14:37
Не, она грузит в озу только на тех вкладках, где требуется это. Только на двух вкладках работа идет в озу. В остальных сразу в файл пишет. В общем там где кнопки сохранить отдельно нету, она грузит прямо в файл.
Alexandr II
02.01.2009, 03:08
выходит ошибка... 0хс0000135 о_О или это уже не актуал?
procedure
02.01.2009, 04:45
Это означает что у тебя не установлен .NET Framework 3.5
cel1697i845
03.01.2009, 18:43
Большое спасибо за программу, давно такую искал.
-=lebed=-
13.01.2009, 13:33
1. На больших словарях вылетает ошибка нехватки памяти.
2. Сортировка не верно идёт:
/OR7@wb
/S4H@R
/UX~G4
/YPumlV4zYQk9mo9imZv0FhfOUM
/ZxRUe
:
: fV86PqMK
:/l)w4"}
:^вGЈФЅXc©м^
:~*4z^Ii
А между "/" (0x2F) и ":" (0x3A) ещё есть цифры 0-9
procedure
13.01.2009, 19:40
Обновил, (грей не обижайся :)), теперь программа работает быстрее. Только не нажимайте ничего во время обработки. Скоро тоже пофиксю, создам кнопочку отмена. Чтобы видно было как нибудь что процесс идет. Или на прогресс бар смотрите.
А по поводу сортировки, так она зависит от твоих региональных настроек в системе.
procedure
13.01.2009, 19:53
Гыыы, еще раз обновил, можете теперь в трей сворачивать, чтоб не мешала. +еще пару пустяков исправил.
-=lebed=-
14.01.2009, 00:37
2procedure
Вообщем я уже порядком запарился в вордлистами (сортировать, удалять повторы, склеивать и т.д.) а посути нужна всего одна хорошая утилитка!
Вообщем суть в следующем:
Имеем 1 файл (больший и основной) упорядоченного словаря (длина, символ, ну вообщем по второму варианту в твоей проге), без повторов слов (строк).
Есть втрой файл-словарь с новыми паролями, надо сделать их слияние в 1 файл (основной). Естественно он должен получится тоже без повторов и упорядоченным.
Кроме того должна быть допустима работа с большими словарями (500Мб-2,5Гб.) ну это скорее всего больше относится к 1 файлу, апгрейдим мы словарь обычно меньшими по объёму словарями. Вообщем алгоритм я попробовал реализовать на PHP, суть его будет понятна из кода и основан он на вставке данных в нужное место файла, тоже самое можно сделать и на C++ или на другом компелируемом языке, скорость работы существенно возрастёт.
Ну вообщем сам скрипт:
<?
// Скрипт для слияния файлов словарей
//Слияние происходит следующим образом:
//Строки (слова) из файла $f_into добавляются в соответсвующие позиции файла $f_out, повторы исключаются
//Скрипт использует только исходные файлы (не создаёт дополнительных)
//и настраеваемый буфер памяти $len_buffer (может работать с большими файлами и при маленьком кол. оперативы.
//++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++
$f_into="pass.txt"; // имя внедряемого файла словаря (не обязательно сортирован)
$f_out="D:\all_pass.txt"; // имя выходного файла словаря (должен быть отсортирован)
$f_in=fopen($f_into,"r"); // открвываем файл внедряемого словаря
if (!$f_in) echo "Не найден внедряемый файл словаря.!<br>";
$f_ou=fopen($f_out,"r+"); // открвываем выходной файл словаря
if (!$f_ou) echo "Не найден выходной файл словаря!<br>";
$s1=""; // предыдущее к вставляемому слово в выходном файле
$s2=fgets($f_ou); // последующие слово после вставляемого
$s2=substr($s2, 0, strlen($s2)-2); // отрезаем два байта перевод строки и возврат каретки
$len_buffer=100000; // длинна буфера памяти в байтах
while (!feof($f_in)) // пока не достигнут конец внедряемого файла делаем
{
$s=fgets($f_in); // вставляемое слово
$s=substr($s, 0, strlen($s)-2); // режем лишнее
$fsize=filesize($f_out); // получаем начальный размер выходного файла словаря
while (!feof($f_ou)) // пока не достигнут конец выходного файла делаем
{
$s1=$s2;
$s2=fgets($f_ou);
$s2=substr($s2, 0, strlen($s2)-2);
$h=strcmp("$s1","$s"); //сравниваем всавляемое слово с предыдущим
$l=strcmp("$s","$s2"); //сравниваем всавляемое слово с последующим
if ($s1===$s) break; //если слово есть в словаре, то заканчиваем поиск мества вставки
if ($h<=-1 and $l<=-1) break; //если место вставки найдено, то заканчиваем поиск (кстати можно применить метод деления пополам)
};
if ($s1!=$s and $s!="") // если слова нет в словаре, то добавляем
{
fseek($f_ou,-strlen($s2)-2,SEEK_CUR); // смещаем указатель на начало последующего слова за $s
$tek_pos=ftell($f_ou);
//echo "[".$h."][".$s1."]<[".$s."]<br>";
//echo "[".$l."][".$s."]<[".$s2."]<br>";
echo "Текущая позиция:".$tek_pos."<br>";
echo "Проверка:".$s1."__".$s."__".$s2."<br>Длинна вставляемого слова: ".strlen($s)."<br>";
$n=floor(($fsize-$tek_pos)/$len_buffer); //вычисляем необходимое количество циклов смещения блоков
$new_tek_pos=$n*$len_buffer-2; //вычисляем позицию 1-го копируемого блока данных относительно текущего указателя
//echo "Смещение:".$new_tek_pos."<br>";
fseek($f_ou,$new_tek_pos,SEEK_CUR); //устанавливаем указатель в начало 1 блока
for ($i=$n; $i-->=0;)
{
//echo "Позиция начала копируемого блока до чтения: ".ftell($f_ou)."<br>";
$data=fread($f_ou,$len_buffer); //читаем 1 блок данных
$dseek=strlen($data); // длинна прочитанных данных.
//echo "Позиция начала копируемого блока после чтения: ".ftell($f_ou)."<br>";
//echo "Длинна прочитанных данных.:".$dseek."<br>";
fseek($f_ou,-$dseek+strlen($s)+2,SEEK_CUR); // устанавливаем указатель в начало блока со смещением на запись
//echo "Позиция начала копируемого блока перед записью: ".ftell($f_ou)."<br>";
fwrite($f_ou,$data); //пишем в файл блок со смещением.
fseek($f_ou,-strlen($data),SEEK_CUR); // устанавливаем указатель в начало блока со смещением на запись
//echo "Позиция начала копируемого блока после записи: ".ftell($f_ou)."<br>";
fseek($f_ou,-$len_buffer-strlen($s)-2,SEEK_CUR);
//echo "Число циклов сдвигов: ".$i."<br>";
}
fseek($f_ou,-strlen($s),SEEK_CUR);
echo "Позиция для вставки строки: ".ftell($f_ou)."<br>---------------------------------------<br>";
fwrite($f_ou,$s."\r\n");
fclose($f_ou); // фиксируем изменения на физическом диске
$f_ou=fopen($f_out,"r+"); // открвываем выходной файл словаря снова
}
}
fclose($f_ou); // закрываем файлы
fclose($f_in);
?>
Словари для теста:
all_pass.txt - начальный.
!
!!!
!!!!
!!!!!
!!!!!!
!!!!!!!!!!
!!!@@@###
!!!RONY!!!
!!xxx!!
!"?123qwe
!$)&!(*(
!%$#
!(*)
!041470
!2344321
!2345
!2345q
!247spyz
!@#$
!@#$%
!@#$%QWE
!@#$%QWER
!@#$%^
!@#$%^&*()_+
!@#$%q
!@#qwe
добавляемый pass.txt
!!!!!2
!!!!!5
!!yyy!!
!!!!1
Должно получится на выходе:
all_pass.txt
!
!!!
!!!!
!!!!!
!!!!!!
!!!!!!!!!!
!!!!!2
!!!!!5
!!!!1
!!!@@@###
!!!RONY!!!
!!xxx!!
!!yyy!!
!"?123qwe
!$)&!(*(
!%$#
!(*)
!041470
!2344321
!2345
!2345q
!247spyz
!@#$
!@#$%
!@#$%QWE
!@#$%QWER
!@#$%^
!@#$%^&*()_+
!@#$%q
!@#qwe
Прошу затестить на Ваших больших словарях (обратите внимание на требования к файлу all_pass.txt)
P.S. Сильно не бейте за код ;) Чтоб ускорить работу скрипта с большими файлами, старайтесь ставить размер буфера максимально возможным, при котором нет ошибки нехватки памяти...
P.P.S. 2Procedure, если перепишеш на С++ это дело буду очень признателен ;) (появился всё же :D )
-=lebed=-
14.01.2009, 10:31
Затестил новую версию, разок зависла на глушняк вся система (Vista) при сортировке словаря 220Мб. (ну может не в проге дело - х.е.з. повторю тест позже)
Пункт объединение словарей - не что иное как обычная склейка двух текстовых файлов. Т.е. имеем словарь1 и словарь2 отличающиеся только одним словом (т.е. в словаре1 его нет, оно есть только в словаре2). На выходе получаем словарь3, который содержит дубликаты слов+ дополнительное 1 слово. Далее надо загрузить его в программу и удалить повторы, снова сохранить! Затем снова загрузить в прогу и сделать сортировку (для удобства использования). Очень много лишних операций и данный полуавтоматический режим настоящего объединения файлов словарей неудобен. Предлагаю заменить алгоритм обычной склейки на предложенный мною (ну можно результирующий сделать отдельным выходным файлом.
Т.е. имеем в папке несколько словарей (любых). Выбираем из них наибольший по размеру, сортируем его, записываем на диск. Остальные файлы словарей интегрируем в него последовательно. Задача: на выходе в итоге получить результирующий файл словаря, не содержащий повторов и отсортированный...
UP: Прога повесила систему (Vista, 2Гб. оперативы) при удалении повторов на склееном ранее этой же прогой словаре размером ~ 500Мб.
cel1697i845
07.03.2009, 15:03
Программа предназначена для копирование строк с определенного символа
(То есть Вы указываете символ, а программа ищет строки начинающие на этот символ)
Например:
(Поный путь к примеру "D:\1.txt")
В основном файле(1.txt) содержаться данные:
_______________________________________________
0
1
2
3
4
43
13
658
ыро
екн
1еаис
тмоп
_______________________________________________
Вы указали символ "1", тогда в файле для сохранения (например 2.txt)
(Поный путь к примеру "D:\2.txt")
Будут данные
_______________________________________________
1
13
1еаис
_______________________________________________
Примечание:
В данной программе символ вводиться с учетом регистра.
скачать (http://letitbit.net/download/21305a33703/R3.rar.html)
Прошу сильно не критиковать - это моя первая программа (Возможно она и не понадобиться Вам).
P.S. Сильно не пинать. Я и сам знаю что Вы можете сделать лучше.
ErrorNeo
09.05.2009, 14:56
мощная Юзер-френдли программа для работы со словарями
*соединяет разные словари
*удаляет дубликаты
*сортирует результат по алфавиту
*может создавать упорядоченные, так же без дублей, словари из книг и любых других текстовиков.
*быстро работает: на обработку(слияние+удаление дублей+сортировку по алфавиту), к примеру, 20 мегабайтов частично-диблирующихся пасс-листов затрачивает меньше 1 минуты и требуется одно нажатие кнопки.
Ветка обсуждения и поддержки программы на хэш-крэкинге:
https://hashcracking.info/forum/viewtopic.php?f=10&t=233
Исходный код в архиве с программой.
Написана мной.
надеюсь эта тулза вполне может заслужить статус "маст хэв" для любого, кто работает с пассворд-листами.
ps. когда писал прогу почему-то не увидел данной темы;).
ps2. Поддержку больших файлов приделаю своей проге уже в следующей версии, думаю она не заставит себя долго ждать. Но если хотите добавления или изменения чего-либо уже существующего - зайдите в линк поддержки програмы и постаните. Интересные пожелания постараюсь добавить. Следующая версия, думаю, выйдет в пределах недели-двух.
ErrorNeo
09.05.2009, 19:07
сравнил программы - на обработке(удалении дублей+сортировке по алфавиту) пасс-листов до 20Мб Powerful Password List Creator v1.0 alpha работает быстрее. На б'ольших по размеру листах в отрыв по скорости уходит "Работа со словарями" v3.0.
к различиям можно отнести:
1. разные дополнительные функции
*В РСС v3 много хотя и не особенно нужных, но таких доп-функций, которых нет в PPLC v1a.
С другой стороны PPLC v1.0a умеет создавать пасс-листы из *любых* файлов: книг, html файлов, ... да чего угодно. Хоть из *.iso образов, гг.
(кстати именно для этого она изначально и была написана)
*в PPLC есть возможность фильтровать длинну пассов в создаваемом файле не только по *либо* мин либо макс значению, но и по обоим одновремено. (напреимер можно сохранять только пассы, длиннее 7 символов но при этом короче 12). В PCC - либо то либо то. Мне показалось это нужным (для своих целей), а вот PCC v3 - наоборот этого не умеет.
2. В программах просто *диаметрально* противоположный подход к созданию интерфейса.
В PPLC v1.0a всего одна кнопка и 3 переключателя, причём уже установленные при запуске программы в значения по умолчанию.
Всё что нужно чтобы начато работать - в подпапку в директории с программой /input записать любое колличество любых файлов, с любыми именами, любыми расширениями и любым содержимым.
Далее - достаточно нажать "Старт" (вам покажут названия файлов, которые будут обработаны) - нажать Окей, и всё.
Как только в статус-баре появится "Задание выполнено" - ваш готовый обработанный пассворд-лист будет лежать в подпапке /output и называться output.txt
Интерфейс PCC v3 же.. критиковать не стану.
Скажу лишь, что для того, чтобы удалить дубликаты, а затем отсортировать по алфавиту один единственный файл 'file.txt' требуется нажать 12 кнопок и 3 раза выбрать\ввести имена файлов - причем все эти действия будут равномерно распределены по всему процессу обработки - стоит вам отвлечься на пол-минуты, и программа остановится в ожидании очередного нажатия вами "окей" (хз зачем это нужно, но я обещал, что критиковать не буду. Скорее всего РССv3 просто старается скоротать время ожидания пользователю, просто развлекая его таким образом)
xDD
===================================
итог для себя, как автора PPLC:
1. по умолчанию в Работе со Словарями отключена проверка длинны паролей, и это правильно.
надо тоже отключить по умолчанию. Обычно ей не пользуются, при этом она где-то на 15% тормозит обработку.
2. В PCC исходные файлы читаются построчно, в PPLC - посимвольно. Это "надежнее" и удобнее в реализации, но, думаю, введя построчное считывание, возможно, еще немного выиграю в скорости.
3. Касательно скорости создания больших Пассворд-листов (>20Мб), где моя программа заметно уступает по скорости PCC - можно будет судить только после реализации алгоритма кэширования, который, как я думаю, превратит функцию скорости создания пасс-листов в моей программе из ~квадратичной в линейную.
===========================
итог в целом:
ни одна из этих двух программ не способна заменить другую.
но- попробую в следующей версии(версиях) PPLC изменить это положение вещей^^
xD
с уважением, Error.
ps. "Работа со словарями" - прикольное название.
Я, если честно, тоже собираюсь написать тулзу с говорящим названием "Ходилка-бродлка", но скорее всего назову все же её Lemming (это будет i-net crawler)
файл поврежден, перезалейте
cel1697i845
05.09.2009, 16:44
Edit Passwords List
Программа имеет возможности:
1. Разбиение по md5 .
Словарь (Input\input.txt) разбиваеться на 16 файлов (Output\0..f)
Слова(пароли) распределяються в зависимости от их хэш-функции (по первому символу)
Это поможет экономить время в дальнешем(в случае одного хэша не придёться пробивать
по всему словарю, а только по 1/16)
Пример:
"Input\input.txt" md5 --> пароль запишеться в файл
0 cfcd208495d565ef66e7dff9f98764da с
1 c4ca4238a0b923820dcc509a6f75849b с
2 c81e728d9d4c2f636f067f89cc14862c с
3 eccbc87e4b5ce2fe28308fd9f2a7baf3 е
4 a87ff679a2f3e71d9181a67b7542122c a
5 e4da3b7fbbce2345d7772b0674a318d5 e
6 1679091c5a880faf6fb5e6087eb1b2dc 1
7 8f14e45fceea167a5a36dedd4bea2543 8
8 c9f0f895fb98ab9159f51fd0297e236d c
9 45c48cce2e2d7fbdea1afc51c7c6ad26 4
и так далее.
2. Сортировка (дубликаты не удаляет)
3. Подсчет строк
4. Комбинированный
Пример:
File-1
0
1
File-2
A
B
Output.txt
0A
0B
1A
1B
------------------------------------------------------------
скачать можно с :
1. http://depositfiles.com/files/7xcaa7emu
2. http://rapidshare.com/files/275949006/EPL.rar.html
3. http://letitbit.net/download/1712.1cb719975a2389741077b4c22/EPL.rar.html
залейте кто нить,буду благодарен
или аналог посоветуйте,словарь от 500м
ErrorNeo
22.09.2009, 13:47
http://slil.ru/28004215 тут возьми PPLC и merge_module
http://slil.ru/28004243 отсюда возьми converter, мож пригодится.
кидай словари в подпапку input, запускай PPLC, ставь цифру 1500 (если есть 750 метров свободной оперативки, если меньше то ставь меньше, если больше то побольше), прогоняй словари PPLC и потом(как отработает) запускай merge_module. (внитри будет инструкция что нажимать).
Конвертер это просто полезная утилитка
Примечание: если обрабатываешь небольшие словари(до 50-100 метров) - можешь ставить в PPLC 99999 цифру.
В этом случае кеш использоваться не будет.
Еще в PPLC нижняя опция "все символы+пробел" вылетает, добавлял на скорую руку) Так что лучше не пользуй её.
Софт мой но никак не доведу полностью до "товарного вида".
Хотя работает)
ErrorNeo спасибо!,я юзал твою прогу на словаре 490 м наглухо повисла,хотя озу 10гигов,пришлось словарик резать,щас еще попробую как написал :)
ErrorNeo
23.09.2009, 13:17
Shadrin, та что ты юзал была v1.0a или в лучшем случае специально урезанная 2.0.
они не делали больших словарей.
та что я выложил последней - умеет. (кое-как :D )
я сам ей одно время обработал 5 гигов словарей в один
Calcutta
26.09.2009, 16:37
есть идея, ищется доброволец для реализации.
Имеем отсортированные по алфавиту словари в отдельных файлах в зависимости от длины пассов.
Требуется удалить "генерёнку", которая невольно попадает в словари. пассы идущие подряд и отличающиеся в 1-2 символа.
приведу пример:
0verc4u+10u$ne$$
0verc4u+10u5ne55
0verc4u+10usness
0verc4u+i0u$ne$$
0verc4u+i0u5ne55
0verc4u+i0usness
0verc4u710u$ne$$
0verc4u710u5ne55
0verc4u710usness
0verc4u7i0u$ne$$
0verc4u7i0u5ne55
0verc4u7i0usness
0verc4ut10u$ne$$
0verc4ut10u5ne55
эти "пассы" явно использовались кем-то для накрутки рейтинга на онлайн-сервисах.
ErrorNeo
26.09.2009, 17:34
converter v1.01
http://narod.ru/disk/13546017000/converter_1_01.ZIP.html
"убрать строки, в которых менее %моя_цифра% символов отличаются"
Работа со словарями v.3.0
Перезалейте пожалуйста на любой обменник или в аттач. Архив битый. Спасибо.
Работа со словарями v.3.0
Перезалейте пожалуйста на любой обменник или в аттач. Архив битый. Спасибо.
Есть только 2.8, если что вот ссылка
http://narod.ru/disk/15247088000/slovar.zip.html
у меня версия 2.8 пишет "Возможно у вас не хватает прав доступа к файлу" Хочу отсортировать 1.3 гига. А PPLC ни с каких ссылок не могу скачать, то файла нет, то грузиться ссылка до бесконечности....
хотелось бы консольную версию
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot