Сам себе Iczelion

Тема в разделе "WASM.BEGINNERS", создана пользователем Mikl_, 11 май 2007.

Метки:
  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.623
    Адрес:
    Russia
    главное чтоб было одним паком - выложить можно и тут если влезет
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Rockphorr
    Выложить можно и на wasm.ru->исходники если Aquila не против, нужен доброволец для создания chm
     
  3. TaileR

    TaileR Сергей

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    7
    Тут неоднократно просили переписать урока 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 статей. Ориентированно начальный уровень.
     
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    А смысл в переписывании Iczelion'a под fasm? Посмотрите внимательно, в "Сам себе Iczelion" есть и под fasm #113-#115, неоднократно приводилась ссылка на переписанные уроки под fasm от sulaiman (смотри http://sulaiman.netadvant.com), nasm #110-#112, #121-#128, GoAsm #117-#118, есть RadAsm, t0A и PoAsm если интересно, могу выложить
     
  5. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    785
    Хватит Iczelion'a переписывать! Давайте свои примеры придумывайте, я думаю по прошествии времени уже любой может даже лучше написать. Надо делать полезные програмки,
    только не увлекаясь сложностью и выкладывать сорцы. Исходников-то по асму много,
    но по фасму кот наплакал. =) И наверное оттого, что все пишут что-то заумное, а надо маленьким тоже помогать. =)
     
  6. TaileR

    TaileR Сергей

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    7
    Это только исходники программ переписаны, я же переписал всё (и текст мануала и коды программ) с учетом синтаксиса FASM. И это получилось даже не самостоятельное "бредисловие" а что-то типа "дневников чайника" изучающего FASM. 9 статей готово.
     
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Это как? Текст мануала от Iczelion в переводе Aquilla своими словами? :)
    Semiono
    Я и пишу свои примеры (как сказал kero "По следам Iczeliona" и "там, где не ступала нога Iczeliona")
     
  8. TaileR

    TaileR Сергей

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    7
    Именно! :)
     
  9. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    785
    Часы у меня есть, а вот xeyes я совсем недавно нашёл, но без исходников.
    Хотелось бы на асме поглядеть на такое, тем более что даже исходники и были бы то на си конечно.
    :)
     
  10. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    785
    Небось там синус функции вычисляются... тем более любопытно...
     
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    И в чём дело? Прикрепи к сообщению или дай ссылку на свой xeyes...
     
  12. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    785
    www.brothersoft.com/x-eyes-for-windows-4747.html
    usfiles.brothersoft.com/utilities/mouse_keyboard/xeyes.zip
    Там же нет src, только exe...
     
  13. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    785
    Mikl___, а у тебя блогов нигде нету?
    Есть одна мелочь, но существенная, было бы удобнее все эти уроки читать в виде html статей онлайн.
    Вот побывал у Manhunter, почему-то в блоге настроение другое бывает, более рабочее.
    С тех пор охочусь за блогами и статьями, хотя тут по крекингу всё более попадается.
    И ещё хотелось бы что нибудь по исследованию своего кода в дебагере почитать,
    ато обычно тоже всё взлом рассматривается, причём довольно сложно.
    Первые шаги MZ/PE в дебаггере я никогда не видел.
     
  14. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Semiono
    bpx LdrInitializeThunk.
     
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Вообще то, здесь должна была быть статья с рабочим названием "Доступ к портам ввода/вывода под 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...
     
  16. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Блин-комом номер два, команды читающие или пишущие в порт ввода/вывода могут быть расположены в "теле" 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...
     
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    На написание статьи меня подтолкнуло чтение Криса Касперски "Методы низкоуровневого управления приводами" и упомянутая в ней 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...
     
  18. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Блин-комом номер четыре. Драйвер giveio.sys отработав, возвращает один из кодов ошибки, система удаляет его из памяти, но теперь, любое user-mode приложение имеет доступ к трем портам ввода-вывода до тех пор, пока вы не перезагрузите компьютер. Это дает возможность запускать приложения написанные под DOS или Wind95/98, но всёравно не очень безопасно. Драйвер, написанный по мотивам kernel-mode драйвера PortTalk 2.0 by Craig Peacock, предоставляет доступ к портам 42h, 43h и 61h только тому процессу, который вызывает этот драйвер, а перед выгрузкой из памяти драйвер восстанавливает карту IOPM. В аттаче драйвер, user-mode приложение, которое его запускает и исходники
    to be continued...
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Блин-комом номер пять. Драйвер написан по мотивам UserPort.sys 2.0 by Tomas Franzon. В аттаче драйвер, user-mode приложение, которое его запускает и исходники
    to be continued...
     
  20. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Как уже я писал в #158 драйвер можно спрятать в ресурсах ехе и при запуске программы писать его в ту же папку с атрибутом "скрытый", а по завершении работы приложения автоматически удалять драйвер. В результате получим "доступ к портам из ring3 без драйвера", правда DrWeb переспрашивает "А можно ли создать драйвер?", а Каспер тупо удаляет такой экзе :)