Просмотр полной версии : Пароли в опере
Пробую считать wand.dat только почему ниче не выходит :( Пытаюсь сделать это так
char *text=new char[(1024*1024)*5];
void opera(void)
{
DWORD rd;
char app[500];char *pat=new char[1024*1024];
ExpandEnvironmentStrings("%APPDATA%",app,500);
strcpy(pat,"\\\\.\\");
strcat(pat,app);
strcat(pat,"\\opera\\opera\\profile\\wand.dat");
SetLastError(0);
HANDLE f=CreateFile(pat,GENERIC_READ,FILE_SHARE_READ,NULL ,OPEN_EXISTING,FILE_FLAG_RANDOM_ACCESS,NULL);
ReadFile(f,text,(1024*1024)*5,&rd,NULL);
cout<<GetLastError()<<endl;
CloseHandle(f);
cout<<pat<<endl;
}
main()
{
opera();
cout<<text<<endl;
getch();
}
Пытался напрямую вбивать строку в CreateFile
\\\\.\\C:\\Documents and Settings\\user\\Application Data\\opera\\opera\\profile\\wan.dat
Нечитает :( Хотя если в Выполнить ввести %APPDATA%\opera\opera\profile\wand.dat то этот самый ванддат открывается в блокноте.Ткните плиз где у меня ошибка.
А вот это \\\\.\\ зачем?
Убери и попробуй...
А вот это \\\\.\\ зачем?
Убери и попробуй...
Диск С является символической ссылкой =)
GetLastError() ?
А вот это \\\\.\\ зачем?
Убери и попробуй...
Что с \\\\.\\ что без \\\\.\\ толку 0.
_nic
У тебя ошибка в пути. Во-первых, ты пишешь, что тебе нужен файл wand.dat, а сам Пытался напрямую вбивать строку в CreateFile
\\\\.\\C:\\Documents and Settings\\user\\Application Data\\opera\\opera\\profile\\wan.dat
Во-вторых, в моей опере файл wand.dat лежит в "C:\Program Files\Opera\profile\wand.dat", папки opera в %APPDATA% вообще нет.
У тебя ошибка в пути. Во-первых, ты пишешь, что тебе нужен файл wand.dat, а сам Во-вторых, в моей опере файл wand.dat лежит в "C:\Program Files\Opera\profile\wand.dat", папки opera в %APPDATA% вообще нет.
Зависит от опции "Для всех пользователей" при установке.
может автор все таки напишет , что GetLastError возрашает =)
может автор все таки напишет , что GetLastError возрашает =)
Нуль как нестранно :(
НЕ! Я не понимаю в чем проблема, запусти под отладкой и проверь путь к файлу, и проверь хендл.
if (h == INVALID_HANDLE_VALUE)
<значит хендл говно и точно дело в пути>
если не получится, пиши в личку, помогу все равно делать нех...
_nic
...в моей опере файл wand.dat лежит в "C:\Program Files\Opera\profile\wand.dat", папки opera в %APPDATA% вообще нет.
Не он првильно пишет, ибо у меня тут:
C:\Documents and Settings\user_name\Application Data\Opera\Opera\profile\wand.dat
Влепил после CreateFile вот это
if (f == INVALID_HANDLE_VALUE)
{
MessageBox(0,"err","err",MB_OK);
}
эффекта никакого.мессага невыскакивает :(
2_nic
скинь скомпиленную прогу и исходник
меня заинтересовало, чтото ошибки не вижу ^___^
ослеп чтоле
Влепил после CreateFile вот это
if (f == INVALID_HANDLE_VALUE)
{
MessageBox(0,"err","err",MB_OK);
}
эффекта никакого.мессага невыскакивает :(
Если так то у тебя хендл нормальный, нужно ошибку искать в фкц чтения.
Ты бы исходник выложил, дело бы быстрей пошло :)
nc.STRIEM
26.07.2008, 12:25
а чем тебе fopen() не нравиться?
char *text=new char[(1024*1024)*5];
void opera(void)
{
DWORD rd;
char app[500];char *pat=new char[1024*1024];
ExpandEnvironmentStrings("%APPDATA%",app,500);
strcpy(pat,"\\\\.\\");
strcat(pat,app);
strcat(pat,"\\opera\\opera\\profile\\wand.dat");
SetLastError(0);
HANDLE f=CreateFile(pat,GENERIC_READ,FILE_SHARE_READ,NULL ,OPEN_EXISTING,FILE_FLAG_RANDOM_ACCESS,NULL);
if (f == INVALID_HANDLE_VALUE)
{
MessageBox(0,"err","err",MB_OK);
}
ReadFile(f,text,(1024*1024)*5,&rd,NULL);
cout<<GetLastError()<<endl;
CloseHandle(f);
cout<<pat<<endl;
}
main()
{
opera();
cout<<text<<endl;
getch();
}
Исходник
nc.STRIEM
26.07.2008, 13:56
мож так
#include<windows.h>
#include <stdio.h>
#include<IO.h>
int main()
{
char path[1024];
ExpandEnvironmentStrings("%APPDATA%", path, 900);
strcat(path, "\\opera\\opera\\profile\\wand.dat");
FILE *f = fopen(path, "rb");
if(!f)
return printf("File \"%s\" not found\n", path);
int fl = filelength(fileno(f));
char *cont = new char[fl+1];
fread(cont, fl, 1, f);
cont[fl] = 0;
printf("%s\n", cont);
fclose(f);
return 1;
}
Как нестранно ниче невыводится.В cont пусто ,мистика какя то :( Если ввести в выполнить это %APPDATA%\opera\opera\profile\wand.dat то wand.dat открывается в блокноте.
пиши в личку - помогу...)
2nc.STRIEM
функции из стандартной библиотеке лучше не использовать в win32 приложениях, тк они более тормознуты и в конечном итоге всё равно обращаются к API
AlexTheC0d3r
28.01.2009, 22:45
Ну, что, смогли или нет? Очень интересная функция :)
http://www.reteam.org/blog/archives/unwand.cpp
https://forum.antichat.ru/showpost.php?p=1078514&postcount=3
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot