ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Расшифровка хешей
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 14.01.2009, 00:37
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

2procedure
Вообщем я уже порядком запарился в вордлистами (сортировать, удалять повторы, склеивать и т.д.) а посути нужна всего одна хорошая утилитка!
Вообщем суть в следующем:
Имеем 1 файл (больший и основной) упорядоченного словаря (длина, символ, ну вообщем по второму варианту в твоей проге), без повторов слов (строк).
Есть втрой файл-словарь с новыми паролями, надо сделать их слияние в 1 файл (основной). Естественно он должен получится тоже без повторов и упорядоченным.
Кроме того должна быть допустима работа с большими словарями (500Мб-2,5Гб.) ну это скорее всего больше относится к 1 файлу, апгрейдим мы словарь обычно меньшими по объёму словарями. Вообщем алгоритм я попробовал реализовать на PHP, суть его будет понятна из кода и основан он на вставке данных в нужное место файла, тоже самое можно сделать и на C++ или на другом компелируемом языке, скорость работы существенно возрастёт.
Ну вообщем сам скрипт:
PHP код:
<?
// Скрипт для слияния файлов словарей
//Слияние происходит следующим образом:
//Строки (слова)  из файла $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($s20strlen($s2)-2); // отрезаем два байта перевод строки и возврат каретки
    
$len_buffer=100000// длинна буфера памяти в байтах 
while (!feof($f_in)) // пока не достигнут конец внедряемого файла делаем 
    
{
    
$s=fgets($f_in); // вставляемое слово
    
$s=substr($s0strlen($s)-2); // режем лишнее
    
$fsize=filesize($f_out); // получаем начальный размер выходного файла словаря
    
while (!feof($f_ou)) // пока не достигнут конец выходного файла делаем 
        
{
        
$s1=$s2;
        
$s2=fgets($f_ou);
        
$s2=substr($s20strlen($s2)-2);
        
$h=strcmp("$s1","$s"); //сравниваем всавляемое слово с предыдущим
        
$l=strcmp("$s","$s2"); //сравниваем всавляемое слово с последующим
        
if ($s1===$s) break; //если слово есть в словаре, то заканчиваем поиск мества вставки 
        
if ($h<=-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, если перепишеш на С++ это дело буду очень признателен (появился всё же )
 
Ответить с цитированием

  #12  
Старый 14.01.2009, 10:31
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Затестил новую версию, разок зависла на глушняк вся система (Vista) при сортировке словаря 220Мб. (ну может не в проге дело - х.е.з. повторю тест позже)
Пункт объединение словарей - не что иное как обычная склейка двух текстовых файлов. Т.е. имеем словарь1 и словарь2 отличающиеся только одним словом (т.е. в словаре1 его нет, оно есть только в словаре2). На выходе получаем словарь3, который содержит дубликаты слов+ дополнительное 1 слово. Далее надо загрузить его в программу и удалить повторы, снова сохранить! Затем снова загрузить в прогу и сделать сортировку (для удобства использования). Очень много лишних операций и данный полуавтоматический режим настоящего объединения файлов словарей неудобен. Предлагаю заменить алгоритм обычной склейки на предложенный мною (ну можно результирующий сделать отдельным выходным файлом.
Т.е. имеем в папке несколько словарей (любых). Выбираем из них наибольший по размеру, сортируем его, записываем на диск. Остальные файлы словарей интегрируем в него последовательно. Задача: на выходе в итоге получить результирующий файл словаря, не содержащий повторов и отсортированный...

UP: Прога повесила систему (Vista, 2Гб. оперативы) при удалении повторов на склееном ранее этой же прогой словаре размером ~ 500Мб.

Последний раз редактировалось -=lebed=-; 14.01.2009 в 10:58..
 
Ответить с цитированием

  #13  
Старый 07.03.2009, 15:03
cel1697i845
Постоянный
Регистрация: 22.11.2008
Сообщений: 395
Провел на форуме:
3987105

Репутация: 776
Отправить сообщение для cel1697i845 с помощью ICQ
По умолчанию

Программа предназначена для копирование строк с определенного символа
(То есть Вы указываете символ, а программа ищет строки начинающие на этот символ)

Например:
(Поный путь к примеру "D:\1.txt")
В основном файле(1.txt) содержаться данные:
_______________________________________________
0
1
2
3
4
43
13
658
ыро
екн
1еаис
тмоп
_______________________________________________

Вы указали символ "1", тогда в файле для сохранения (например 2.txt)
(Поный путь к примеру "D:\2.txt")
Будут данные
_______________________________________________
1
13
1еаис
_______________________________________________


Примечание:
В данной программе символ вводиться с учетом регистра.

скачать

Прошу сильно не критиковать - это моя первая программа (Возможно она и не понадобиться Вам).
P.S. Сильно не пинать. Я и сам знаю что Вы можете сделать лучше.
 
Ответить с цитированием

  #14  
Старый 09.05.2009, 14:56
ErrorNeo
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме:
4297091

Репутация: 2261


Отправить сообщение для ErrorNeo с помощью ICQ
По умолчанию

мощная Юзер-френдли программа для работы со словарями

*соединяет разные словари
*удаляет дубликаты
*сортирует результат по алфавиту
*может создавать упорядоченные, так же без дублей, словари из книг и любых других текстовиков.
*быстро работает: на обработку(слияние+удаление дублей+сортировку по алфавиту), к примеру, 20 мегабайтов частично-диблирующихся пасс-листов затрачивает меньше 1 минуты и требуется одно нажатие кнопки.

Ветка обсуждения и поддержки программы на хэш-крэкинге:
https://hashcracking.info/forum/view...php?f=10&t=233

Исходный код в архиве с программой.

Написана мной.

надеюсь эта тулза вполне может заслужить статус "маст хэв" для любого, кто работает с пассворд-листами.

ps. когда писал прогу почему-то не увидел данной темы.
ps2. Поддержку больших файлов приделаю своей проге уже в следующей версии, думаю она не заставит себя долго ждать. Но если хотите добавления или изменения чего-либо уже существующего - зайдите в линк поддержки програмы и постаните. Интересные пожелания постараюсь добавить. Следующая версия, думаю, выйдет в пределах недели-двух.

Последний раз редактировалось ErrorNeo; 09.05.2009 в 16:33..
 
Ответить с цитированием

  #15  
Старый 09.05.2009, 19:07
ErrorNeo
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме:
4297091

Репутация: 2261


Отправить сообщение для ErrorNeo с помощью ICQ
По умолчанию

сравнил программы - на обработке(удалении дублей+сортировке по алфавиту) пасс-листов до 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)

Последний раз редактировалось ErrorNeo; 09.05.2009 в 19:41..
 
Ответить с цитированием

  #16  
Старый 15.08.2009, 14:18
rezwii
Новичок
Регистрация: 05.05.2009
Сообщений: 9
Провел на форуме:
4063148

Репутация: 3
Отправить сообщение для rezwii с помощью ICQ
По умолчанию

перезалейте
 
Ответить с цитированием

  #17  
Старый 31.08.2009, 02:54
ziga
Познающий
Регистрация: 03.12.2007
Сообщений: 32
Провел на форуме:
173874

Репутация: 0
Отправить сообщение для ziga с помощью ICQ
По умолчанию

файл поврежден, перезалейте
 
Ответить с цитированием

Edit Passwords List
  #18  
Старый 05.09.2009, 16:44
cel1697i845
Постоянный
Регистрация: 22.11.2008
Сообщений: 395
Провел на форуме:
3987105

Репутация: 776
Отправить сообщение для cel1697i845 с помощью ICQ
По умолчанию Edit Passwords List

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
 
Ответить с цитированием

  #19  
Старый 22.09.2009, 13:23
Shadrin
Постоянный
Регистрация: 20.08.2008
Сообщений: 348
Провел на форуме:
2200171

Репутация: 270
Отправить сообщение для Shadrin с помощью ICQ
По умолчанию

залейте кто нить,буду благодарен
или аналог посоветуйте,словарь от 500м
 
Ответить с цитированием

  #20  
Старый 22.09.2009, 13:47
ErrorNeo
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме:
4297091

Репутация: 2261


Отправить сообщение для ErrorNeo с помощью ICQ
По умолчанию

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; 22.09.2009 в 13:53..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со словарями ProTeuS Болталка 11 10.03.2010 11:26
нужна работа! zl0byte О Работе 2 27.12.2008 13:15
Юмор: Кто сказал что у админов халявная работа? silveran Болталка 7 21.07.2007 02:37
Работа в сотрудничестве msobolev О Работе 0 03.02.2007 22:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ