![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - как в Perl получить низкоуровневый доступ к hdd? |
|
Разное - как в Perl получить низкоуровневый доступ к hdd?
|
Пользователь Сообщения: 127 |
сабж
среда: win или Lin - не важно |
|
Отправлено: 19:09, 07-05-2014 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Тишина, насколько низкоуровневый?
Linux: /dev/hda подойдет? С соотв. уровнем прав запуска разумеется. sudo, chmod, chown, и т.п. |
------- Отправлено: 23:37, 07-05-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать непосредственное обращение к hdd для чтения/записи N-ого сектора. пишу прогу типа HEX-редактор диска
а возможно ли считывать из /dev/sd* или /dev/hd* определённый сектор? если конструкция типа через временный файл при помощи dd - это не подойдёт |
Отправлено: 14:52, 08-05-2014 | #3 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Рыть гугл со словами DMA linux program /dev/hda/ direct access random cylinder и т.д.
Заодно посмотреть исходники программ: hdparm, fdisk, и еще чего-нибудь. Нашлось на вскидку, а там не знаю: Chapter 8. Device Drivers 8.4.2 и ниже Activating and Deactivating UDMA, linurs - HardDisk Kernel/Gentoo Kernel Configuration Guide, http://rus-linux.net/MyLDP/BOOKS/rute/node22.html. |
------- Отправлено: 15:25, 08-05-2014 | #4 |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать оно вообще в перле "скушается"?
дело в том, что если мы на каждое обращение к диску будем использовать внешние команды типа dd или bash - имхо, работать будет медленно... *спасибо за ссылки! |
|
Отправлено: 15:38, 08-05-2014 | #5 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать perl, linux, driver, С структуры, cpan.
Мысль пока пусть полежит. Завтра проснусь, вспомню, напишу развернутый ответ. |
Отправлено: 00:17, 09-05-2014 | #6 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Мысль сводится к тому, чтобы посмотреть, как идет низкоуровневая работа с устройствами.
Традиционно это С-язык или его ближайшие родственники. Скажем так "сложилось исторически". Соотв. надо либо найти исходные коды программ для работы с hdd. Посмотреть, спецификацию на файловые системы, структуры, описывающие каталоги, файлы и пр. (Пока такие вещи как LVM трогать не стоит... а может как вариант). Для справки почитать про адресацию памяти (LBA и прочее). Возможно придется порыться в описании драйверов устройств. Выяснить, как они работают с /dev/hda на предмет получения произвольного доступа, если таковой существует. Как вариант достать исходные коды какой либо ОС, и посмотреть что там делается. (hdparam в ту же сторону) ---- Теперь к perl. По данному языку существует www.cpan.org. Основное хранилище самых различный программ на perl. Соотв. поиск тоже не помешает. ---- Утром попались следующие ссылки: get the hard disk information using perl Securely Erasing a Hard Drive with Perl Can Perl read the hard drive registration #? ---- Сумбурно пока так. Надо определяться, на каком уровне "низкоуровневка", и как она выглядит в реалиях (абстракциях). |
------- Отправлено: 10:00, 12-05-2014 | #7 |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать спасибо, вечером изучу эти ссылки!
для С есть LinuxAPI и там что-то вроде win-аналога функции createfile() из WinAPI. другое дело в том, что в perl многие мелочи (превидение типов данных, работа со списками) уже реализовано, что может затормозить написания программы под C (ввиду моего неуверенного знания ООП на нём), т.е. может потребоваться много времени на дебаг. если же на деле считывать с hdd как с блочного устройства не получится, то попробую "хитрую" подстановку dd. хотя это уже не ПО, а сурогат получится |
Отправлено: 17:59, 13-05-2014 | #8 |
Ветеран Сообщения: 740
|
Профиль | Отправить PM | Цитировать Цитата Тишина:
|
|
Отправлено: 09:19, 14-05-2014 | #9 |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать да, я про С/С++. поэтому лишние действия с подгонкой типов данных и выполнения (если потребуется) внешних скриптов и программ - могут повлечь за собой дополнительные ошибки.
perl в этом плане мне кажется более лёгким и определённым. |
Отправлено: 10:49, 15-05-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Как получить доступ к сетевым ресурсам? | borison | Защита компьютерных систем | 1 | 14-03-2010 19:59 | |
Доступ - Как получить низкоуровневый доступ к диску? | delog | Microsoft Windows Vista | 0 | 14-08-2009 14:51 | |
Компьютер заблокирован! Как получить доступ? | xsid | Microsoft Windows 2000/XP | 2 | 09-11-2006 13:56 | |
Как получить русские названия директорий на фтп при помощи perl-скрипта | Igor_I | Общий по FreeBSD | 6 | 26-03-2006 12:24 | |
как получить доступ | ominous | Сетевые технологии | 3 | 28-05-2003 14:56 |
|