Mail.ru History Reader 3.0

UPDATE

Похоже снова появился интерес к моей программе, поэтому специально для Set_ и Alex.
Архив с PDF статьи в 159 номере журнала "Xakep" и исходниками к ней.

Примечания по исходникам: программа не без косяков - она не корректно закрывает открытый hMap. MapViewOfFile должен закрываться функцией UnmapViewOfFile, при этом мне необходимо было изменять выделенную память и не записывать изменения в файл... MapViewOfFile нужно было открывать с флагом FILE_MAP_COPY, а CreateFileMapping с флагом PAGE_READONLY...



Прошел всего год, и вот настал тот момент, когда благодаря стараниям SOLON7 формат истории был покорен :)

По многочисленным просьбам о новой версии (как никак больше 100 человек проголосовало в опросе) я ее родил:

Mail.ru History Reader 3.0

Это не полноценный релиз, многое из задуманного еще не написано, просто нет времени. В комментариях отпишите, какие функции вы бы хотели увидеть в релизе.

На данный момент программа поддерживает:
  • Сохранение списка e-mail
  • Сохранение переписки в виде текста и RTF
  • Сортировка списка e-mail по алфавиту и количеству сообщений (ЛКМ по заголовку столбца)
  • Просмотр фото контакта, а так же ссылки на все сервисы: мир, фото, видео, блоги (ПКМ на e-mail в списке либо меню "Контакт")
  • Поиск по истории (пока ищет только первое совпадение с начала)
В версии 3.0.0.2:
- исправлен баг с переполнением при формировании RTF (обнаружил SOLON7);
- исправлен баг с выделением 0 байт памяти и попыткой записи туда при пустой переписке (спасибо yuran666666 aka call_0day, за файл истории).

Скачать версию 3.0.0.2
Консольный вариант версии 3.0

Иструкция пользователя


История Mail.ru Агента представляется собой файл mra.dbs, который является дампом памяти и обычно расположен по пути %Application Data%\Mra\Base\mra.dbs.

Windows XPC:\Documents and Settings\%username%\Application Data\
Windows 7c:\Users\%username%\AppData\Roaming\
#include "tchar.h"

TCHAR path[MAX_PATH]; // сюда упадет путь для текущего пользователя
ExpandEnvironmentStrings(_TEXT("%appdata%\\Mra\\Base\\mra.dbs"),path,sizeof(path));
Раздобыть чужую переписку можно разными способами, это тема отдельного разговора, а самый простой вариант на мой взгляд - придти и скопировать (важно, чтобы Mail.Ru Агент не был запущен, а то он не даст скопировать файл т.к. сам работает с ним).

Открыв Mail.ru History Reader в главном меню выбираем "История - > Открыть" и указываем программе путь к нужному файлу истории.
Если в истории храниться переписка не одного пользователя, это отобразится в выпадающем списке, который расположен под меню (как на моём скриншоте).

Таблица "Почта" показывает список e-mail с которыми переписывался данный пользователь; в правом столбце указано количество сообщений.
Если нажать на заголовок правого столбца, то программа отсортирует таблицу в порядке убывания/возрастания количества сообщений.
Переписка открывается двойным кликом по нужной строке таблицы.
blog comments powered by Disqus
сюда туда