![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
V.Turecky |
|
|||
Unregistered |
Ещё раз здравствуйте.
Мне нужно организовать запуск программ своими силами. Обычно программы запускаються, если в определенном ключе реестра есть значение ("%1" %*"), а если нет, или там себя прописывает вирус, тогда глына... Так вот - хочу сделать в своей программе командную строку, с помощью которой можно запускать программы своими силами. Но как организовать такой запуск? В это, собсвенно, мой вопрос. Вот часть реестра, которую бомбят некторые вирусы:
|
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
Если про запуск программ, то WinExec, ShellExecute. Но что-то я не совсеи понял.
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
V.Turecky |
|
|||
Unregistered |
Если в реестре не будет этой херни - ("%1" %*"), то никакой
WinExec или ShellExecute не запустит программу! |
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
WinExec должен запустить, т.к. он использует сам Windows, а не Shell. Можешь попробовать проверить
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
Vit |
|
|||
![]() 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 |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Наерно он хочет сделать так, что при запуске любой проги запускалась сначала его прога, а потом токо прога, которая должна была запуститься или я не так понял? (сделал вывод из ключа реестра)
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
dr.ZmeY |
|
|||
![]() Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Не понял, тебе нужна прога которая прописывала бы в реестр эту хрень, в чём проблема? Или ты хочешь сделать универсальный кряк, который бы запускал любую не регерную прогу? |
|||
|
||||
Vit |
|
|||
![]() 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 |
|||
|
||||
dr.ZmeY |
|
|||
![]() Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
САМА
![]() Если не руками, то автозапуском, вместе с системой или по счётчику... Или я не понял. Можно проверять уже запущенные процессы, и один из них, типа taskmgr.exe ![]() |
|||
|
||||
Vit |
|
|||
![]() 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 |
|||
|
||||
dr.ZmeY |
|
|||
![]() Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Так, он хочет написать такой вирь, или запустить антивирус
Что конкретно ему надо? |
|||
|
||||
V.Turecky |
|
|||
Unregistered |
Ребята, всем огромное спасибо!!!
WinExec запускает даже, когда реестр поврежден тем способом, о котором я упоминал ранее. Но я решил воспользоваться советом Vit'а и применить функцию CreateProcess, что даже лучше, она тоже запускает без проблем. Вся хитрость моей программы в том, что у нее расширение не EXE, а CPL, и при ранее упомянутом повреждении реестра там есть такая функция, которая восстанавливает некоторые ассоциации. Можно выбрать какие именно. Пока только три. |
|||
|
||||
Vit |
|
|||
![]() 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 |
|||
|
||||
V.Turecky |
|
|||
Unregistered |
Точно! Только сейчас дошло. Блин, что же делать??? |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Возможные варианты: 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 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |