• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как восстановить контакты из Pim.vol

  • Автор темы Guest
  • Дата начала
G

Guest

Доброго времени суток, уважаемые!
В кратце: Из КПК вытащил файл pim.vl в котором содержатся записи контактов и соответственно календарные записи.
На буржуйском сайте нашёл что-то типа описания скрипта, но необходимо иметь установленный Perl на компе.
Есть только pim.vol и написание, правда не знаю это то или не то:

Он пишет, что нашёл английский текст и цифры в текстовом файле pim.vol.
В результате чувак сделал небольшую программу, которая может хорошо проанализировать двоичные данные и даёт телефонные номера в качестве результата.
(в первую очередь это даёт номера из списка последних звонков и список контактов):

Далее выписка:

As result I made a small program that parse binary data well and gives tel numbers as result (first it gives numbers from last calls list and then contact list):



sasha@lt:~/software/htc/contact$ perl parse_pim.pl pim.vol

Start parsing..

Спойлер (+/-)
89035450000;Vlad

89105440000;Aaa



ANDREI;89167750000

Alexey Maks;90589265000000

...





The program is:



exit "Usage: parse_pim.pl filename" unless $ARGV[0];



print "Start parsing..\n";



my $cond = "wait";

my $contact = '';

my %contacts;



open(F, "<".$ARGV[0] );



my $s;

while(read(F, $s, 1) ) {



while($s =~ /./g) {

if( ord($s) == 8 && $cond eq "wait" ) {

$cond = "zero";

} elsif ( ord($s) == 0 && $cond eq "zero" ) {

$cond = "start";

} elsif ( $cond eq "zero" ) {

$cond = "wait";

} elsif ( ( $cond =~ /^start|read$/ || ( $cond > 0 && $cond < 6 )) && ( ( ord($s) >= 48 && ord($s) <= 57 ) || ( ord($s) >= 97 && ord($s) <= 122 ) || ( ord($s) >= 65 && ord($s) <= 90 ) || ord($s) == 32 ) ) {

$contact =~ /(.)$/;

if( ( ord($1) < 48 || ord($1) > 57 ) && ( ord($s) >= 48 && ord($s) <= 57 ) ) {

$contact .= ';';

}

$contact .= $s;

$cond = "read";

} elsif ( $cond eq 'read' ) {

$cond = 1;

} elsif ( $cond >= 4 ) {

$cond = "wait";

$contacts{$contact} = 1 if $contact =~ /\d{5,}/ && $contact =~ /\w+/;

$contact = '';

} elsif ( $cond > 0) {

$cond++;

}

}

}



close(F);



for my $contact (sort keys %contacts) {

print $contact."\n";

}



# I translated the result to Outlook contact list then (because it is possible to synchronize Outlook contact list with my htc3300 WM5 device). Next steps:

# 0. I created CSV template file (with required fields) using Outlook contact export to CSV first. helped me

# 1. I translated the perl prg output to CSV file

# 2. I imported CSV to Outlook contact list.

# 3. I synchronized htc3300 contact list with outlook.



Sasha.
=========================================================================
взято от сюда:

может файл(pim.vol) прикрутить сюда? может кто-нибудь парит в этом всём. Я просто опух от этого всего.
Мало того, что по англисски мало ясно, а тут ещё и программировать надо. Помогите кто может!
 
G

Guest

Я оказывается и русский теперь плохо понимаю...
В чем вопрос то?

Вам программистам хорошо на свете жить, вы в знакомых буквах всегда подвох можете найти :)
Вопрос он такой, что имеется файл (pim.vol) из КПК( карманный персональный компьютер) а в нём содержится массив данных ( хотя не уверен, что выражаюсь правильно) так вот, там данные про входящие звонки, телефонные номера контактов, планируемые календарные задачи, а так же заметки, ну наверно много чего ещё. Файл бинарный. При просмотре в двоичном редакторе цифры ещё разобрать можно, а вот с буквами разброс и закракозябрено всё, ещё и с пробелами между словами и какими-то постороннеми знаками и символами.
Долгие поиски привели меня к тому, что как я понял, наши русские ешё не нашли способ восстановления данных из этого файла,но на одном буржуйском наткнулся на описание способа, которым можно восстановить номера телефонов и имён к ним.

As result I made a small program that parse binary data well and gives tel numbers as result (first it gives numbers from last calls list and then contact list):
В переводе, как я понял он пишет: В результате, я сделал маленькую программку, которая грамотно разбирает бинарные данные и даёт телефонные номера как результат.
Сначала она даёт номера из списка вызовов и затем входит в контакт со списком.

Далее он приводит код программы и при помощи Perla собирает данные в нормальный человеческий вид.
Таким образом можно восстановить данные и помочь, я не побоюсь этого слова, тысячам граждан нашей необьятной ...
Конечно же мне предлагали вытащить эти данные различными бэкаповскими программами, сохранителями и т. подобное, но это всё работает на исправном КПК или если данные хоть когда-нибудь сохранялись. Но тут не тот случай. Есть только один файл, который верой правдой служил человеку более 3-х лет, а теперь всё :D КПК сломался и остался только pim.vol
Могу файл прикрутить или как-то передать для просмотра, но кажется это будет не совсем корректно светить данные на всеобщее обозрение для спамеров и ..... как их там ещё???

Надежда умирает последняя. Или всё, и уже пора идти мылить верёвку??

Прочитав его пост, я понял, что если на компьютере стоит программная среда Perl и есть человек, который умеет обращаться с этим правильно, то можно и данные выудить, и восстановить многое. Одним словом хорошее дело состоится.
...... и будут нас помнить долго и памятник поставят гранитный на спину. :D
 
V

Vovochka

Ладно, кидай файл на vovochka13 (at) gmail.com
Может что получиться.
 
V

Vovochka

Короче, коль уже несколько людей на меня вышло с этой темой, напишу тут сразу.
Формат этих файлов закрыт и средств для их разбора фактически нет.

Приведенный выше скрипт - вообще не панацея.
Русский язык в файлах как-то кодирован, разбираться где там запрятаны эти имена фамилии времени нет.
Максимум что можно получить из файла - голый список телефонных номеров.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!