Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программ... ...своими силами 
:(
    Опции темы
V.Turecky
Дата 26.7.2002, 18:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ещё раз здравствуйте.

Мне нужно организовать запуск программ своими силами. Обычно программы запускаються, если в определенном ключе реестра есть значение ("%1" %*"), а если нет, или там себя прописывает вирус, тогда глына... Так вот - хочу сделать в своей программе командную строку, с помощью которой можно запускать программы своими силами. Но как организовать такой запуск? В это, собсвенно, мой вопрос.

Вот часть реестра, которую бомбят некторые вирусы:
 
Код
REGEDIT4

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"

  Вверх
Mikel
Дата 26.7.2002, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



Если про запуск программ, то WinExec, ShellExecute. Но что-то я не совсеи понял.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
V.Turecky
Дата 26.7.2002, 18:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если в реестре не будет этой херни - ("%1" %*"), то никакой
WinExec или ShellExecute не запустит программу!
  Вверх
Mikel
Дата 26.7.2002, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



WinExec должен запустить, т.к. он использует сам Windows, а не Shell. Можешь попробовать проверить


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Vit
Дата 26.7.2002, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



CreateProcess - запустит что угодно при любых ключах реестра (причём именно так как ты хочешь), собственно WinExec и ShellExecute при своём выполнении используют CreateProcess. Только с вирусами сложнее - кто твою программу будет загружать? Может тоже вирус?




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Baa
Дата 26.7.2002, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Наерно он хочет сделать так, что при запуске любой проги запускалась сначала его прога, а потом токо прога, которая должна была запуститься или я не так понял? (сделал вывод из ключа реестра)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
dr.ZmeY
Дата 27.7.2002, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

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



Цитата(Guest @ 26.7.2002, 19:25)
Если в реестре не будет этой херни - ("%1" %*"), то никакой
WinExec или ShellExecute не запустит программу!

Не понял, тебе нужна прога которая прописывала бы в реестр эту хрень, в чём проблема?

Или ты хочешь сделать универсальный кряк, который бы запускал любую не регерную прогу?


--------------------
PM MAIL WWW ICQ Skype   Вверх
Vit
Дата 27.7.2002, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Думаю что речь идёт о вирусах подобных SirCom - они переадресуют все запуски програм на себя(путем переправления реестра), и товарищ хочет сделать запуск программы в обход указаний реестра, только тут возникает такой проблем - хорошо, такая программа написана, как она сама будет запускаться?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
dr.ZmeY
Дата 27.7.2002, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

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



САМА???
Если не руками, то автозапуском, вместе с системой или по счётчику...
Или я не понял.
Можно проверять уже запущенные процессы, и один из них, типа taskmgr.exe :) и станет причиной запуска, какая разница как заставить прогу запуститься...


--------------------
PM MAIL WWW ICQ Skype   Вверх
Vit
Дата 27.7.2002, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Там не так всё просто - вирус ассоциирует себя с расширением exe и все файлы запускает из себя, даже таск-менеджер, возможно и можно как-то запустить программу "чисто", как системный сервис или драйвер, но простое прописывание в автозапуск ничего не даст. Я на зараженной системе "чисто" запускал файлы переименовывая их в .сом, но скорее всего появятся клоны вирусов, если уже не появились, которые учтут и эту ситуацию...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
dr.ZmeY
Дата 28.7.2002, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

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



Так, он хочет написать такой вирь, или запустить антивирус
Что конкретно ему надо?


--------------------
PM MAIL WWW ICQ Skype   Вверх
V.Turecky
Дата 30.7.2002, 15:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ребята, всем огромное спасибо!!!

WinExec запускает даже, когда реестр поврежден тем способом, о котором я упоминал ранее. Но я решил воспользоваться советом Vit'а и применить функцию CreateProcess, что даже лучше, она тоже запускает без проблем.

Вся хитрость моей программы в том, что у нее расширение не EXE, а CPL, и при ранее упомянутом повреждении реестра там есть такая функция, которая восстанавливает некоторые ассоциации. Можно выбрать какие именно. Пока только три.
  Вверх
Vit
Дата 30.7.2002, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



CPL запускается посредством RunDLL.exe, так что возвращаемся на круги своя.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
V.Turecky
Дата 30.7.2002, 16:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
CPL запускается посредством RunDLL.exe, так что возвращаемся на круги своя.


Точно! Только сейчас дошло. Блин, что же делать???
  Вверх
Vit
Дата 30.7.2002, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(Guest @ 30.7.2002, 08:13)
Блин, что же делать???

Возможные варианты:

1) Запуск программы как драйвера, системного сервиса и т.п. при старте системы
2) Запуск программы как графической среды по умолчанию
3) Написать программу под ДОС и загружать с дискетты.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

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


 




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


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

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