Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка "Параметр задан неверно" 
:(
    Опции темы
gud
Дата 7.5.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



я делаю перехват ZwOpenFile, запиываю в текстфайл имя того, что перехвачено и пытаюсь снова запустить етот перехваченный файл. 
запускаю свою прогу, запускаю notepad.exe, создается текстовый файл там пишется "....notepad.exe", а потом вылезает ошибка "... notepad.exe Прараметр задан не верно". с другими Exe тоже самое,

Помогите найти ошибку!!

Код


int WINAPI NewZwOpenFile(OUT PHANDLE  FileHandle_o,IN ACCESS_MASK  DesiredAccess_o,
                  IN POBJECT_ATTRIBUTES  ObjectAttributes_o,
                  OUT PIO_STATUS_BLOCK  IoStatusBlock_o,
                  IN ULONG  ShareAccess_o,
                  IN ULONG  OpenOptions_o)
    
{              
 WriteProcessMemory(INVALID_HANDLE_VALUE, (void*)adr_ZwOpenFile,(void*)&old_ZwOpenFile, 6, &written_o);

  PWCHAR wcsFileName = ObjectAttributes_o->pObjectName->Buffer;
  char myString [256]; 
  WideCharToMultiByte(CP_ACP, 0,wcsFileName, -1,myString, 256, NULL, NULL ) ;

  if (strstr(myString,".exe")!= NULL)
    {

    strcat(myString,"!\r\n");
    len_o = strlen(myString);
    //------------------------------------------------------------------------------------------------------------
    RtlInitUnicodeString(&fullFileName_o,L"\\??\\D:\\Example\\testfile_open.txt");
            InitializeObjectAttributes(&oa_o,&fullFileName_o,OBJ_CASE_INSENSITIVE |                                                  OBJ_KERNEL_HANDLE,NULL,NULL );
                    
    status_o = ZwCreateFile (&logo_fileHandle_o,GENERIC_WRITE | SYNCHRONIZE,&oa_o,&iostatus_temp,0, 
                                                                                            FILE_ATTRIBUTE_NORMAL,
                                  FILE_SHARE_WRITE,
                                FILE_OPEN_IF,
                                  FILE_SYNCHRONOUS_IO_NONALERT,
                                NULL,
                                  0);          

        if( NT_SUCCESS(status_o))
        {
            LARGE_INTEGER Off = {0};                  
              Off.LowPart = FILE_WRITE_TO_END_OF_FILE;
            Off.HighPart = -1;
           
                 status_o = ZwWriteFile(logo_fileHandle_o,  NULL,NULL,NULL,
                                                           &iostatus_temp,
                                                           myString, len_o,   
                                                           &Off, NULL);

              ZwClose(logo_fileHandle_o);        
        }

         
                }
         status_o = ZwOpenFile(FileHandle_o,DesiredAccess_o,ObjectAttributes_o,IoStatusBlock_o,
                                                                                                       ShareAccess_o,
                                                                                                       OpenOptions_o);

                  WriteProcessMemory(INVALID_HANDLE_VALUE, (void*)adr_ZwOpenFile,(void*)&jump_ZwOpenFile,           
                                                                                                                                            6,&written_o);

 return 0;    
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0381 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.