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

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

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

  #11  
Старый 27.08.2009, 09:33
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Оки, щас попробую подкорректировать так чтоб он дампил в текстовый файлик
Код:
#!usr/bin/env python
#-*- encoding: UTF-8 -*-

import whichdb
import anydbm

DATABASE_NAME = raw_input("ENTER DATABASE FILENAME :")
print "DATABASE TYPE: {0}".format( whichdb.whichdb(DATABASE_NAME))
print "DATABASE ITEMS:"
db = anydbm.open(DATABASE_NAME, 'c')
with open("{0}_dump.txt".format(DATABASE_NAME), "w") as out:
    for k, v in db.iteritems():
        v_ = v.split("/")
        if k == v_[-1]:
            print "    ",k, '\t', v
            out.write("{0};{1}\n".format(k, v))
        else:
            print "DOUBLE",k, '\t', v
raw_input()
Откорректированный вариант, при запуске спросит имя файла, вводить с расширением (!).
Сдампит базу в текстовый файл, также выведет ее элементы в консоль и тип (если определит)
Ошибка вылазила из-за того, что я неправильно указал права на чтение БД (хотя какого хера, по идее там все правильно указано, ну да пох кароч)
Запускать можно двойным щелчком, консоль никуда не денется.
Формат данных сам по себе древний (если исходить из данных qBIN), фактически представляет собой ассоциативный массив в файле (список пар ключ:значение), как написано из данных qBIN то это старый движок для простых баз данных, сам по себе файл не текстовый(хотя там и проскакивают текстовые данные), из-за чего и кракозябры при просмотре блокнотом. Как работают виртуальные хостинги - хз, я никогда с ними не разбирался.
Как сразу пришел к решению - все очень просто - ты сам его нашел
Цитата:
Здесь, источник это двоичный файл DBM формата
Цитата:
convert txt map to dbm format
Цитата:
program for manipulating DBM password databases.
Исходя из этих данных можно с вероятностью в 90-95 процентов заявить что это таки действительно dbm. В стандартной библиотеке Python есть модуль для работы с файлами формата dbm и подобных ему (по крайней мере так написано). То что я написал - это на 90 % пример из стандартного мануала.
Мораль (для кодеров): нужно сцук знать стандартную поставку и расширения, доступные для вашего языка...

Последний раз редактировалось login999; 27.08.2009 в 15:08..
 
Ответить с цитированием

  #12  
Старый 27.08.2009, 12:06
M@rtein
Познающий
Регистрация: 09.08.2007
Сообщений: 58
Провел на форуме:
389103

Репутация: 15
По умолчанию

Отлично работает скрипт, заменил двоеточие на точку с запятой и сохранил как csv файл, оттуда в mysql импортирую. Только не понял скрипт закончил выполнение корректно или нет, так как текстовик с готовыми данными занимает в 2 раза меньше места!
Либо это бд была каким то образом так организована, чтобы обеспечить быстрый доступ к данным, либо за что переживаю что некорректно проработал скрипт. Что хотя наврядли....

!!! Кстати тип опрделил как dbhash.
 
Ответить с цитированием

  #13  
Старый 27.08.2009, 12:39
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от M@rtein  
Отлично работает скрипт, заменил двоеточие на точку с запятой и сохранил как csv файл, оттуда в mysql импортирую. Только не понял скрипт закончил выполнение корректно или нет, так как текстовик с готовыми данными занимает в 2 раза меньше места!
Либо это бд была каким то образом так организована, чтобы обеспечить быстрый доступ к данным, либо за что переживаю что некорректно проработал скрипт. Что хотя наврядли....

!!! Кстати тип опрделил как dbhash.
Вчерась экспериментировал с этой базой данных, могу сказать что
то что в базе занимало около 40 Кб в текстовом файлике занимало 7-8 Кб, размер у них больше чем у текстовых данных, намного больше.SQLite там была бы рациональнее.
По сабжу БД представляет собой BSD db ака Berkley DB
 
Ответить с цитированием

  #14  
Старый 27.08.2009, 13:10
qBiN
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме:
1535446

Репутация: 182


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

Цитата:
По сабжу БД представляет собой BSD db ака Berkley DB
вы че тупые то что написано переписывать.
Цитата:
Ndbm: In 1986 Berkeley produced ndbm (standing for New Database Manager).
Цитата:
Вчерась экспериментировал с этой базой данных, могу сказать что
то что в базе занимало около 40 Кб в текстовом файлике занимало 7-8 Кб, размер у них больше чем у текстовых данных, намного больше.
ты еще оракл проверь сколько в нем будет занимать твой кб текста
 
Ответить с цитированием

  #15  
Старый 27.08.2009, 13:30
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от qBiN  
вы че тупые то что написано переписывать.ты еще оракл проверь сколько в нем будет занимать твой кб текста
Это делать мне нехер перед тобой оправдываться ? Особенно если учесть то, что dbm драйвер не один, и какой именно там необходимо использовать я не знаю =/ Или по-твоему определение типа БД было просто так сделано ? А то что я написал означает то что это-стандартная dbm база, а не ***ти пойми какая реализация.

Если бы ты что-то умел то ты это что-то сделал бы, гуглом и википедией тут все умеют пользоваться, так что понты свои сверни в трубочку и засунь себе подальше. Тупых тут нету.

Последний раз редактировалось login999; 27.08.2009 в 13:42..
 
Ответить с цитированием

  #16  
Старый 27.08.2009, 15:40
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


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

login999 опередил , вот какраз зашол запостить перловку, твоя реализация правдо покрасивше =))
 
Ответить с цитированием

  #17  
Старый 27.08.2009, 15:47
M@rtein
Познающий
Регистрация: 09.08.2007
Сообщений: 58
Провел на форуме:
389103

Репутация: 15
По умолчанию

Цитата:
Сообщение от POS_troi  
login999 опередил , вот какраз зашол запостить перловку, твоя реализация правдо покрасивше =))
Пости, чтобы добить эту тему окончательно в пух и прах.
Ты писал на основе примера txt2dbm?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хостинги под всё! »Atom1c« ПО для Web разработчика 29 10.02.2009 17:56
Новые мобильные телефоны под управлением Windows Mobile 6 _GaLs_ Новости мира "железа" 7 21.02.2008 19:43



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


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




ANTICHAT.XYZ