PDA

Просмотр полной версии : Парсер для .sql


mindw0rk
01.09.2007, 16:42
Часто бывает, когда слит дамп базы какого-то форума, то для загрузки юзеров, хешей, соли и мыл в PasswordsPro, нужно ставить апач+пхп+mysql+phpmyadmin, хотя на рабочей машине мне 2 сервера нафик не нужны. Я только в phpmyadmin'е нашел функцию экспорта в CSV нужных столбцов с разделителем по выбору.
Есть какой софт под виндоуз или навороченный скрипт, чтобы облегчить работу, и получить данные в формате:
Admin:9cdfb439c7876e703e307864c9167a15:(9yX-:webmaster@microsoft.com
из .sql файла?

Spyder
01.09.2007, 16:45
https://forum.antichat.ru/showpost.php?p=428426&postcount=147
=)
Только вот соль он не вытащит, сорри =)

Constantine
01.09.2007, 16:49
Навороченный скрипт бай Spyder ))

Xex
01.09.2007, 16:57
Учите Perl, уважаемый, полезно для здоровья.

mindw0rk
01.09.2007, 16:58
Ндя, база 156МБ не жатая, только там и сообщения и ПМы и всякое разное. Не думаю что скрипт увидит, какое мыло к какому хешу принадлежит(

mindw0rk
01.09.2007, 17:04
Вот, это мега-монстрячество: http://hacker.clan.su/load/16-1-0-6

Piflit
01.09.2007, 17:10
Вот, это мега-монстрячество: http://hacker.clan.su/load/16-1-0-6
Оно работает?

mindw0rk
01.09.2007, 17:15
Оно работает?
Вроде как пытается, только пхп сочиняет басни про enable pass-by-reference.

mindw0rk
01.09.2007, 18:46
Короче, вот самый проверенный метод:
Ставим Denwer
Редактируем max POST size c 8M на 2000M в конфиге php
Исполняем скрипт дампа БД на одной из баз
Идем в phpmyadmin, Export
Формат CSV и разделитель :
Выбираем какие колонки надо и в каком порядке
Сохраняем и импортим список в PasswordsPro

ShAnKaR
09.09.2007, 01:48
самый проверенный и лутьший это когда с помощью grep, cut, awk, sed, perl, sort, uniq и тп

genom--
09.09.2007, 17:47
ну нам нужно знание блокнота и простейшее понимание скриптов с регэкспами (perl php python что угодно)

Pashkela
15.01.2008, 02:19
Скрипт для парсинга sql дампов
Выводит в файл список вида
mail:hash
После этого удобно импортировать в passwordspro

Пример запуска
perl script.pl c:/dump.sql c:/result.txt

#!/usr/bin/perl
open (SRC, "$ARGV[0]") or die "Can't open $ARGV[0]:$!";
open (RES, ">$ARGV[1]") or die "Can't create $ARGV[1]:$!";
@src = <SRC>;
$num = @src;
for ($id = 1;$id != $num;$id++) {
$str = "$src[$id]";
if ($str=~ /\w+@\w+.\w+/) {
$mail = $&;
}
if ($str =~ /\w{32}/) {
$hash = $&;
$res = join ':',$mail,$hash;
print RES "$res\n";
}
}
========================================

(c) Не моё

Spyder
15.01.2008, 02:31
(с) моё
https://forum.antichat.ru/showpost.php?p=428426&postcount=147