| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Delphi]Объясните, пожалуйса, код |
| Автор: 000denmoroz000 20.1.2007, 17:18 | ||
Есть код:
Не могли бы объяснить что он делает? Как я понимаю он изменяет адрес EntryPoint на тот, который записан по смещению +$5E от начала кода. Да? |
| Автор: gambit 20.1.2007, 17:33 | ||
| Где ты его взял? Простой запуск в delphi показывает что часть кода вообще ничего не делает!
Если ты не знаеш что он делает, то зачем он тебе? |
| Автор: W4FhLF 20.1.2007, 17:36 |
| Ну вообще, что бы этот код не делал он не рабочий. По-крайней мере он не всегда будет верно работать. Потому что поле AddressOfEntryPoint это RVA, а тут с ним работают как с Offset. Очень грубая ошибка. Ну а по логике этот код читает 4 байта по адресу AddressOfEntryPoint+$5E отнимает от этого значения ImageBase и записывает на место старого AddressOfEntryPoint в заголовок. |
| Автор: 000denmoroz000 20.1.2007, 17:37 | ||
| gambit, это я знаю... А насчёт переменных - может он обрезан... Код принёс друг как часть лечилки вируса Win95.CIH Добавлено @ 17:50 W4FhLF,
Он будет верно работать только н заражённых файлах... |
| Автор: W4FhLF 20.1.2007, 17:54 |
| Ну не знаю каким образом идёт заражение файлов этим вирусом, но в файлах, где SectionAlignment <> FileAlignment он работать не будет, потому, что в файле на диске по смещению AddressOfEntryPoint+$5E будут находится совсем иные данные, нежели после загрузки исполняемого образа в память. |
| Автор: sergejzr 20.1.2007, 17:59 |
| Для домашних заданий, курсовых, существует "Центр Помощи". Тема перенесена! |