информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] изменение записи в таблице импорта 26.03.05 20:05  
Автор: lol Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Привет!
Я пытаюсь написать прогу которая изменяет в своем адрессном пространстве
запись в таблице импорта.
Для записи я пытаюсь использовать функцию:

if (WriteProcessMemory(GetCurrentProcess(),
ppfn, //where
&pfnNew, //what
sizeof(pfnNew), //how much
NULL) == FALSE)
MessageBox(0,"cant write", "rs[i]",MB_OK) ;

она всегда оканчиваеться неудачей, я пытался

handle = OpenProcess(
PROCESS_QUERY_INFORMATION |
PROCESS_CREATE_THREAD |
PROCESS_VM_OPERATION |
PROCESS_VM_WRITE,
FALSE, GetCurrentProcessId());

if (WriteProcessMemory(handle,
ppfn, //where
&pfnNew, //what
sizeof(pfnNew), //how much
NULL) == FALSE)
MessageBox(0,"cant write", "rs[i]",MB_OK) ;

эффект тотже. Я хотел бы узнать в чем моя ошибка, может быть для записи в
адрессное пространство текущего процесса следует использовать какието
иные способы 7 Значение в ppfn, и pfnNew вродебы правельные.
Заранее спасибо!
А зачем тебе WriteProcessMemory, если ты правишь в своем адресном простанстве? 01.04.05 03:34  
Автор: AlexD <Alexander> Статус: Member
<"чистая" ссылка>
Или любитель тонких извращений:)?
Никнейм, кстати, клевый:)).
а ты уверен что поинтер куда ты пишешь (ppfn) существует 29.03.05 04:46  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Привет!
> Я пытаюсь написать прогу которая изменяет в своем адрессном
> пространстве
> запись в таблице импорта.
> Для записи я пытаюсь использовать функцию:
>
> if (WriteProcessMemory(GetCurrentProcess(),
> ppfn, //where
> &pfnNew, //what
> sizeof(pfnNew), //how much
> NULL) == FALSE)
> MessageBox(0,"cant write", "rs[i]",MB_OK) ;
>
> она всегда оканчиваеться неудачей, я пытался
>
> handle = OpenProcess(
> PROCESS_QUERY_INFORMATION |
> PROCESS_CREATE_THREAD |
> PROCESS_VM_OPERATION |
> PROCESS_VM_WRITE,
> FALSE, GetCurrentProcessId());
>
> if (WriteProcessMemory(handle,
> ppfn, //where
> &pfnNew, //what
> sizeof(pfnNew), //how much
> NULL) == FALSE)
> MessageBox(0,"cant write", "rs[i]",MB_OK) ;
>
> эффект тотже. Я хотел бы узнать в чем моя ошибка, может
> быть для записи в
> адрессное пространство текущего процесса следует
> использовать какието
> иные способы 7 Значение в ppfn, и pfnNew вродебы
> правельные.
> Заранее спасибо!

а ты уверен что поинтер куда ты пишешь (ppfn) существует
я попробовал у меня всё работает.
[Win32] [C++] VirtualProtectEx() исполни для получения права записи в страницу, может в этом дело? 26.03.05 22:42  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
к сожалению не помогло :( 28.03.05 22:26  
Автор: lol Статус: Незарегистрированный пользователь
<"чистая" ссылка>
к сожалению не помогло :(
я использую винду 2003 может в ней нельзя изменять содержимое таблицы импорта7
компилятор СБилдер
А что говорит GetLastError? 29.03.05 00:05  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach