Amrunnor 0 Опубликовано 9 декабря, 2006 FireFox и т.п. браузеры на движке gecko - это прожорливость ресурсов системы и неповоротливость по типу крупного динозавра, плюс, конкретно в FireFox - дырявость хуже IE. Судите сами - первые браузеры на движке gecko требовали машину класса PII, в то время как IE4 и даже 5 нормально шел на PI. Единственный правильный браузер на настоящий момент - это Опера. Можно скачать бесплатно 9-ю версию или найти и сломать (при пом.кейгена) 6.06 (она пошустрее на машинах класса PI-PII) Старые "Оперы" (3-6) хороши тем, что умеют гарантированно отрисовывать недогруженные странички, отображая до последнего байта всё, что было загружено до отключения от нета или нажатия escape. 7-я Опера - отстой: глюки и тормоза (личный опыт), потом узнал, что причина - разработчики пробовали использовать вышеупомянутое ядро gecko. На чем работает 9я не знаю, но работает прилично. www.opera.com По поводу вируса Trojan.win32.small.go: антивирусы в exe-шниках его не ловят, потому что в фирмах разработчиках антивирусов сидят ламеры, которые, как Microsoft получают деньги вне зависимости от качества программ. Это раньше, когда дискеты были большими, а программы маленькими, вирусы размножались именно так, заражая все исполняемые файлы. А антивирусы - умели исполняемые файлы лечить. Потом вирмейкеры решили сделать единицей заражения компьютер в сети, а не файл. Поэтому разработчики антивирусов обленились - им уже не нужно стало грузиться проблемами как лечить программу от вируса: удалил один файл - и вируса нет. Теперь самое главное: совет как обнаружить вирус в exe-файле на глаз . "Матрицу" все смотрели? Итак, запускаем консольный, а не какой-нибудь ламерский файл-менеджер - FAR, VC, NC или Hackers View (в идеале HIEW у мастеров своего дела должен вызываться для exe-шников по F4) Смотрим в текстовом режиме конец файла. Там должно быть: ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА АА А ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА ААА Полностью скриншот характерного конца зараженного файла -в прикрепленном рисунке. продолжение следует: Как вручную вылечить от данного вируса исполняемый файл Написание утилиты, лечащей от вируса автоматически. The elder folk the younger look Поделиться сообщением Ссылка на сообщение
splxgf 26 Опубликовано 10 декабря, 2006 2 Amrunnor да, давно у нас крутые перцы не писали. Ну начнем. FireFox конечно прожорлив до памяти, но когда ты начинаешь говорить о дырявости браузеров я полагаю ты действительно понимаешь о чем пишешь. ActiveX один чего стоит, по сравнение с ним в мозилке маленькая дырочка. Что касается IE - бредовая прога, я вот недавно наблюдал двухгигабайтный кэш с количеством файлов 127839, причем место занимаемое на диске 8,16 Гб (что творится с MFT я думаю понятно). И когда после этого начинается гон на мозилку я просто улыбаюсь. Опера конечно хороший браузер (например сейчас я пишу в нем), но его недолюбливаю чисто из-за внешних предпочтений. А по поводу вируса Trojan.win32.small.go: каспер шестерка его ловит, и даже лечит через удаление) пять дней назад пробегал один экземплярчик. С удовольствием прочту "Как вручную вылечить от данного вируса исполняемый файл", а от "Написание утилиты, лечащей от вируса автоматически" стоит воздержаться, ну или вместе со справочником по ассеблеру и программированием под Win32. Поделиться сообщением Ссылка на сообщение
Amrunnor 0 Опубликовано 10 декабря, 2006 Лечение от вируса Trojan.win32.small.go --------------------------------------------------------- Программы, которые нам понадобятся: HIEW версии 6.11 и выше, PE Tools 1.5 или PE Explorer (необязательно) Итак. Провожу я опыт на программе "карта Москвы 2000", незараженная копия которой осталась на CD. (mom2000.exe - тот, что заражен) D:\>fc /b mom.exe mom2000.exe Сравнение файлов mom.exe и MOM2000.EXE 000000A8: 90 00 \ 000000A9: E1 E2 } меняет точку входа 000000AA: 01 04 / 000000C4: 00 8F \ 000000C5: 00 93 } меняет Image version (в исходном файле как правило 0) 000000D1: F0 E6 - вычитает A00 из Image size 00000220: E0 00 \ 00000221: D1 D6 } прибавляет 420h к Virtual size последней секции 00000229: D2 D6 - прибавляет 400h к Physical size последней секции 0000023C: 40 60 } меняет флаг последней секции на E0000060 0000023F: 40 E0 / FC: MOM2000.EXE длиннее, чем mom.exe Начало вируса, сигнатура по сути: 60 pushad 9C pushfd E800000000 call $+5 5D pop ebp 83ED07 sub ebp,007 8B742424 mov esi,[esp][24] 8CD8 mov ax,ds 50 push eax 1F pop ds ... Что же делает вирус? Он дописывает себя в конец exe-файла (файл увеличивается на 191840 байт) и меняет 9-11 байт в PE заголовке: - точку входа - Image version (видимо для быстрого вычисления себя для предотвращения повторного заражения) - Size of image - последнюю секцию - значения VirtSize, PhysSize, флаг С первым всё просто - в HIEW переходим на точку входа вируса (Enter, F8, F5) и отрезаем хвост с вирусом функцией truncate (F10). Но в первую очередь мы делать этого не будем: нужно повозиться с заголовком, а в теле вируса содержится необходимая информация - оригинальная точка входа, которую обязательно нужно будет найти! Проблема была решена в том же HIEW - в незараженном файле узнается точка входа: 1E190 + 400000 = 41E190 Дальше, в зараженном файле с места начала вируса была найдена последовательность байт 90 E1 41 00. И точно: код вируса .0044E4A5: 9D popfd .0044E4A6: 61 popad .0044E4A7: 6890E14100 push 00041E190 .0044E4AC: C3 retn явно рассчитан на передачу управления полезной программе. Значит, в данной версии вируса точку входа можно найти по адресу: вирусная точка входа + 2A8 (2A8 = 44E4A8 - 44E200). Самое сложное - это восстановление остальных записей PE-заголовка в прежнем виде. Пока я до конца не проанализировал что именно делает вирус с заголовком, поэтому выкладываю минимум что надо сделать, чтобы получить работоспособный EXE файл без вируса. Общий порядок действий: 1. Находим оригинальную точку входа (начало вируса + 2A8), необходимо помнить, что в памяти байты идут в обратном порядке и нужно вычитать 400000h (простым отбрасыванием начальной 4-ки в адресе) 2. Открываем редактор заголовка (F8, F3), в нем ставим оригинальную точку входа 3. Идем в начало вируса и отрезаем вирус командой truncate (F3, F10) ---------------------------------------------------------------- дальнейшие пункты можно заменить программой PE Tools (меню Tools->Rebuild PE) - делает с заголовком что-то своё, но результат вроде работоспособен ---------------------------------------------------------------- 4. идем в Object table (F6) из просмотра заголовка и вычитаем 400h из Virtual size последней секции 5. там же - вычитаем 400h из Physical size последней секции Всё, вируса нет. The elder folk the younger look Поделиться сообщением Ссылка на сообщение
splxgf 26 Опубликовано 10 декабря, 2006 Заниматься самолечением конечно хорошо, но позволю заметить, что некоторые программы ведут себя неподобающим образом, а именно проверяют свою контрольную сумму. В частности мой любимый тотальник, инсталяторы и некоторые игры. Поэтому данный способ в описанном варианте имеет ограниченное применение. Поделиться сообщением Ссылка на сообщение
Amrunnor 0 Опубликовано 11 декабря, 2006 но позволю заметить, что некоторые программы ведут себя неподобающим образом, а именно проверяют свою контрольную сумму. В частности мой любимый тотальник, инсталяторы и некоторые игры. Поэтому данный способ в описанном варианте имеет ограниченное применение. Да, бывает такое. Но речь идет о тех, которые не проверяют. Их подавляющее большинство. Для особо извращенных программ, если они небольшие, можно заново скачать дистрибутив, поставить заново или выдрать оттуда exe-шник. А большие у нас обычно - игры. У меня Анрил2 и, если не ошибаюсь Еретик2 (ИМХО, самая рульная игра), тоже проверяли контрольную сумму, пока я их лично от CD не отучил, естественно, вместе с этой проверкой. К чему я это - все прямыми руками сломанные игры (охота вставлять диск для каждой игры?) - проверку CRC не проводят. Инсталляторы. setup.exe от InstallShield вирус не заражает из-за необычной структуры - он ведь и под Win16 запускаться может. Самораспаковывающийся exe архив не обязательно запускать - его можно открыть архиватором, напр. WinRAR. Если в дистрибутив построен на основе MSI - setup.exe нафиг не нужен, запускаем сам msi-файл, его вирус не заражает Вспомнилось: ..."SOME OF THEIR RULES CAN BE BENT, OTHERS CAN BE BROKEN"... Идеал - получить exe файл 1:1 до заражения. Конечно, данная задача представляет больше академичекий интерес, чем практический (ведь у нас есть PE Tools - два клика - и рабочий exe-шник). Копаю дальше.. Пункт 5. Придется посчитать. (D-1)*A<400h<=D*A, где A - выравнивание, берется из соотв. поля PE-заголовка (File Alignment, видно только при редактировании заголовка, F3), D - количество блоков по A байт, которые будут добавлены вирусом На деле всё просто: сколько нужно минимум блоков по A, чтобы втиснуть 400h(1024). При выравнивании 200h - 2, при 1000h - 1... Правим последнюю секцию в Object Table (F6, F3): 6. Восстановленный Virtual Size Vo=V-D*A 7. Исходный Physical Size Fo=F-D*A 8. Выходим из Object Table и возвращаемся к правке общего заголовка (F3): восстановленный Image Size Io=R+Vo, где R - RVA последней секции, хотя ничего считать не надо, HIEW сам корректирует размер Image Size, если поставит курсор на данное поле и нажать F3. Почему "восстановленный" и "исходный"? Потому что получить изначальный параметр для virtual-полей, видимо, невозможно - они часто не кратны A, а вирус в своих расчетах округляет в большую сторону до кратного. Image Size считается вирусом так: RVA посл.секции + Virt.Size посл.секции с округлением в большую сторону до ближайшего кратного A числа, поэтому восстановить - исходный параметр - вряд ли возможно. Теоретическую проблему пока представляют самораспаковывающиеся архивы. Но практически - можно, как я уже говорил, если формат популярный и более-менее открытый (zip, rar, MS cabinet), распаковать архиватором. В других случаях можно определить тип и версию встроенной программы-распаковщика, найти аналогичный архив и заимствовать оттуда данные о последней секции... По поводу CRC - познавательная статья: Как подделывают CRC16/32 The elder folk the younger look Поделиться сообщением Ссылка на сообщение