Проект №02. Часть 2.

Опубликовано 2 августа, 2009 в разделе Примеры на C#. Разместил Алексей(admin).

В предыдущей части я начал писать программу, которая бы смогла читать Cookies от браузеров Mozilla Firefox и Internet Explorer. Уже успел определить пути до самих файлов с Cookies, теперь их нужно прочитать и вытащить нужную информацию.

2. Вытащить логин-пароль из файлов Cookies.

Перед тем, как отфильтровать данные из файла с Cookies нужно его открыть. Открывать будем так:

string InputStr;
using (StreamReader reader = new StreamReader(path))
{
    InputStr = reader.ReadToEnd();
}

И тут я уже получил проблему. Дело в том, что Mozilla Firefox не захотел давать доступ даже для чтения и я получал ошибку – файл занят другим процессом. Не долго думая, я сделал так: файл скопировал в другое место, потом этот скопированный файл открыл, получил то что надо и его удалял. В итоге – заработало!

string pathFirefoxCopy = @"C:cookies.txt";
if (!File.Exists(pathFirefoxCopy))
{
     FileInfo filed = new FileInfo(pathFirefox);
     filed.CopyTo(pathFirefoxCopy);
}

Ну с открытием разобрался, теперь нужно вытащить из него только те данные, которые нам нужны. Для этого я воспользовался регулярными выражениями, хотя думаю можно было бы и обойтись стандартными строковыми функциями.

Так как Mozilla Firefox и Internet Explorer немного по разному записывают информацию, пришлось составлять 2 пары регулярных выражений(пары – так как один на логин, один на пароль). Сразу хочу сказать, что с Регулярными выражениями я вообще криво, поэтому немного и кривой результат вышел.

//Для Mozilla Firefox
Match loginMF = Regex.Match(InputStr, @"remixemail[w.-]+%40[w.]+.vkontakte.ru");
Match passMF = Regex.Match(InputStr, @"remixpass[w]{32}");
//Для Internet Explorer
Match loginIE = Regex.Match(InputStrIE, @"
[w.-]+%40[w.]+
");
Match passIE = Regex.Match(InputStrIE, @"
[w]{32}
");

Далее пришлось, с помощью Replace убить некоторые недочёты, и в итоге я получил нужные мне данные.

Ну, а дальше дело дизайна, сейчас оформлю и выложу в Мои программы.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Что можно ещё почитать:

Оставьте комментарий

You must be logged in to post a comment.