VAB>>>Запустите image какой под VMWare с 64-96 Mb RAM и поищите там свои 120 метров?
А>>Для этого есть System Requirements (Memory: ...) в readme.txt, чтобы указать явно сколько минимум нужно софтине (драйверу) памяти. VAB>Замечу что драйвер, пусть и неродной, по определению становится TCB частью ОС и не должен соотв. кардинально требования завышать, без серьезной причины.
Вот с этим не согласен. Совсем не обязательно, да вы и сами сделали оговорку.
VAB>софтина-драйвер запросто может не знать сколько ей нужно. но работать и не кашлять как правило обязана, это раз.
Должна знать предел! Иначе — 99% кривая архетиктура, ошибки при пректировании или ещё что там...
VAB>от ламеров как изволили выразиться, скушавшими весь стек и почти всю память заодно, это также не спасет. с таким подходом мол "чего non-paged pool жалеть у нас дядя на nonpagedpool фабрике работает!" — заберем последние, сколько там осталось К ценного ресурса абсолютно без нужды, да расшибемся лишний раз на ровном месте носом оземь. Ну и посмотрим как на нас будут показывать пальцем. Ибо без нас вроде работало. И правильно сделают. это два.
Да никто не говорит, что её, память, нужно забирать всю! Я сам, например, периодически занимаюсь оптимизацией расхода.
VAB>и как часто Вы читаете readme и проверяете что все что там написано соблюдается до запуска своей любимой программулины? это три.
Если я знаю, что софтина более-менее серьёзные действия производит, для которых нужно (на вскидку) большое кол-во памяти, то — читаю, и читаю внимательно.
VAB>так что не спасет никоим образом никакой readme.txt от кривого кода. Разве что от исков к производителю. Но не от репутации и не от недовольных пользователей, которые унесут фактически ваши денежки кому-то другому.
Ну а ламеры... всегда остануться нашей проблемой...
VAB>>Замечу что драйвер, пусть и неродной, по определению становится TCB частью ОС и не должен соотв. кардинально требования завышать, без серьезной причины.
А>Вот с этим не согласен. Совсем не обязательно, да вы и сами сделали оговорку.
я ее сделал по причине что какому-то mirror драйверу к примеру в явном виде может быть нужно никак не меньше чем занимает экранная поверхность — неск Мб сразу вынь да положь. И это можно учесть легко.
Когда же идет фильтрация сетевого траффика или файлового\дискового ввода-вывода — тут как Вы понимаете зависит от числа коннектов, открытых файлов и интенсивности самого ввода-вывода. А кол-во сие в свою очередь как правило уже упирается в наличие памяти разных типов причем, можно и pagedpool вперед истощить легко. Соотв. учету поддается с трудом в таком фильтре расход — от 0 до всей свободной, и разбрасываться ресурсами в ситуации когда каждый след. коннект\открытый файл\IRP летящий по стеку может стать последним не стоит конечно.
Ведь кто знает, может быть эти неск Кб, которые в Вилларибо предусмотрительно съэкономили, как раз и позволили пройти критическую точку и не уронить систему в условиях временно истощенных ресурсов. Дальше файлы позакрывались, коннекты отвалились и ситуация с ресурсами выровнялась. А в Виллабаджо все упало и там до сих пор греют дебаггеры, вспоминая чью-то мать
это написал уже не Вам, а так сказать наглядный пример "подрастающему поколению", чтобы было ясно почему надо бережно относиться к вещам "которые ж всегда и так работают" — у нас-то, как водится, всегда и все работает, но работать-то должно еще и у заказчика и лучше готовиться к худшему, вроде 10 чужих фильтров в стеке, заранее.
А>Должна знать предел! Иначе — 99% кривая архетиктура, ошибки при пректировании или ещё что там...
выше написал про случай без предела — фильтр чего-либо. Ошибок может и не быть никаких.
ну ладно, откровенно говоря, мы у себя пишем в design documents на каждую фичу и т.п. в разделе Resource Usage что-то вроде:
Memory usage is just few kilobytes of non-paged memory to store:
• the list of IDs for known files on permanent basis
• the names of protected files
• the pointers to referenced file objects
One additional worker thread is required for the internal file open operations.
но это же не совсем то, что имеет смысл помещать в readme.txt
Если заняться математикой, то да — пределы можно вычислить по вот таким Resourse Usage заметкам — но все равно формула будет включать в себя много параметров вроде кол-ва одновременно открытых файлов и т.п.
В принципе можно вычислить, сколько памяти нужно на сколько коннектов и записать уже в таком виде в readme.txt — это имеет практический смысл, пожалуй.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Здравствуйте, crash override, Вы писали:
CO>К тому же много багов
Это же школьник и руткит, о каких багах может идти речь?
Что бы не разводить беспочвенный флейм на тему "наколенная разработка vs работа 24*7" приведу фрагмент коммерческого Rustock rootkit. Из аналога ndis.sys!ndisReferenceMiniportByName:
) поиск неэкспортируемых ndis.sys!ndisMiniDriverList и ndis.sys!ndisMiniDriverListLock. Кто-нибудь может дать рациональное объяснение, почему используется захардкоженная NDIS50_MINIPORT_CHARACTERISTICS ? У меня варианта 2:
— ватермарк (но лок на другом поле — в любом случае баг )
— автор не знал что делает этот чужой код
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
А старый добрый метод — pdbdump — в висте не работает уже ?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[8]: Rootkit для NDIS 6.0
От:
Аноним
Дата:
02.03.07 08:03
Оценка:
Здравствуйте, TarasCo, Вы писали:
TC>Хорошие новости — NDIS 6.0 имеет дырок для установки руткитов не менее предшествующей 5.0. Я потратил фактически 1 час на легкий реверс, чтобы из одного NDIS компонента получить доступ к другому, в том числе точкам передачи данных. Связанные списки похоже форева. Кстати, любителям реверса — NDIS 6.0 просто создана для Вас — каждая структура имеет в начале неповторимую сигнатуру, чтоб не дай Боже не спутать ).
Может пора уже открывать форум по написанию руткитов? =)