Пароли в опере

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _nic, 20 Jul 2008.

  1. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Пробую считать wand.dat только почему ниче не выходит :( Пытаюсь сделать это так
    Code:
    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
    Code:
    \\\\.\\C:\\Documents and Settings\\user\\Application Data\\opera\\opera\\profile\\wan.dat
    
    Нечитает :( Хотя если в Выполнить ввести %APPDATA%\opera\opera\profile\wand.dat то этот самый ванддат открывается в блокноте.Ткните плиз где у меня ошибка.
     
  2. Feonor

    Feonor Elder - Старейшина

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    А вот это \\\\.\\ зачем?
    Убери и попробуй...
     
  3. _antony

    _antony Elder - Старейшина

    Joined:
    16 Jul 2008
    Messages:
    80
    Likes Received:
    43
    Reputations:
    0
    Диск С является символической ссылкой =)

    GetLastError() ?
     
  4. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Что с \\\\.\\ что без \\\\.\\ толку 0.
     
  5. SlyBit

    SlyBit Elder - Старейшина

    Joined:
    4 Jul 2008
    Messages:
    49
    Likes Received:
    8
    Reputations:
    0
    _nic

    У тебя ошибка в пути. Во-первых, ты пишешь, что тебе нужен файл wand.dat, а сам
    Во-вторых, в моей опере файл wand.dat лежит в "C:\Program Files\Opera\profile\wand.dat", папки opera в %APPDATA% вообще нет.
     
  6. Prod

    Prod Elder - Старейшина

    Joined:
    10 Dec 2006
    Messages:
    121
    Likes Received:
    44
    Reputations:
    3
    Зависит от опции "Для всех пользователей" при установке.
     
  7. _antony

    _antony Elder - Старейшина

    Joined:
    16 Jul 2008
    Messages:
    80
    Likes Received:
    43
    Reputations:
    0
    может автор все таки напишет , что GetLastError возрашает =)
     
  8. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Нуль как нестранно :(
     
  9. Feonor

    Feonor Elder - Старейшина

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    НЕ! Я не понимаю в чем проблема, запусти под отладкой и проверь путь к файлу, и проверь хендл.
    if (h == INVALID_HANDLE_VALUE)
    <значит хендл говно и точно дело в пути>

    если не получится, пиши в личку, помогу все равно делать нех...
     
  10. Feonor

    Feonor Elder - Старейшина

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Не он првильно пишет, ибо у меня тут:
    C:\Documents and Settings\user_name\Application Data\Opera\Opera\profile\wand.dat
     
  11. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Влепил после CreateFile вот это
    Code:
    if (f == INVALID_HANDLE_VALUE)
    {
    MessageBox(0,"err","err",MB_OK);
    }
    
    эффекта никакого.мессага невыскакивает :(
     
  12. izlesa

    izlesa Elder - Старейшина

    Joined:
    3 Jan 2008
    Messages:
    112
    Likes Received:
    32
    Reputations:
    5
    2_nic
    скинь скомпиленную прогу и исходник
    меня заинтересовало, чтото ошибки не вижу ^___^
    ослеп чтоле
     
  13. Feonor

    Feonor Elder - Старейшина

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Если так то у тебя хендл нормальный, нужно ошибку искать в фкц чтения.

    Ты бы исходник выложил, дело бы быстрей пошло :)
     
  14. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    а чем тебе fopen() не нравиться?
     
  15. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Code:
    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();
    }
    
    Исходник
     
  16. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    мож так
    Code:
    #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;
    }
    
     
    #16 nc.STRIEM, 26 Jul 2008
    Last edited: 26 Jul 2008
  17. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Как нестранно ниче невыводится.В cont пусто ,мистика какя то :( Если ввести в выполнить это %APPDATA%\opera\opera\profile\wand.dat то wand.dat открывается в блокноте.
     
  18. Aracul

    Aracul New Member

    Joined:
    13 Aug 2007
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    пиши в личку - помогу...)
     
  19. izlesa

    izlesa Elder - Старейшина

    Joined:
    3 Jan 2008
    Messages:
    112
    Likes Received:
    32
    Reputations:
    5
    2nc.STRIEM
    функции из стандартной библиотеке лучше не использовать в win32 приложениях, тк они более тормознуты и в конечном итоге всё равно обращаются к API
     
  20. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    Ну, что, смогли или нет? Очень интересная функция :)
     
    6 people like this.