Delphi: Как я делал убийцу червей со съемных носителей...



Комментарии

27 комментария(ев)
аватар: Va-Bank
Va-Bank
Дата: ЧТ, 05/05/2011 - 15:53
Звание: Гуру
Сообщений: 8223

1) Я говорил, говорю и буду говорить, что нужно приводить или хотя бы стараться примерно приводить код к единому стандарту. Хотя бы пользоваться сочетанием клавиш Ctrl + D (автоформатирование кода). Очень сложно другим людям код разобрать думаю будет.
2) Описание процедуры
Procedure AutoRunKill(s: string; var fin: boolean);
можно было запихнуть в секцию private формы AutoRunKiller, тем самым сама процедура могла бы выглядеть так:
Procedure TAutoRunKiller.AutoRunKill(s: string; var fin: boolean);
и таким образом внутри тела процедуры не нужно будет каждый раз писать:
AutoRunKiller.QPanel1.Edit;
...
AutoRunKiller.Faily.First;
...
AutoRunKiller.Memo2.Lines[mi];
3) В коде неохота разбираться, но вот эта строчка убила:
Application.ProcessMessages;//на всякий случай обрабатываем системные сообщения
Какой всякий случай на выходе из процедуры Laughing out loud На мой взгляд она лишняя тут совершенно.
Но это все пустяк, надо разбирать сам алгоритм. С тем что я привел жить то можно Laughing out loud

аватар: DrBlack
DrBlack
Дата: ПТ, 06/05/2011 - 03:24
Звание: Мастер
Сообщений: 1777

Цитировать
Я говорил, говорю и буду говорить, что нужно приводить или хотя бы стараться примерно приводить код к единому стандарту. Хотя бы пользоваться сочетанием клавиш Ctrl + D (автоформатирование кода).
Ненравится мне такое оформление, возможно привыкнуть надо, но врядли это произойдет, в комманде разработками заниматься у меня нет в перспективе... =)
Цитировать
2) Описание процедуры
Согласен, но тут ничего страшного... =)
Цитировать
3) В коде неохота разбираться, но вот эта строчка убила:
Application.ProcessMessages;//на всякий случай обрабатываем системные сообщения
Это не моя строчка, нашел в интернете, решил оставить так как есть, на всякий случай... Laughing out loud
Цитировать
Но это все пустяк, надо разбирать сам алгоритм.
Ээээ, он вообще-то рабочий... Smile
ЗЫ - не убивайте меня за goto... Laughing out loud

аватар: Limonell
Limonell
Дата: ПТ, 06/05/2011 - 13:33
Звание: Советник
Сообщений: 739

интерфейс клёвый, да и вообще классно всё сделано, потом посмотрю на работоспособность

аватар: wwwnet
wwwnet
Дата: ПТ, 06/05/2011 - 14:15
Звание: Посвященный
Сообщений: 429

Интерфейс с Касперского скопирован Smile

аватар: Plokhov Pavel
Plokhov Pavel
Дата: ПТ, 06/05/2011 - 13:44
Звание: Наблюдатель
Сообщений: 45

Знай наших Казахстанцев! Молодец, DrBlack!

аватар: FishFactor
FishFactor
Дата: ПТ, 06/05/2011 - 16:26
Звание: Наблюдатель
Сообщений: 30

а главное, программирование антивирусов теперь не кажется непосильной задачей...

аватар: Fairhawk
Fairhawk
Дата: ПТ, 06/05/2011 - 18:44
Звание: Энтузиаст
Сообщений: 115

Цитировать

Это не моя строчка, нашел в интернете, решил оставить так как есть, на всякий случай.

Тоесть проект тоже не ваш? Можете не отвечать

аватар: raxp
raxp
Дата: ПТ, 06/05/2011 - 20:50
Звание: Мастер
Сообщений: 1089

...хорошо бы продумать защиту самой утилиты от заражения.

p.s.: что касаемо самого autorun.inf есть любопытный метод, который можно использовать как дополнение к блокировке автозапуска (уже известным способом)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"

аватар: Va-Bank
Va-Bank
Дата: ПТ, 06/05/2011 - 22:41
Звание: Гуру
Сообщений: 8223

Я отключаю вообще автозапуск в своей системе со всех носителей.

аватар: raxp
raxp
Дата: ПТ, 06/05/2011 - 23:26
Звание: Мастер
Сообщений: 1089

я не о ключах NoDriveAutoRun и NoDriveTypeAutoRun или через gpedit, тут немножко другое Wink