Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 56
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата myhouse_1991:
Вложения
RunWithNTFSIgnore.zip »
а на исходники можно взглянуть?(желательно Паскал/Дэлфи) - на авторские права ни в коем разе не претендую, просто тут трабла такова:
Код: Выделить весь код
Procedure FileCopy( Const SourceFilename, TargetFilename: String );
Var
  S, T: TFileStream;
Begin
  S := TFileStream.Create( sourcefilename, fmOpenRead or fmShareDenyWrite);
  try
    T := TFileStream.Create( targetfilename, fmShareExclusive or fmCreate );
    try
      T.CopyFrom(S,  S.Size) ;
      T.Free;
      S.Free;
    except
    on E : EFCreateError do MessageBox( 0,
    PChar('Не удаётся записать файл'+#13+targetfilename+#13+
    E.ClassName+' ошибка с сообщением : '+E.Message), 'DriverRegister', MB_IconError);
    end;
  except
   on E : EFCreateError do MessageBox(0,
      PChar('Не удаётся прочитать файл'+#13+sourcefilename+#13+
      E.ClassName+' ошибка с сообщением : '+E.Message), 'DriverRegister', MB_IconError);
  End;
End;
вызываю это так:
Код: Выделить весь код
FileCopy(ExtractFilePath(Application.Exename) + '\RegDriver.sys', GetEnvironmentVariable('WINDIR') + '\system32\drivers);
... ну и получаю: отказано в доступе...???
На досуге тут подумал (а мож и показалось???) - а мож моему Project1.exe дабы "провернуть" вышезатребованное какя-нить привилегия потшэбна? Так вот список:
Код: Выделить весь код
  SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
  SE_ASSIGNPRIMARYTOKEN_NAME =  'SeAssignPrimaryTokenPrivilege'; 
  SE_LOCK_MEMORY_NAME =  'SeLockMemoryPrivilege';
  SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege'; 
  SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege'; 
  SE_MACHINE_ACCOUNT_NAME =  'SeMachineAccountPrivilege'; 
  SE_TCB_NAME =  'SeTcbPrivilege';// нужна для вызова LogonUser
  SE_SECURITY_NAME = 'SeSecurityPrivilege'; 
  SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege'; 
  SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege'; 
  SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege'; 
  SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege'; 
  SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
  SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
  SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
  SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
  SE_BACKUP_NAME = 'SeBackupPrivilege'; 
  SE_RESTORE_NAME = 'SeRestorePrivilege'; 
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; 
  SE_DEBUG_NAME = 'SeDebugPrivilege';
  SE_AUDIT_NAME = 'SeAuditPrivilege'; 
  SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege'; 
  SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege'; 
  SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
  SE_UNDOCK_NAME = 'SeUndockPrivilege';
  SE_SYNC_AGENT_NAME = 'SeSyncAgentPrivilege';
  SE_ENABLE_DELEGATION_NAME = 'SeEnableDelegationPrivilege';
  SE_MANAGE_VOLUME_NAME = 'SeManageVolumePrivilege';
Токма какая из них? Например при "впрыскивании" дллки в процесс с "отказано в доступе" очень помогает SeDebugPrivilege.
ХХХто-чё подскажет - бардзо джeнкye (очень благодарю)
З.Ы. Г-да Админы/Модеры - ежелить не в тему запостился - передислоцируйте туда, где потшэбно. Спс

-------
И был сначала ZX-Spectrum, потом Pentium, а на 7-ой день появился AMD, но это - форзва!!!


Отправлено: 23:12, 14-12-2014 | #473