Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203

Изменение PID или hProcess

04.01.2012, 16:20. Показов 7577. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня все!
Люди, как изменить пид процесса или его хендл?
(Я имею для самого себя)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2012, 16:20
Ответы с готовыми решениями:

Закрытие процесса по его PID и заморозка процесса по его имени или PID
Нужны две вот такие функции закрытие процесса по его PID и заморозка процесса по его имени или PID. В Делфи я новичок, по этому без помощи...

Определить заголовок окна по PID или по процессу
Есть функция, определяющая PID процесса function GetProcessIDExt(ProcessName:string):DWORD; // ïîëó÷àåì PID...

Получить имя или pid родительского процесса
Имеется имя файла И pid процесса. Нужно узнать имя файла ИЛИ pid его родителя Добавлено через 3 минуты Если такой возможности нет,...

51
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
04.01.2012, 16:26
Да нет такой функции. В API.
ИМХО, это назначается виндами и является ReadOnly.
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
04.01.2012, 18:23
Для начала нужно почитать, что это такое и откуда берется.
И после этого не задавать глупых вопросов.
PID - идентификатор процесса, выдаваемый системой, изменить который нельзя.
Хэндл ОКНА изменить можно при определенных условиях, например при указанию окну быть всегда поверх всех - оно пересоздается и ему дается новый хэндл.
А вот хэндл процесса... Это да, интересная штучка)) Может я чего-то пропустил? ) расскажите!
0
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
07.01.2012, 02:49  [ТС]
Вот и я о том же, дело в том, что я б просто так этот вопрос не задавал...
просто в руки попался один троян (Remote Administrator) - Back Orifice 2000,
и вот он какимто образом меняет в Win ХР свой пид или (возможно) свой хендл процесса, в результате чего никакой Task Manager не может зафиксировать данный процесс, а с помощью хука в Explorer сам файл трояна невиден...
0
Comanche
08.01.2012, 09:51
>> и вот он какимто образом меняет в Win ХР свой пид ...

скорее всего - две проги, перезапускающие друг друга
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
08.01.2012, 11:02  [ТС]
В том то и прикол, что это не две проги...
У меня сначало было тоже такое предположение, но к сожалению это не так...
Я пробовал делать две проги, которые каждые 10 мс запускают соседнюю, но ничего толкового не вышло - только 50% загрузки CPU, "бесконечно трещащий" винт и т.д....
А в диспетчере задач прогу всеравно видно...только она бесконечно прыгает по списку...

Ну всетаки, както этот "Remote Administrator" умудряеться остоваться невидимым???
0
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
08.01.2012, 11:36
А если он не виден, откуда известно, что он меняет пид?
0
Comanche
08.01.2012, 14:58
Значит, встраивает свой thread в чужой процесс. Например - в "часики"
Messir
14.01.2012, 16:31
мдя... товарищи, читаем матчасть!

PID - глобальный идентификатор процесса в таблице процессов. Не меняется. У каждого процесса он только один.
hProcess - локальный хендл каждого процесса. Фактически, "билет", который дает доступ к процессу с определенными правами. Для одного процесса их может быть ровно столько, (сколько раз для его PID''а будет вызван OpenProcess) + 1 (собственный хендл с полными правами доступа, выдаваемый процессу при создании)

Теперь о торянах.
Ничего они не меняют. Просто перехватывают API NtQuerySystemInformation (более примитивные варианты - Process32First / Process32Next), и при обращении к таблице процессов исключают из списка результатов нежелательные записи.
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
21.01.2012, 02:32  [ТС]
Проверяли... не так уж все просто...
такие тряны, про которые ты говориш я видел не раз... и хакнуть их можно запросто... CMD.exe -> Tasklist -> его там видно... (как не странно)
0
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
21.01.2012, 02:37  [ТС]
А вот насчет памяти -> мой кореш уже замутил прогу про которую я тут рассказывал.

Она создает свой образ в Оперативной памяти, запускает этот образ, а сама выгружаеться. В итоге она становиться полностью невидима...
А потом -> Удаляем реалный *.exe - шник, и ты его никак не найдеш...

Вся эта мутня реализирована на Delphy + Assambler
Если выгребу исходник, сразу вывешу сдесь на форуме...

А если у когото есть идеи... поделитесь...

С уважением, Стас
0
Messir
22.01.2012, 11:58
Цитата Сообщение от ORST
А вот насчет памяти -> мой кореш уже замутил прогу про которую я тут рассказывал.

Она создает свой образ в Оперативной памяти, запускает этот образ, а сама выгружаеться. В итоге она становиться полностью невидима...
А потом -> Удаляем реалный *.exe - шник, и ты его никак не найдеш...

Вся эта мутня реализирована на Delphy + Assambler
Если выгребу исходник, сразу вывешу сдесь на форуме...

А если у когото есть идеи... поделитесь...

С уважением, Стас
Полная чушь.
Ни один образ в памяти сам по себе работать не может.
Он может исполняться либо как поток процесса-создателя, либо как поток другого процесса, в который его внедрил создатель. Третьего не дано.
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
24.01.2012, 11:33  [ТС]
Цитата Сообщение от Messir
Полная чушь.
Ни один образ в памяти сам по себе работать не может.
Он может исполняться либо как поток процесса-создателя, либо как поток другого процесса, в который его внедрил создатель. Третьего не дано.
Я с тобой не согласен. Можно создать в оперативной памяти виртуальный диск,
и в него запихнуть копию этой *.ехе - шки... ну а далее дело понятно...


Кстате, недано скачал исходник проги, которую скрываеться из TaskList'а немного другим способом...в процессе загрузки она вообще не создает процесса...
Прога реализирована на С++ + Assambler. На днях покопаюсь, может чтото полезное извлечу...
0
Messir
24.01.2012, 12:55
Цитата Сообщение от ORST
Я с тобой не согласен. Можно создать в оперативной памяти виртуальный диск,
и в него запихнуть копию этой *.ехе - шки... ну а далее дело понятно...

Кстате, недано скачал исходник проги, которую скрываеться из TaskList'а немного другим способом...в процессе загрузки она вообще не создает процесса...
Прога реализирована на С++ + Assambler. На днях покопаюсь, может чтото полезное извлечу...
Изучай матчасть.
Можно создать хоть десять дисков, грузить файлы по сети или из интернета, со старой дискетки или еще откуда, можно вообще не создавать исполняемого файла на диске, но пока на адрес этого кода не будет передано управление - он будет лежать бесполезным хламом в памяти.
Управление он может получить всего двумя способами:
1. Создался процесс (а соответственно, и поток, который передал управление на этот код).
2. Опять-таки создался процесс, но в своем потоке не стал вызывать эту бойду в памяти, а влез в чужое адресное пространство и "попросил" другой процесс выполнить эту дрянь от его имени (тут уже куча способов есть, но результат один). А сам уже сдох к тому времени, как этот код начал выполняться от чужого имени.
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
31.01.2012, 17:15  [ТС]
Копирование образа в память возможно так:
[bold]1.[/bold] Нужно получить привелегии системного отладчика.
[bold]2.[/bold] Найти свободное место в памяти процесса.
[bold]3.[/bold] Скопировать образ своего *.ехе-шника методом WriteMemory.
[bold][underline]Этот метод называеться инжектирование в чужой процесс.
Допустим, можно скопировать образ *.ехе-шника в память dll-ки
explorer'а или какого-небудь сис. процесса. В последнем случае
система будет юзать нашу прогу не подозревая об этом.[/underline] [/bold]
0
Messir
31.01.2012, 18:11
Цитата Сообщение от ORST
Копирование образа в память возможно так:
[bold]1.[/bold] Нужно получить привелегии системного отладчика.
[bold]2.[/bold] Найти свободное место в памяти процесса.
[bold]3.[/bold] Скопировать образ своего *.ехе-шника методом WriteMemory.
[bold][underline]Этот метод называеться инжектирование в чужой процесс.
Допустим, можно скопировать образ *.ехе-шника в память dll-ки
explorer'а или какого-небудь сис. процесса. В последнем случае
система будет юзать нашу прогу не подозревая об этом.[/underline] [/bold]
Да ну? Неужели?
А о чем, прости, я тебе тут уже два поста распинаюсь? Неужели не о том ли, что
Он может исполняться либо как поток процесса-создателя, [bold]либо как поток другого процесса, в который его внедрил создатель[/bold].
Иногда надо читать то, что пишут...
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
31.01.2012, 18:20
Надо так: "внедрил Создатель."
0
Comanche
31.01.2012, 20:42
2[bold]Messir[/bold]:
Дай бог тебе терпения )
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 7
19.02.2012, 02:39
[bold]
Здравствуй Messir, я тот самый кореш о котором писал ORST.
На тему изменения PID ты был не прав,зайди на WASM.ru и почитай статьи ms-ren'a, он подробно излагает метод изменения PID'a ,а также скрытие процесса,и самое главное изменения (!!!!) имени процеса налету.
И все это на ring0,если ты знаеш что это :-)))))).
Код на Delphi и на Asm
[/bold]
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
19.02.2012, 02:49
Что такое нулевое кольцо Messir знает, так что не надо тут показывать, какие вы якобы умные. Другое дело, что к нулевому кольцу не так легко обратиться. И зачем все оно надо - совсем не ясно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2012, 02:49
Помогаю со студенческими работами здесь

Получить имя или pid родительского процесса
Имеется имя файла И pid процесса. Нужно узнать имя файла ИЛИ pid его родителя Добавлено через 3 минуты Если такой возможности нет,...

Хэндлы hProcess и hThread
Объясните, пожалуйста, для чего в программе используются хэндлы процесса и потока (hProcess, hThread) ?Для чистки буфера? #include...

Как определить PID процесса или имя по сети
Программа перехватывает с сетевого адаптера сетевые пакеты. Я возвращаю IP И порт . Как определить PID процесса или имя. Использую...

Как узнать Handle или PID процесса, зная его имя и класс?
Как узнать Handle или PID процесса, зная его имя и класс?

Подсветка ключевых слов или изменение размера шрифта в TextBlock или RichTextBox
Всем привет ! Есть такое задание: юзер выбирает текстовый файл, содержимое считывается в TextBlock/RichTextBox. После этого юзер нажимает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru