· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.RESEARCH —› Маленькая утилитка - PE Verifier

Посл.отвђт Сообщенiе


Дата: Окт 2, 2003 20:01:53

Вот наваял тут маленькую прогу - загрузчик и проверятель PE файлов. Может кому сгодится.
Что умеет: аккуратно (насколько я смог) грузит PE-файл в память проверяя практически все поля, секции, импорт, экспорт, перемещения, ресурсы и пр.
Если обнаружит ошибку - сообщает в чем дело и смещение (RVA) в файле где. Помогает иногда понять почему не работают снятые дампы, где испорчены проги и пр. По псевдокоду похожа на загрузчик PE от win98. Ну баги возможны (первая версия все-таки), буду рад если кто-то сообщит о найденных.


p.s. ногами только не бейте если я не в тот раздел запостил или это никому не интересно...

1550457892__peverify.exe


Дата: Окт 2, 2003 20:10:23

Nothing

Ну что ты. Ногами бить никто не будет. Наоборот, спасибо, но движок слабый и все детектить не в состоянии. У меня он уже допустил ошибку, обозвав файл, который не запускается, рабочим.
Проблема в том, что проверки делаются не только в кольце-3, но и в кольце-0. Там код довольно сложный. Активно оперирует с гиперпространством. Мы с Four-F частично раздуплились что к чему и этот материал я излагаю в своей второй части.


Дата: Окт 2, 2003 21:39:48 · Поправил: Nothing

Спасибо за отзыв!
Движок конечно не полный, про проверки на 0 кольце я частично в курсе (где-то валялся псевдокод загрузчика под w2k). Всех тонкостей загрузчика я не знаю (а кто их знает?), но попытка не пытка. Что касается плохого файла - с удовольствием посмотрю на него и поправлю свои знания и программу (если файл небольшой - можно послать на dweller(at)mail(dot)ru))

А статью про это дело я жду с нетерпенем!


Дата: Окт 2, 2003 21:50:59

Я стараюсь закончить ее побыстрее.
Что до файла - выполни поиск по форуму - "MmCreateSection". Там в аттаче лежат три файлика. Первый под 2k не запускается.
Псевдокод загрузчика dll был рассмотрен Остерландом и дополнен нами в статье "Об упаковщиках в последний раз" на этом сайте.


Дата: Окт 3, 2003 00:09:08 · Поправил: Nothing

Да, файлики интересные. Загрузчик меняется от системы к системе. Не говоря уж о семействах win9x и winnt. У меня есть файл, который win98 грузит, win2k - нет, но я так и не нашел в нем криминала...
Моя прога не претендует на соответствие какому-либо системному загрузчику, а скорее прежде всего проверяет явные баги в структуре и содержимом файла.
Собственно провел короткое разбирательство почему little1.exe считается плохим: похоже на "фичу" загрузчика начиная с win2k. Если секция, в которой есть точка входа имеет VA большее или равное (400h) размеру файла - он не грузится. NT4 таких проблем не имеет. Если сделать VA у секции скажем 200h - он грузится на ура.
Прога поправлена и приложена еще раз.


Дата: Окт 3, 2003 04:11:54

у меня под w2k server не запускается :(
хотел посмотреть....


Дата: Окт 3, 2003 08:13:59

Nothing
Nod32 - unknow Win 32 virus


Дата: Окт 3, 2003 13:41:00

zalexf: к сожалению нет в наличии w2k server, проверить не могу, а что пишет система при попытке загрузить? попробуй загрузить новую версию.

nice: да нет там никаких вирусов. возможно nod32 ругается на код похожий на ручную загрузку PE?..
ох уж эти эвристики, скоро любой файл будут считать вирусом.

p.s. приложенная в прошлом сообщении программа куда-то потерялась при редактировании. но форум засорять своими поделками я не буду, а дам ссылку:
hxxp://dweller.mail333.com/peverify.zip там лежит новая версия, если кому интересно.


Дата: Окт 6, 2003 10:53:49

дык! извиняюсь! пашет!
слишком быстро компутер работает.... настолько быстро консольное окошко исчезает, что незаметно.... ожидал GUI интерфейс.... ;))))))
предупреждать надо ;))))


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.086