Rockphorr Выложить можно и на wasm.ru->исходники если Aquila не против, нужен доброволец для создания chm
Тут неоднократно просили переписать урока Iczelion'a на FASM. Могу посоветовать этот цикл статей "Ассемблер под Windows для чайников" тут http://www.nestor.minsk.by/kg/abc/087.html или тут http://sa-sec.org/2008/05/14/390/?paged=10 и еще сам пробовал переписать Iczelion'a под fasm, пока готово только 5 статей. Ориентированно начальный уровень.
А смысл в переписывании Iczelion'a под fasm? Посмотрите внимательно, в "Сам себе Iczelion" есть и под fasm #113-#115, неоднократно приводилась ссылка на переписанные уроки под fasm от sulaiman (смотри http://sulaiman.netadvant.com), nasm #110-#112, #121-#128, GoAsm #117-#118, есть RadAsm, t0A и PoAsm если интересно, могу выложить
Хватит Iczelion'a переписывать! Давайте свои примеры придумывайте, я думаю по прошествии времени уже любой может даже лучше написать. Надо делать полезные програмки, только не увлекаясь сложностью и выкладывать сорцы. Исходников-то по асму много, но по фасму кот наплакал. =) И наверное оттого, что все пишут что-то заумное, а надо маленьким тоже помогать. =)
Это только исходники программ переписаны, я же переписал всё (и текст мануала и коды программ) с учетом синтаксиса FASM. И это получилось даже не самостоятельное "бредисловие" а что-то типа "дневников чайника" изучающего FASM. 9 статей готово.
Это как? Текст мануала от Iczelion в переводе Aquilla своими словами? Semiono Я и пишу свои примеры (как сказал kero "По следам Iczeliona" и "там, где не ступала нога Iczeliona")
Часы у меня есть, а вот xeyes я совсем недавно нашёл, но без исходников. Хотелось бы на асме поглядеть на такое, тем более что даже исходники и были бы то на си конечно.
www.brothersoft.com/x-eyes-for-windows-4747.html usfiles.brothersoft.com/utilities/mouse_keyboard/xeyes.zip Там же нет src, только exe...
Mikl___, а у тебя блогов нигде нету? Есть одна мелочь, но существенная, было бы удобнее все эти уроки читать в виде html статей онлайн. Вот побывал у Manhunter, почему-то в блоге настроение другое бывает, более рабочее. С тех пор охочусь за блогами и статьями, хотя тут по крекингу всё более попадается. И ещё хотелось бы что нибудь по исследованию своего кода в дебагере почитать, ато обычно тоже всё взлом рассматривается, причём довольно сложно. Первые шаги MZ/PE в дебаггере я никогда не видел.
Вообще то, здесь должна была быть статья с рабочим названием "Доступ к портам ввода/вывода под Windows XP". "Иллюстрациями" к статье должны были kernel-mode драйвера, но так как статья до сих пор не готова, а драйвера уже есть, начну с них, а после (обсуждений или критики или переделок), если многоуважаемый форум сочтет нужным будет опубликована и сама статья. Four-F Не сочтите за фамильярность, но после Iczeliona для меня Вы классик #2. Поэтому начнем со святотатственного переосмысления ваших драйверов. Все драйвера, которые будут приводится в этом топике, будут открывать порты 42h, 43h, 61h, чтобы сыграть системным динамиком "Марш гладиаторов" (Opus 68 march (Vjezd gladiátorů)) чешского композитора Juliusa Fučíka. Первым переделаем драйвер beeper из KmdTutor. Для получения задержки использую KeStallExecutionProcessor. В аттаче сам дрйвер, user-mode приложение, которое его запускает, батник, которым всё собиралось и исходники to be continued...
Блин-комом номер два, команды читающие или пишущие в порт ввода/вывода могут быть расположены в "теле" user-mode приложения, но чтобы они выполнились, необходимо оформить этот фрагмент как процедуру и на исполнение ее запустить из kernel-mode драйвера. При этом в этой прцедуре не должны встречаться WinAPI функции используемые в user-mode иначе BSOD обеспечен. Адрес процедуры в драйвер можно передать через реестр, через WriteFile "\\.\driver" или через DeviceIoControl. Переделываю драйвер <R>ing-<0> <P>rocedure <C>all & Direct Port I/O (r0pc.sys) by @L.chemist (Andrey A. Meshkov). В аттаче сам дрйвер, user-mode приложение, которое его запускает и исходники to be continued...
На написание статьи меня подтолкнуло чтение Криса Касперски "Методы низкоуровневого управления приводами" и упомянутая в ней Direct Port I/O and Windows NT by Dale Roberts, May 01, 1996. Позже в KmdTutor by Four-F я нашел драйвер giveio, который используя Ke386SetIoAccessMap, Ke386QueryIoAccessMap и Ke386IoSetAccessProcess из ntoskernel.exe предоставлял доступ к портам в/в user-mode приложениям. Но функции Ke386SetIoAccessMap, Ke386QueryIoAccessMap и Ke386IoSetAccessProcess это только "обертки" для функций вызываемых из hal.dll. Правда, как показала проверка, при запуске на Celeron 466 и на двухядерном Pentium 4 функции из hal.dll, заменяющие функции из ntoskernel.exe могут отличаться, я попытался найти компромиссное решение. В результате команды IN и OUT удалось поместить в user-mode приложение, что дает возможность "написания быстрой программы для взаимодействия с устройством, в которой printf()’ы и getchar()’ы чередовались бы с командами ввода/вывода" (Dale Roberts). В аттаче переделанный драйвер giveio by Four-F, user-mode приложение, которое его запускает и исходники to be continued...
Блин-комом номер четыре. Драйвер giveio.sys отработав, возвращает один из кодов ошибки, система удаляет его из памяти, но теперь, любое user-mode приложение имеет доступ к трем портам ввода-вывода до тех пор, пока вы не перезагрузите компьютер. Это дает возможность запускать приложения написанные под DOS или Wind95/98, но всёравно не очень безопасно. Драйвер, написанный по мотивам kernel-mode драйвера PortTalk 2.0 by Craig Peacock, предоставляет доступ к портам 42h, 43h и 61h только тому процессу, который вызывает этот драйвер, а перед выгрузкой из памяти драйвер восстанавливает карту IOPM. В аттаче драйвер, user-mode приложение, которое его запускает и исходники to be continued...
Блин-комом номер пять. Драйвер написан по мотивам UserPort.sys 2.0 by Tomas Franzon. В аттаче драйвер, user-mode приложение, которое его запускает и исходники to be continued...
Как уже я писал в #158 драйвер можно спрятать в ресурсах ехе и при запуске программы писать его в ту же папку с атрибутом "скрытый", а по завершении работы приложения автоматически удалять драйвер. В результате получим "доступ к портам из ring3 без драйвера", правда DrWeb переспрашивает "А можно ли создать драйвер?", а Каспер тупо удаляет такой экзе