Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 7059 сообщений
Cообщения с меткой

usb - Самое интересное в блогах

Следующие 30  »
SoXiE

Подразделение «К» в миниатюре

Воскресенье, 22 Мая 2016 г. 21:44 (ссылка)


МВД РФ
Важнейшее предупреждение о морально-этической и законной стороне вопроса.
Сразу же оговорюсь, что все нижепроделанные операции и почерпнутые знания пользователь должен производить с благими целями, задумываясь о последствиях, соблюдать рамки законодательства государства, в котором производятся данные манипуляции.


И вот встала предо мной задача, в одном из подразделений МВД, как обычно «срочно», оживить рабочие места (АРМ). Суть работы, в принципе, одна - текстовый процессор. Поскель оснащённость везде разная, имущественные отношения и происхождение аппаратуры завеса мрака, печатные машинки собирались разных лет, по большей части рабочие станции HP, kraftway и иных брендированных и псевдобрендированных производителей, зато принтеры у всех HP 1018 (удобно со встроенными драйверами). Ну ретро, да, P4 на 845-865 чипсете, бывало и s775. Была среди них и машинка, поверенная органами, окроплённая святой водой, с лицензионным ПО и опечатанная не только гарантийкой, но и манящей голографической наклейкой «СЗИ», что означало, что пропущена через рентген.



Кстати, тоже интересное поделие отечественного компьютеростроения - материнская плата ITX пришита к задней панели матрицы, выходит довольно толсто, но в целом кондово и главное работает. Сзади выведен короткий огрызок кабеля VGA и вставлен в матплату, кнопки reset/power/usb выведены в удобное место. И в общем-то всё, ну конечно же защитное стекло «вклеенное» как модные автобусы или gorilla glass без тача. То есть некое подражание моноблокам iMac и иным MSI.
Ну так вот, зассал - не полез. Только использовал в качестве ещё одного монитора при сборке. Говорю, мол, лучше я вам подгоню ещё системник, только грех на душу брать не буду



Я с годами становлюсь говнистее, и просто «винду переставить» уже не минет, а минет + стоимость желаемой винды, а ещё лучше купленная уже. Ибо в противном случае беру серийник с задней крышки ноута и ставлю то, что там стояло, будь то starter или home. Что конечно же не исключает носимой с собой коллекции годных серийников, которые уже не будут использованы т.к. ноутбук сё, сказал досвидос, уйдя на линупс или на пенсию Это дань законности. Ежели уже стоящую винду можно оживить, вне зависимости от номеров, её надо оживлять ибо тогда это не перестановка, а сервисное обслуживание.



Так вот, длинное лирическое отступление закончено.


Допустим, попадает в руки комп на windows, с которого нужно вытянуть так называемый ореол пользователя, окружение, метафизическую информацию вплоть до расположения значков на рабочем столе, ну и в конце концов там может стоять работоспособное ПО только на данной конкретной копии ОС. Цели см.выше, а я уже упоминал конкретные методы выуживания нужной информации. Что делаем? Сливаем образ системного диска. Терминология поста такова:


* «Исследуемая машина» - та, в Windows которой необходимо получить доступ. С неё будет слит образ жёсткого диска.
* «Хранилище» - стационарно-портативная машинка, компьютер с 100500 интерфейсами, мощным камнем и всеми упомянутыми утилитами, на которой ещё и крутится виртуалка.
* «Донор» - немного промахнулся, но пустой жёсткий диск, куда будет залит побайтный образ 1:1 жёсткого диска с исследуемой машины. Ну, 1 Тб или 500 Гб хватит.
* «Наша винда» - флешка или жёсткий диск, с которой будет производиться загрузка в исследуемую машину с целью клонирования жёсткого диска. Загружается на любом железе, содержит все вышеупомянутые утилиты, и в принципе, не имеет принципиальной разницы кроме универсальности с виндой, которая стоит на хранилище.
* «RAW-образ», «VHD», «VMDK» - производные образов и разные типы, то есть полноценные ОГРОМНЫЕ файлы, представляющие собой виртуальный диск, монтируемый в виртуальную машину или непосредственно к «хранилищу». То есть уже слитый жёсткий диск, на котором возможны изменения.

В случае свободного доступа к внутренностям вынимаем его, подключаем к так называемому «хранилищу», компьютеру с множеством интерфейсов (PATA, SATA, SAS, SCSI и переходниками), донорскими жёсткими дисками всех мастей и размеров, и с помощью Жёсткий диск разнообразнейших Acronis TrueImage, WinImage и вплоть до WinHEX сливаем байт-в-байт исходный жёсткий диск. В этом случае Acronis посыпает голову пеплом ибо алгоритмы у них не побайтовые. Ни в коем случае не пофайловое и тем более не Ctrl-C + Ctrl-V! Такое побайтное копирование НЖМД важно, если есть подозрение на неумелые попытки «замести следы» со стороны пользователя, либо исследование должно быть произведено скрытно вплоть до мелочей (и только по данным SMART видно, что количество winhex включений и раскруток шпинделя увеличилось на +1). В противном случае в NTFS сработает механизм простановки last access timestamp (NtfsDisableLastAccessUpdate), проставит ночное время на доступ к важным и нужным файлам, а параноиков глюком не убедишь. К тому же, могут не соблюстись права доступа. Только побайтно на чистый диск или в RAW образ.



В случае же ноутбука или опечатанной гарантией машинки можем поступить следующим образом: завести носитель или жёсткий диск с портативной Windows (чтобы был нормальный жёсткий диск 2,5" + мост-переходник SATA/USB с алиэкспресса), с которого можно будет загрузиться на исходной машине (тонкости ниже). И донор-диск чтобы был USB. Оба подключаем через USB, грузим в нашу систему. «Наша» винда должна быть заточена напильником на универсальность и содержать средства клонирования дисков, без проблем поднять железо и жёсткие диски исследуемого компьютера. Для пущей безопасности временно ставим в BIOS дату/время каким-нибудь неслучайным уже прошедшим годом или сегодняшним днём, чтобы избежать того же last access timestamp. Ну и соответственно по USB сливаем чуть медленнее, чем по SATA/SAS.



Частный случай: компьютер параноика. При С0РМ, понятых и обыске понятное дело. Запароленный BIOS, конечно, не панацея. Итак, компьютер опломбирован наклейкой сзади, висит замочек на «ухе» системного блока, стоит пароль на BIOS обеими уровнями защиты - Setup и User (то есть ни в настройки, ни при включении не зайти). Тут надо сказать да, снимаем шляпу, человек позаботился о сохранности всего и вся, истинный параноик. Уже запрос в органы на выдачу ордера изъятия железа.
Вариант менее запущенный - пароль на BIOS Setup. Как правило, при прохождении POST выдаются подсказки, что нужно нажать для меню загрузки с разных носителей (F7, F12...), почему-то этот момент обошли стороной разработчики BIOS. Здесь нас ждёт успех, вангую. Только дату-время переставить через «нашу» систему.
Вариант с паролем на BIOS Setup и User, но опломбированным лишь гарантийкой. Фирмы-торгаши как правило клеят гарантийку не на боковую крышку, а слоты ОЗУ, НЖМД, видеокарту и кулер с ЦП. Формула успеха - подключение в свободный SATA разъём на материнке диска с «нашей» системой и донора.


Итак, манипуляцию с железом исследуемой машины закончили, подключили, закрутили всё «как было», нас тут не было, понятые подтверждают.
ЗАДРОТ
Далее RAW-образ начинаем ковырять. Он представляет собой сами разделы, таблицу разделов, MBR/GPT и иные PBR. Первоисточник сохраняем.
Если это образ, то надо будет его записать на пустой донор, либо копию преобразовать в виртуальный VHD с фиксированным размером. Важно для побайтового исследования. Далее работаем с физическим либо виртуальным носителем-диском, смонтированным в Windows. Для понимания linux-разделов подойдёт утилита Ext2Fsd, или более сложным образом через coLinux (у меня была задача от того же заказчика слить и причесать записи китайского видеорегистратора, а поскольку многие так и не умеют читать сторонние ФС, записи загадочно исчезают в процессе C0PM).


Теперь r-studio (586x400, 25Kb) мы можем гулять по диску как белый человек. Можно бы на этом остановиться, пройдясь по папкам документов и рабочих столов, запустив поиск по нужным типам файлов (ага, права NTFS дадут), но будем дотошными и запустим утилиту восстановления файлов. Ничего лучше R-Studio и всяческих Easy Photo Recovery / Advanced Photo Recovery придумать сложно. Фото восстанавливалки хорошо действуют на SD-карты, ибо как правило, карточка форматируется после заполнения, а фото лежат последовательно (камере так легче), их проще easyphotorecovery (640x492, 91Kb) по сигнатурам JFIF вычислять. Отдельного упоминания заслуживают утилиты типа Thumbnail Cache Viewer (thumbcache, thumbs.db), позволяющие открыть базу данных миниатюр, находящуюся по адресу %userprofile%\AppData\Local\Microsoft\Windows\Explorer. Полезность её в том, что она хранит однажды построенные эскизы также удалённых файлов, а в качестве 256x256 они уже преставляют интерес. Сразу оговорка - если пользователь параноик и ставит всяческие TrueCrypt и иные BitLocker, это уже дело подразделения «К» поскель необлачный брутфорс на бытовых машинках как-то попахивает, да и ставящий TrueCrypt, как правило, человек уже тёмный в помыслах.



Помнится как-то чудик с ноутом на кольцевой ветке метро, чей ноут оставлял желать большей зарплаты обладателю, который с вашим трукриптом, паролем, подгляденным через плечо, грузил винду три минуты до состояния рабочего стола. Три минуты, КАРЛ! Видимо, понимал, что едет в г.Петушки и что просто посеять ноут по дороге с кучей оффлайнового прона специфичного содержания может навредить его репутации и честному имени. Шифрование томов - не презерватив, это панацея.


К нашим донорам и подопытным. Прошлись R-Studio? Нашли свежепотёртые файлы? Хорошо, восстанавливаем, сохраняем. thumbcache1 (280x254, 18Kb) Интерес представляют файлы, удалённые с рабочих столов, из документов, папок $RECYCLE.BIN, Users, ProgramData, Documents and Settings и конечно же, старые потёртые и непотёртые бэкапы стандартной утилитки «Архивация Windows» (если не стоит иное). Кстати, Архивация Windows - огромная дыра в безопасности. Доступ свободный, сейвит arhiv_w (630x259, 9Kb) относительные изменения в папке Users и иные полезности. После первых оргазмов радости юного исследователя-перлюстратора и копирования файлов с поверхности, переходим к глубоко технической части.



Попытки поднять чужую винду на стороннем железе или виртуальной машине будут увенчаны успехом в 90% случаев, говорю вам как человек, поднявший на изделии Windows Embedded (где нет иных драйверов, кроме самых нужных) osnotfound (640x480, 14Kb) с IDE-диска с напрочь выгоревшим компьютером на современный лад на Atom D525 с тем же серийным номером дабы не портить целостность изделия. Серийный номер уже установленной Windows можно узнать включая или не включая компьютер утилитой ProduKey или скриптом на WSH, если наклеечка оторвалась со временем. Подключать чужой реестр умеем? С помощью обычного такого REGEDIT, в меню которого есть пункт «Загрузить куст», который работает при наведении выбора на HKEY_USERS, загружаем одну из веток %windir%\system32\config\НУЖНЫЙ_КУСТ или УЛЕЙ: system, sam, security, s-*, в конце концов usrclass, ntuser.dat из папок пользователя и т.д. Этот скилл нам понадобится, когда будем оживлять Windows.



Давайте попытаемся загрузиться с образа VHD, VMDK в случае VMware или просто с диска в случае реального железа. Теперь уже можно ужать раздел и не заботиться о побайтной сохранности ранее удалённых файлов. Первым делом экспериментально проверим работоспособность загрузчика BCD, просто попытавшись запустить - если winloaderror (700x525, 25Kb)BOOTMGR хоть как-то откликнулся, пусть с ошибками 0xc0000225 или 0xc00000e, то значит загрузочный раздел уже активен (на MBR-дисках), бутсектор соответствует нужному, скрытые разделы целы (когда они есть)). В противном случае есть смысл перепроверить заранее утилитами Visual BCD, прописать ручками в активном разделе в папке BOOT\BCD путь к винде (не рассматриваю 0x07b (700x393, 81Kb) версии WinXP с его многострадальным BOOT.INI потому что это детские игрушки, который можно даже кастомизировать разными цветами). На случай перестановки разделов местами, копировании-восстановлении образов и иных манипуляциях со сжатием раздела, рекомендую утилиту BOOTICE - позволяет работать с MBR/PBR/активировать разделы. То есть загрузочный раздел исследуемого диска должен содержать MBR Windows NT 5.x/6.x, PBR BOOTMGR, быть активным - с динамическими дисками, GPT, EFI и кусками RAID разговор отдельный, там своя атмосфера. Теперь про BCD и замечательную команду BCDBOOT. Может кто из олдфагов помнит злосчастный бутсектор MS-DOS, ищущий IO.SYS MSDOS.SYS COMMAND.COM в первом секторе первого раздела жёсткого диска? Забудьте. Консольная «BCDBOOT /?»[b] наше всё. Если менюшка загрузчика не видит нужной винды, просто прописываем её из под рабочей винды с подключённым диском командой BCDBOOT g:\WINDOWS /S g:, где [b]G: - есть буква исследуемого раздела, его же активируем вышеуказанным BOOTICE, вуаля.
bcdedit (600x328, 67Kb) bootice (466x315, 12Kb)
После указания правильных параметров MBR/PBR и лечения BCD (они не повредят диску, это же не форматирование) должен запуститься BOOTMGR загрузчик с менюшкой, в которой будет главный пункт - с нашей испытуемой виндой. А далее самое сладкое и горькое - ковыряние в драйверах. Для начала теоретическая справка, с вероятностью 90% винда с первого раза не заведётся, уйдёт в перезагруз Starting windows либо даст синий экран с ошибкой 0x000007B. Я уже писал об организации полноценной Windows XP, работающей на любом железе, своеобразный полноприводный liveCD, она и поныне здравствует у меня на двухгиговой флешке-шлюшке, которую я сую всюду, где нужно поправить здоровье винды или ситуацию «ой», в посте много полезных ссылок. Ошибка BSOD 0x000007B возникает, когда загрузчик уже обнаружил файл winload.exe, реестр, выбрал профиль загрузки (CurrentControlSet), подгрузил самые необходимые драйверы (RTFM гуглим ключ CriticalDeviceDatabase), но напоролся на то, что для дальнейшей загрузки нужно бы уже пользоваться не методом доступа к диску, предоставляемым BIOS, а полноценным 32- или 64-битным драйвером контроллера дисков уровня ядра. Безопасный режим и предыдущая удачная конфигурация не сработает. Хитрая винда сама в себе содержит уже все-все-все драйвера, необходимые для загрузки на почти любом железе (ALi, SiS, AMD, Intel, а те, которые не содержатся в ней, подгружается по нажатию «F6 для установки особых драйверов SCSI/RAID», и тут уже своя атмосфера наступает с импортом драйверов для x86/x64 и прописыванием в сторонний реестр), но отключает их за ненадобностью и ускорения загрузки ради. Ссылки на них в чужом реестре (файл SYSTEM) находятся в ветке HKLM\SYSTEM\ControlSetXXX\services, их сразу несколько веток, последних «удачных» конфигураций. Итак, с вероятностью 10% винда заведётся из коробки, то есть совпадёт чипсет компьютера-«хранилища» и машины, с которой снят образ, но с вероятностью 90% придётся лезть в чужой реестр. Конечно же, создав бэкап файла SYSTEM из %windir%\system32\config.



Для начала попробуем самое банальное: смотрим HKLM\SYSTEM\Select ключ Default, значение REG_DWORD есть XXX в ControlSetXXX, лезем в соответствующую ветку и исправляем в intelide (539x347, 16Kb)ControlSetXXX\services\ ключи Start=3 или Start=4 на Start=0 у веток AMDIDE, ALIIDE, MSAHCI, VIAIDE, INTELIDE, INTELPPM, AMDPPM. Здесь Start=0 означает запуск в первую очередь, Start=3 запуск по запросу, а Start=4 означает, что служба отключена. Опять же, в 95% случаев система заведётся, поскольку мы знаем, что за чипсет стоит на «хранилище». Даже VMware спокойненько понимает INTELPPM и INTELIDE.



В моём случае с XP Embedded пришлось действовать глубже. Понятно, что тьма служб в реестре похожа на DLL hell из прошлого, было принято решение поставить рядом Windows, пересадить кусты реестра SYSTEM (HKLM) и пусть поднимается как хочет. Попутно пришлось пересаживать SECURITY и SAM, попытался в ветку USERS (hivelist) прописать нужного юзера, но он не заходил (для этого видимо и придумана SECURITY, чтоб не давать ушлым ковыряться в системе), посему создан новый пользователь за тем же именем, а затем уже заменены файлы нового на старый. И только так завелось. True story, bro. Это был самый экономичный ремонт изделия, вставший всего-лишь в 100 тыр.


Вот, логотип запуска пройден, и мы таки видим крутящийся кружочек, пусть с ещё не работающей мышью и клавиатурой, но уже графический режим VgaSave, уже надпись «Добро пожаловать», уже жизнь. Ура? Да, однозначно. Пора бы радоваться, да обождите пока все драйвера подгрузятся. Так, стоп. Самое главное-то! Тут же пароль наверняка стоит. Который мы наверняка не знаем. Ну, самое рабочее решение чтобы иметь хоть какое-то otkaz_ustanovki (400x160, 11Kb) управление компьютером с чужой виндой без клавиатуры и мыши кроме кнопки нежного выключения ACPI - клавиатура и мышь PS/2, воткнутые заранее в «хранилище» или виртуальную машину. Они железно заведутся, но только после перезагрузки, и можно будет заняться ручным брутфорсом))).



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


через предустановочное окружение (WinPE) и средства восстановления, но много ручных действий.


Автоматизировать процесс помогает юзер-френдли утилита Windows Password Recovery Tool Ultimate, но платная и функционал избыточен. Я сам в подобных случаях пользуюсь микроскопической утилитой PasswordRenew by sala, запущенной на отдельно стоящей windows (родной для «хранилища») или под WinPE. После перезагрузки в испытуемую Windows обнаружим двух пользователей (или N+1), входим в свежесозданный локальный акаунт passrenew (548x237, 9Kb) (учётку) без пароля, он готовит рабочий стол и вуаля. Ещё одна микропобеда. Поскольку это администратор, мы можем преспокойненько установить все недостающие драйвера, которые под знаком вопроса в Device Manager, а также пошукать по папкам пользователей уже на этой машине. Можем даже попробовать запустить виндозависимое (привязанное к этой копии) ПО, если такая цель преследуется. Не забываем, что при пересадке на новое железо напрашивается переактивация. Решаем моральную дилемму - подключаться ли к интернетам, светить ли старый серийник ибо вторая копия, а первая работать перестанет и всплывёт на исходной машине, или проявить моральную гибкость по отношению к авторам данной ОС, ну вы всё поняли в меру своей испорченности и жадности. Действуем по ситуации, по мне так для необходимых операций можно и с чёрным экраном посидеть.



Теперь windows password kracker (700x547, 49Kb) можно обратиться к утилитам pwdump и Windows Password Kracker, которые позволяют при некоторой смекалке и временных затратах (мощном процессоре «хранилища») выкорчевать из хэша MD5 оригинальный пароль.



И вот наконец мы в окружении пользователя Windows, войдя с помощью пароля, добытого в предыдущем пункте, можем видеть самое ценное - расположение значков на рабочем столе в том порядке, в котором пользователь их оставил на момент снятия образа. Быть может, с некоторыми косметическими дефектами типа разрешения экрана, отсутствующего Windows Aero, иного оборудования типа звука и сетевых подключений, привязанных к конкретным адаптерам. Однако теперь мы можем вытащить даже DNS и иные IP-адреса привязки через реестр (гуглим, господа), данные для входов на VPN, SMB, социальные сети если они авторизованы или их сохранённые пароли в браузерах, ПО с привязью к ОС будет работать (если привязана к ОС, а не к железу с помощью серийников), истории переписок в мессенджерах типа skype (shared-dynco, Skype log viewer) и иных QIP (QIP history converter), браузерные аккаунты Google и Firefox, Opera Link, в общем и целом, цель исполнена.



Вспомним про архивацию Windows, которая большая дыра в безопасности: если сделать бэкап пользовательских файлов, то можно смело вручную попробовать восстановить файлы пользователя, акромя юзер дженерейтед контента (UGC), фото, видео, txt-шек, doc-ов, который и так на поверхности, архивация сохраняет файлы из папок кэшев браузеров, историю, сохранённые пароли, куки, настройки и т.д. Быть может, авторизация на каком-нибудь мохнатом неключевом сайте даст ключ Advertisement ID или иные ключи яндекс-крипты чтобы интернет встретил нас контекстной рекламой про гинекологию и печатные платы. Лазая по самым основным сервисам типа соцсетей и иных почт следует соблюдать осторожность, ибо теперь же у нас интернеты сделали параноиками всех, везде двухфакторная аутентификация, привязка к мобильным номерам и т.д. Всё, что можно сделать в оффлайне - лучше делать в оффлайне, следующая идеализация - если нужно вылезти в сеть под исследуемой машиной, сделать это из той же сети в те же времена, когда юзер там же. На худой конец можно подключиться через модем с тем же мобильным оператором, что пользует исследуемый пользователь дабы C0PM не сорвался от нечаянной СМС-ки.




Сейчас чернушное: если это однократный прецедент доступа к железу, то это пожалуй всё. Вся наша добыча. Но теперь, зная учётные данные для входа в ОС, получив пароль, мы можем внедрить и добавить в исключение антивирусов и иных антиспаев любой логгер для отслеживания и перехвата всего-всего-всего. Это при случае. Конечно же, данный мануал является общим среднестатистическим случаем для среднестатистических потребностей oboi_komp1 (450x337, 29Kb) исследователя среднестатистических локальных машин. Намеренно не рассматриваю любые аспекты, затрагивающие материально-финансовую сторону, а с морально-этической составляющей боритесь сами - стоит ли оно того, или это спортивный интерес. Думаю, не большой секрет в том, что УСБ крепко жмёт сотрудников по части таких вот действий, и без ордера, без запроса к операторам связи, провайдерам а зачастую и хозяевам соцсетей нужную инфу достать непросто. Здесь же рассмотрена абстрактная ситуация, когда есть возбужденное дело, есть недостаточное количество улик, нет разрешения либо оно затягивается сверху на полное исследование всей подноготной, а самолёт в кампучию или иную дауншифтию для исполнителя преступления вылетает вечером, надо лишь знать номер рейса и место вылета чтобы взять на горячую. Этакое супергеройство в ограниченном временном диапазоне. Вроде как и утечка, вроде как и нельзя, да вроде в деле и не будет освещено то, как следствие узнало нужную инфу, вроде как по косвенным уликам))))


В посте, на самом деле, содержатся завуалированные ответы на банальные вроде бы вопросы: как пересадить Windows на другую материнскую плату, компьютер, без переустановки, поменять платформу Intel / AMD, починить загрузчик, зайти в Windows без пароля, при усердном гуглении нужных ключевых слов из поста можно даже найти мануалы делай раз-два-три.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Енот_69

USB Raptor - ключ для блокировки компьютера

Воскресенье, 22 Мая 2016 г. 10:49 (ссылка)


5672195_raptor7 (488x508, 44Kb)


USB Raptor - превращает USB накопитель в ключ для блокировки / разблокировки компьютера, тем самым позволяя защитить личные данные от посторонних глаз, в ваше отсутствие.
ЧИТАТЬ ДАЛЕЕ.../СКАЧАТЬ
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
SoXiE

Грустная история о USB

Вторник, 17 Мая 2016 г. 22:32 (ссылка)

В качестве предисловия: Да, мой абстрактный читатель, я уже упоминал о своём отношении к usb интерфейсу, но как показывет практика, штука всё-таки нужная. Первое правило как и в безопасном сексе быть уверенным в партнере. то есть не совать что ни попадя в порты USB, если конечно, южный мост не жалко.
Ибо у всего есть замена - спалишь SATA контроллер, та и ладно, можно поставить PCI или в крайнем случае заменить мостами USB-SATA, спалишь встроенное видео (процессор!) - заведётся внешнее PCI-E, гигабитный эзернет спалить, так его ещё надо умудриться спалить. Один мужик даже умудрился спалить на 1156 сокете на годной ITX-машинке звуковуху, да там даже кодек сопливый же, TQFP-микросхема ALC, поменять с донора и делов-то, ну подключить USB-аудиокарту, НО СПАЛИТЬ USB СЧИТАЙ ЗАКОЛОТИТЬ ВСЕ ПОРТЫ И ИГРАТЬ В ПАСЬЯНС КОСЫНКА! Глубоко знакомый сотрудник даже материнку спалил из-за того что как мудак вслепую тыкал флешки в лицевой порт. Так что не совать в порты вслепую, особенно самопал!

Что было?
Ваш автор наблюдал на вымерших ноутбуках верхнего ценового сегмента (правда, почему AMD-то? кто эту хуйню поставил в бизнес-класс?) такую штучку как сканер отпечатков пальцев. Вдохновлённый айфоном 5s, пораскинув мозгами, решил таки снять с нерабочих ноутов VAIO и HP Pavillion dv6000 - у обоих был сенсор отпечатка. Википедия гласит, что это тепловые сенсоры отпечатков. Также она гласит, что в целях удешевления/унификации их делают непосредственно с интерфейсом USB.

Проверим? !!! TROLLFACE !!!
w51XcCz8uog (499x700, 77Kb)

На фото плата DAAT3ATB8D0 от HP, и действительно, прозвоном нашёл землю, четырёхконтактный шлейф ничто иное как USB. Проверил на трёх машинах - не нашёлся, как только включил через хаб без внешнего питания (!) - заработал. Подозреваю, что просит питание 3,3В. Нашёлся как AuthenTec Inc. AES2501B класса "Биометрические устройства", драйвер скормил от Lenovo (Windows 10 x64 съел тоже). Требует ПО AuthenTec TrueSuite, который давно не обновлялся ибо компанию поглотил Apple. Fingerprint sensor, так сзать. Дактилоскоп в корпусе игрушки.

FCBldOAF3pQ (498x652, 78Kb)
Второй сенсор отпечатка Sony SWX-213, тоже взлетел через USB-хаб (опять же вопрос к питанию), однако контакты для подпайки оказались мельче нужного, посему плата заработала только в таком виде. Обнаружился как «TouchChip Fingerprint Coprocessor (WBF advanced mode)». Сенсор «поприятнее» предыдущего, постарше, но по неизвестной причине не распознавал мизинцы (?). TrueSuite пришлось заново обучать.
Такие платки стоят сколько-то долларов на ибее, алиэкспрессах, то есть они даже иногда ломаются. Покуда делал SWX-213, контакты просто по-фашистски миниатюрные, всё отвалилось, сломал плату к хуям, напугал лярву, ощм одно расстройство.
И всё бы ничего, но про питание 3,3В я неспроста упомянул.

Первой жертвой пал рабочий компьютер, где поначалу все бы ничего, но через пару дней он начал сам перезагружаться, затем сработала ультрамодная асусова технология защиты от перенапруги ASUS Anti-surge protection, вот тут-то я и почуял, что говнецом запахло жареным.

Отключил контроллер USB 2.0 в BIOS и вуаля, вздохнул, вставил мышь PS/2 и вперёд. Зато ни один паразит в USB ничего не вставит теперь, и кстати, зарядка не зависит от определяемости. То есть тупо комп превратился в USB-зарядку на 12 портов.

Я же сразу не прочухал, что напрямую подключая дактилоскоп fingerprint sensor к USB без хаба, мы имеем прямое попадание вот этих сраных паяных проводков прямо в южный мост безо всяких защит. А хаб, видимо, более живучий.

Второй жертвой стал комп в спальне, Gigabyte ITX на H61. Гигабайт попроще, нет там сюрж протэкшна, посему до сих пор пытаюсь понять что не так, то ли южник, то ли где-то ещё я накосячил. Но работает он с трудом.

Ну и конечно же, экспериментировал на основном компе, по большей части через хаб, что и спасло. Который s775 X48. И опять же, хвала истории и старым техпроцессам. Не написал ничего, работает тьфу-тьфу-тьфу, даже картридер эпизодически находит, то есть почти без жертв - USB 1.1 очень славно как и надо работают, USB 2.0, в частности жёсткие диски не лучшим образом, тут ещё сказывается витая пара вместо USB-кабеля для удлиннения на морду, но иногда бывают «Устройство USB не опознано».
Суммарно ущерб от самонадеянности пустяковый и укладывается в четырехзначную сумму в рублях, к тому же не потраченную =)

Предположение такое - раз уж девайсы были на платках внутри ноута, там могла быть разновидность High Speed Inter-Chip USB (HSIC), у которой иные уровни линий данных около 1,2В, а даже у USB 1.1 (Full Speed 12 Mb/s) уровни линий D+ D- от -2,8В до +2,8В, то есть не более 6В амплитудой. Но всё меняется, когда подаём питание 5В вместо запрошенных 3,3В!! Уровни расшатываются пропорционально, наверное, +-4В или даже все 5В (то есть 10В амплитуда), какой нахуй южный мост выдержит такое насилие?! А у USB 2.0 ещё и по протоколу разные уровни, как квадратурная модуляция, тут уже будь я южным мостом, сгорел бы полностью. Странно, но девайс-распознавалка выжила после этого.

Короче такая вот история, не суйте хуй пойми что в комп. Берегите железо.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Оптимизация работы USB-устройств под Android

Четверг, 12 Мая 2016 г. 14:07 (ссылка)

Большинство устройств на Android при наличии порта OTG поддерживают на уровне системы (ядра Linux или стандартных компонентов Android) следующие классы устройств:




  • Устройства ввода — клавиатуры, мыши, джойстики (HID);

  • Накопители (Mass Storage).



Несколько реже:




  • Сотовые модемы;

  • Сетевые адаптеры;

  • Вебкамеры.



Хабы поддерживаются при наличии полноценных хост-портов, но не поддерживаются на портах OTG. Подробнее список устройств, поддерживаемых на уровне ядра Linux, можно получить в sysfs:



$ ls /sys/bus/usb/drivers



Если же модуль в принципе доступен в исходниках ядра Linux, но не включен в Android — не стоит рассчитывать на то, что его получится собрать и расставить на все целевые системы.



Однако, начиная с Android 3.1 (API 12), в системе содержатся средства, достаточные для поддержки на уровне приложения любой USB периферии. Данные средства описаны в разделе USB Host руководства по Android API. Здесь же я хочу привести примеры реальной работы с некоторыми видами устройств.



Права доступа



Как и для прочих действий, Android требует, чтобы приложение получило разрешение на доступ к USB периферии. Существует 2 способа получить такое разрешение:




  • задекларировать список устройств в AndroidManifest;

  • явно показать пользователю диалог “разрешить”.



Поскольку для моих задач лишние вопросы к пользователю были нежелательны, я использовал первый способ.



Итак, нам необходимо добавить в манифест следующее:




...








А в res/xml/device_filter.xml вписать следующее:











Отмечу, что хотя общепринято указывать VID:PID в 16-ричной системе счисления, здесь они должны быть указаны в десятичной. В документации заявляется, что возможно указание только класса, без VID и PID, но у меня это не стало работать.



Принтеры



На примере принтера я покажу, как непосредственно использовать API android.hardware.usb. На уровне передачи данных все принтеры поддерживают стандартый класс USB устройств:



int UsbConstants.USB_CLASS_PRINTER = 7;



Класс предельно простой. В рамках этого класса устройство должно поддерживать:




  • Обязательный bulk out endpoind для отправки данных на принтер

  • Опциональный bulk in endpoind для получения статуса принтера

  • 3 управляющих запроса



int GET_DEVICE_ID = 0;
int GET_PORT_STATUS = 1;
int SOFT_RESET = 2;


Код, приведенный ниже, предоставляет функциональность, аналогичную устройству /dev/usb/lp в Linux. Далее нам нужен фильтр, преобразующий исходный документ в пакет данных, понятный конкретной модели принтера. Но это тема иной статьи. Как один из вариантов — можно собрать ghostscript с помощью NDK.



Для работы с устройством нам в первую очередь нужно:




  1. Найти устройство. В примере для простоты я ищу первый попавшийся:



UsbDevice findDevice() {
for (UsbDevice usbDevice: mUsbManager.getDeviceList().values()) {
if (usbDevice.getDeviceClass() == UsbConstants.USB_CLASS_PRINTER) {
return usbDevice;
} else {
UsbInterface usbInterface = findInterface(usbDevice);
if (usbInterface != null) return usbDevice;
}
}
return null;
}

UsbInterface findInterface(UsbDevice usbDevice) {
for (int nIf = 0; nIf < usbDevice.getInterfaceCount(); nIf++) {
UsbInterface usbInterface = usbDevice.getInterface(nIf);
if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_PRINTER) {
return usbInterface;
}
}
return null;
}
UsbDevice mUsbDevice = findDevice();
UsbInterface mUsbInterface = findInterface(mUsbDevice);



  1. Получить endpoint’ы:



for (int nEp = 0; nEp < mUsbInterface.getEndpointCount(); nEp++) {
UsbEndpoint tmpEndpoint = mUsbInterface.getEndpoint(nEp);
if (tmpEndpoint.getType() != UsbConstants.USB_ENDPOINT_XFER_BULK) continue;

if ((mOutEndpoint == null)
&& (tmpEndpoint.getDirection() == UsbConstants.USB_DIR_OUT)) {
mOutEndpoint = tmpEndpoint;
} else if ((mInEndpoint == null)
&& (tmpEndpoint.getDirection() == UsbConstants.USB_DIR_IN)) {
mInEndpoint = tmpEndpoint;
}
}
if (mOutEndpoint == null) throw new IOException("No write endpoint: " + deviceName);\



  1. Непосредсвенно открыть устройство:



mConnection = mUsbManager.openDevice(mUsbDevice);
if (mConnection == null) throw new IOException("Can't open USB connection:" + deviceName);
mConnection.claimInterface (mUsbInterface, true);



  1. После этого мы можем читать и писать в устройство:



public int read(final byte[] data) throws IOException {
int size = Math.min(data.length, mInEndpoint.getMaxPacketSize());
return mConnection.bulkTransfer(mInEndpoint, data, size, getReadTimeout());
}

public int write(final byte[] data, final int length) throws IOException {
int offset = 0;

while (offset < length) {
int size = Math.min(length - offset, mInEndpoint.getMaxPacketSize());
int bytesWritten = mConnection.bulkTransfer(mOutEndpoint,
Arrays.copyOfRange(data, offset, offset + size), size, getWriteTimeout());

if (bytesWritten <= 0) throw new IOException("None written");
offset += bytesWritten;
}
return offset;
}



  1. По завершении работы — закрыть устройство:



mConnection.close();


Преобразователи USB-Serial



В отличие от притеров, преобразователи USB-Serial гораздо менее стандартизированы. Существует несколько распространенных чипов, для которых существенно отличается установка параметров последовательного порта — битрейта, чётности и проч. К счастью, есть библиотека github.com/mik3y/usb-serial-for-android, поддерживающая практически все существующие чипы. Библиотека полностью скрывает USB API, сводя все необходимые действия к минимуму вызовов с минимумом параметров.




  1. Найти и открыть устройство:



UsbSerialPort mUsbSerialPort;
UsbManager mUsbManager = (UsbManager) DEVICE.getSystemService(Context.USB_SERVICE);
String type = “FTDI”;

for (UsbDevice usbDevice: mUsbManager.getDeviceList().values()) {
UsbSerialDriver usbSerialDriver = UsbSerialProber.probeSingleDevice(usbDevice);
if (usbSerialDriver == null) continue;
if (!type.equals(usbSerialDriver.getShortDeviceName())) continue;
mUsbSerialPort = usbSerialDriver.getPort(0);
mUsbSerialPort.open(mUsbManager);
break;
}



  1. Установить параметры последовательного порта:



mUsbSerialPort.setParameters(baudRate, dataBits, stopBits, parity);




  1. Читать и писать в порт:



public int read(final byte[] data) throws IOException {
return mUsbSerialPort.read(data, getReadTimeout());
}

public int write(final byte[] data, final int length) throws IOException {
return mUsbSerialPort.write(data, length, getWriteTimeout());
}



  1. По завершении работы — закрыть порт:



mUsbSerialPort.close();


Резюме



Надеюсь, что мне удалось показать, что работа с USB периферией достаточно проста и логична. Безусловно, реализация протоколов некоторых конкретных устройств не блещет простотой — но это проявится в любой системе в одинаковой степени.



Все приведенные примеры я взял из реального проекта, лишь исключил очевидные проверки, оставив только ключевые строки.



Original source: habrahabr.ru.

https://habrahabr.ru/post/283426/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Галина_Клиновицкая

Как форматировать usb флешки

Среда, 13 Апреля 2016 г. 06:28 (ссылка)

Это цитата сообщения Владимир_Шильников Оригинальное сообщение

Как форматировать usb флешки.

images (297x169, 6Kb)

Сначала разберемся с вопросом - зачем форматировать флешки


Как ни странно главной причиной для форматирования являются не вирусы на флешке, а невозможность записать файл на флешку более 4 гигабайт. Некоторые пользователи сталкивались с такой проблемой, вроде и флешка в 8 гигов а записать на флешку кино, образ ISO, папку и другие файлы - не получается. Многие производители выпускают флешки в формате FAT32, а fat32 не поддерживает передачу больших файлов. Максимальный размер файла который можно записать на флешку fat32 не должен превышать 4 гигабайта (что такое гигабайт). Для этого и форматируют флешки формата fat32 в ntfs.


Форматирование позволяет избавиться от вирусов на флешке. Если Вы проверяли флешку на вирусы с помощью антивирусов и антивирусных утилит и они ничего не обнаружили, но у Вас имеется подозрение, что на флешке вирус - лучше отформатировать её.


Еще одна причина для форматирования - медленная работа флешки. После удаления ненужных файлов остаются пустые места (кластеры). В результате флешка стала работать медленнее - формат флешки поможет ускорить ее работу.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Stepan_Sikora

10 простых программ для создания загрузочных USB

Суббота, 26 Марта 2016 г. 15:49 (ссылка)
fenixslovo.com/ru/others/10374

В последнее время стал актуальным вопрос установки операционной системы с флэш-накопителей, так как CD/DVD диски потихоньку отживают своё. На сегодняш...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
enmaster1

Программа для создания загрузочной USB флешки

Пятница, 11 Марта 2016 г. 20:32 (ссылка)
spec-komp.com/load/skacat_b...?_utl_t=li

Программа для создания загрузочной USB флешки

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Совет1

Как выбрать мышку для компьютера

Вторник, 08 Марта 2016 г. 22:59 (ссылка)

Внешний вид мышки для компьютера не играет значения. Основной показатель, на который следует обращать внимание - ее эргономичность (удобство в руке, легкое вращение колесика, подходящий размер и т.д.)...Далее

Комментарии (0)КомментироватьВ цитатник или сообщество
Совет1

Как запрограммировать Arduino Pro Mini с помощью программатора

Понедельник, 07 Марта 2016 г. 15:11 (ссылка)

В жизни начинающего ардуинщика рано или поздно наступает момент, когда хочется сэкономить на размере своего изделия, не жертвуя при этом функциональностью. И тогда Arduino Pro Mini - отличное решение! Эта плата за счёт того, что у неё отсутствует встроенный USB-разъём, в полтора раза меньше Arduini Nano. Но для того, чтобы её запрограммировать, придётся приобрести дополнительный - внешний - USB-программатор. О том, как "залить" написанную программу в память микроконтроллера и заставить Arduino Pro Mini работать, и пойдёт речь в этой статье...Далее

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Совет1

Совет 1 Как сделать фонарик

Суббота, 05 Марта 2016 г. 13:45 (ссылка)

Бумажные фонарики всегда были простыми и яркими праздничными украшениями у всех народов. Сделать фонарик самостоятельно довольно просто. Рассмотрим простые, но интересные модели...Далее

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<usb - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda