Author Topic: Удаление контактов на серверах ICQ  (Read 7954 times)

0 Members and 1 Guest are viewing this topic.

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Удаление контактов на серверах ICQ привело к удалению контактов в самой Миранде. Тем не менее, просмотр базы обычной программой просмотра текстовых файлов показал, что сами сообщения, старая переписка всё-таки в базе осталась. Как бы её оттуда извлечь, как бы её перевести на Dummy account? Есть способ? Нельзя ли такой способ разработать? См. также https://forum.miranda-ng.org/index.php?topic=5995.0;wap2
 

Offline dartraiden

Добавьте эти контакты снова и вгрузите историю с сервера (история переписки на сервере не удаляется при удалении контакта из ростера).

А что, они удаляются из актуальной версии Миранды? Мы это исправляли, возможно, Mail.ru опять что-то поменяла (к сожалению, разработчики ICQ не уведомляют нас о предстоящих изменениях и мы узнаём о них тогда, когда пользователи сообщат, что что-то идёт не так).

Тем не менее, просмотр базы обычной программой просмотра текстовых файлов показал, что сами сообщения, старая переписка всё-таки в базе осталась
Разумеется, записи просто пометились как удалённые, а физически их никто не стирал.

Нельзя ли такой способ разработать?
Наверное, технически возможно, боюсь, что разрабатывать его придётся вам самому.
В Миранде это решается регулярным резервным копированием, а всё, что профукано, увы, профукано.
« Last Edit: 08 08 2020, 17:24:14 by dartraiden »
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Регулярное автоматическое резервное копирование спасает в ситуации порчи базы Миранды. Оно не спасает в ситуации, когда ВТИХАРЯ, НИЧЕГО У МЕНЯ НЕ СПРАШИВАЯ И НИКАК НЕ ПРЕДУПРЕЖДАЯ, у меня сделали так, что я теперь не имею нормального доступа к части своей переписки. А я это обнаружил спустя несколько лет, когда мне понадобилось перечитать, что там мне писали 5 лет назад. За такое время у меня уже, конечно, не осталось никакой резервной копии, где эта переписка была бы нормально отображена, так как при регулярном резервном копировании ограничено количество копий, а старые копии при этом заменяются новыми. И если я бы мог сам написать соответствующий плагин - то мне не было бы нужды обращаться сюда. Хорошо, а может есть какие-то иные программы, которые позволяют просматривать базу Миранды в более удобном виде? Чтобы я мог просмотреть все сообщения, которые без моего ведома мне пометили как удалённые.


 

Offline dartraiden

Есть утилита mdbx_dump, не знаю, насколько её вывод поможет что-то извлечь...

Формат открытый, если умеет программировать, то https://github.com/erthink/libmdbx в помощь, мы используем эту библиотеку (в слегка изменённом виде).
« Last Edit: 09 08 2020, 11:34:00 by dartraiden »
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
К сожалению, переформатирование базы по описанному здесь https://wiki.miranda-ng.org/index.php?title=Plugin:Dbx_mdbx/en алгоритму (сначала mbdx_dump в temp, потом mdbx_load возвращаем формат базы) не привело к тому, что помеченные удалёнными сообщения стали отображаться. Так что по-прежнему хочется, чтобы кто-то что-то сделал для того, чтобы эти сообщения из базы можно было вытащить. Они там точно остались.
 

Offline dartraiden

load и не должен был помочь.

дамп и ковыряться в нём. И то не факт, что он дампит всё. Вполне возможно, что он дампит только существующие записи, а не удалённые. Других известных мне утилит нет, как и желающих их написать.

Хотя, там наверняка уничтожены индексы при стирании, поэтому восстанавливать сообщения, всё равно что файлы, удалённые с HDD, когда MFT уже затёрта - в этом случае файлы восстанавливаются (поскольку они физически не перезаписаны), но с рандомными именами и без структуры каталогов.

С SQLite будет попроще, потому что формат популярный. Но в настоящий момент переходить на dbx_sqlite я бы никому не советовал, очень экспериментально и будет переписываться в ближайшие месяцы.
« Last Edit: 10 08 2020, 00:10:14 by dartraiden »
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
А каким образом в этом дампе "ковыряться"? Если файл самой базы можно хотя бы просмотреть в программе просмотра текстовых файлов (и там вполне можно увидеть отдельные сообщения вперемешку со всякими бессмысленными для человека символами), то в этом самом tmp-файле (дампе) нельзя увидеть абсолютно ничего осмысленного. Честно говоря, мне вообще кажется, что это просто hex от файла базы, как-то трансформированный. Но я конечно не знаю на самом деле, что это. В какой это надо смотреть программе?

Да мне бы просто восстановить эти сообщения, даже если это будет просто набор сообщений без указания, когда и кому они направлены - и даже такое лучше, чем ничего. Главное, что в самой базе они вообще перемешаны, и просто просматривая базу в программе просмотра текстовых файлов, восстановить полный набор этих удалённых сообщений - задача нереальная. Так что хотелось бы, чтобы был какой-то ну просто уж способ извлечь из базы набор сообщений, которые в базе помечены как удалённые. Неужели здесь нет программистов, которые могут такое сделать?
 

Offline ghazan

А каким образом в этом дампе "ковыряться"?
Текстовым редактором.

Если файл самой базы можно хотя бы просмотреть в программе просмотра текстовых файлов (и там вполне можно увидеть отдельные сообщения вперемешку со всякими бессмысленными для человека символами), то в этом самом tmp-файле (дампе) нельзя увидеть абсолютно ничего осмысленного. Честно говоря, мне вообще кажется, что это просто hex от файла базы, как-то трансформированный.
Это и есть hex.

Так что хотелось бы, чтобы был какой-то ну просто уж способ извлечь из базы набор сообщений, которые в базе помечены как удалённые.
Понятно, что сама база такие сообщения будет игнорировать, так что утилитой mdbx_dump эти сообщения точно не восстановить.