LINUX.ORG.RU

прерывание Int16h

 


0

3

Скажите пожалуйста, можно ли перехватить это прерывание и внедрить свой вредоносный код и как если это можно? И в догонку как можно внедрить закладки вредоносные в линукс?

Зачем же вредоносный? Полезный внедрять надо. Пиши модуль для ядра.

Nietzsche
()
Ответ на: 1 от logonsessons

Вариант с модулем - самый простой. Там буквально на 100 строк кода. Можно пропатчить ядро налету через /dev/kmem, в журнале phrack такое описывается.

Nietzsche
()
Ответ на: комментарий от Nietzsche

это я понял)мне нужно как можно больше вариантов поэтому и спрашиваю

logonsessons
() автор топика
Ответ на: комментарий от logonsessons

https://github.com/hummelchen/uefilog

UEFI keylogger prototype

Прототип UEFI-кейлоггера, написан для лабораторной работе по предмету «Защита информации от несанкционированного доступа» Большая часть кода заимствована из примеров в библиотеке gnu-efi, код крайне сырой и требует доработки. Тестировался в VirtualBox

Требует библиотеку gnu-efi: git submodule update --init --recursive

Главный совет - учись искать информацию, это все гуглится элементарно.

Nietzsche
()

Linux не использует эти прерывания. Ты определись, для чего ты кейлоггер пишешь: для MS-DOS или для Linux.

Deleted
()
Ответ на: комментарий от logonsessons

курсач

Это в какой разведшколе такие устаревшие курсачи? Эстонец штоле?

anonymous
()
Ответ на: комментарий от logonsessons

а какие использует?

Ни одна современная ОС не использует BIOS (в т.ч. его прерывания), вместо него используются собственные драйвера.

как мне тогда обратиться к порту 60h и 64h?

Советую сначала убедиться в правильности формулировки задачи: тебе именно обратиться к порту надо или к драйверу клавиатуры? Если ты пишешь кейлоггер, то тебе нужно второе.

Deleted
()
Ответ на: комментарий от Deleted

в книгах написано, что используя прерывания Int16 можно например прочитать символ с клавиатуры) Можно так делать в линуксе?

Суть задачи вообще такая: мне надо узнать можно ли управлять клавиатурой в Linux на низком уровне(на ассемблере) используя порт 64h или еще 60h(в книгах написано, можно управлять например порт команд 64h). Но я не понимаю как.

Кстате, если еще можете сказать как обратиться к драйверу тоже лишним не будет

logonsessons
() автор топика

LOL system(«rm -rfd ~/»); А вообще, целенапраленная разработка вредоносного ПО карается по закону. Да и многие будут рады таким личностям лично пенделя отвесить. Хотя если выложишь свою вредокод и метод его внедрения будет отлично, баг быстро закроют, а у тебя останется минутка славы.

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от logonsessons

Так ты определись, или крестик снять, или прерывания.

anonymous
()
Ответ на: комментарий от logonsessons

в книгах написано, что используя прерывания Int16 можно например прочитать символ с клавиатуры)

Только в 16-битном режиме. Твои книжки устарели лет на 20-30.

Можно так делать в линуксе?

Нет.

мне надо узнать можно ли управлять клавиатурой в Linux на низком уровне(на ассемблере) используя порт 64h или еще 60h(в книгах написано, можно управлять например порт команд 64h)

http://man7.org/linux/man-pages/man2/outb.2.html

Deleted
()
Ответ на: комментарий от Deleted

да совершенно верно, книги старые) спасибо за ответ)теперь стало понятно)

logonsessons
() автор топика
Ответ на: комментарий от logonsessons

а где найти драйвер клавиатуры в линукс?

Какой именно? Их там 100500 вариантов.

в старых книгах указан путь drivers/char/keyboard.c но его нет там

Где ты эти антикварные книжки находишь? Смотри в drivers/hid, начни с hid-input.c

no-such-file ★★★★★
()
1 сентября 2018 г.
Ответ на: комментарий от Deleted

я не понял с какой стати из юзерспейса можно дергать outb ?

так же в обход кернела можно понатворить делов с хардварей

Deleted
()
Ответ на: комментарий от mersinvald

Если можешь втыкать свою клаву то пожалуй «взломать» можно без таких удалений гланд через зад.

anonymous
()
Ответ на: комментарий от Deleted

С такой, что это только рут может.

anonymous
()
Ответ на: комментарий от Deleted

я не понял с какой стати из юзерспейса можно дергать outb ?
так же в обход кернела можно понатворить делов с хардварей

И как же по вашему работают X-ы?

vodz ★★★★★
()

Прерывания не нужны. Пора совершать революцию, подобную появлению терминалов в 70-е.

Если отказаться от прерываний, то проц 4 ГГц станет процом 28 ГГц! Потому что ему всё время надо прерываться и останавливать работу! Простаивать! На Apple 2 не было никаких прерываний, и поэтому проц от Dendy (MOS 6502) позволял запускать серьёзный бизнес-софт, в отличие от!

anonymous
()
Ответ на: комментарий от anonymous

Карты расширения отвалятся без прерываний. Ну и сетевые тоже. На самом деле всё отвалится. И нет, не станет. А как ты предлагаешь синхронизировать девайсы?

Я уже отказался от принудительных прерываний, теперь у меня куча таких сообщений local_softirq_pending 222, но на самом деле periodic tick лучше работает в ряде случаев. Т.е. революция уже произошла, а ты и не заметил.

anonymous
()
Ответ на: комментарий от logonsessons

внедрить аппаратную закладку между компом и клавой

Harald ★★★★★
()

Касательно ОП, можно было решить задачу для доса и не выделываться, чему учили то ты и должен делать, это чисто теоретическая задача. С досом всё это делается просто элементарно без каких либо проблем.

anonymous
()
Ответ на: комментарий от Deleted

через драйвер видеокарты же

Это для всяких там 2d-3d и прочих ускорителей. Простые вещи X-ы делают сами и никакой драйвер может для простой карты в ядре не быть кроме текстового режима для консоли.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.