Analysis of usb hid device interface protocol using ollydbg
Author: tase tase@163.com
Keywords: ollydbg, USB, hid, bus hound,
Analysis tools: ollydbg, bus houndAnalysis object: a USB interface Flight Simulator
Objective: To analy
[BLE--HID] usb hid device category definitionBrief Introduction
HID devices are human-computer interaction devices. Common devices include the mouse, keyboard, and game handle. Generally, the wired connection is connected to the machine device through a USB connection, which
This article is an article by three netizens, but I haven't tried some things, so I listed their methods separately!First, answer your questions:1. Since my mouse can run under the virtual machine system, what should I do with this broken hid?The difference is that this is a real hid, which can be found in the Device Manager. And it is powered by a real hid drive
output end point.
The report descriptor describes a report and what data is used.The usb host can analyze the meaning of the data in the report. It controls the inputThe host uses the report descriptor command to obtain the report descriptor. Pay attention to this request.Is sent to the interface, not to the device. One report descriptor can describe multiple reports.The report is identified by the report ID, which is the first byte in the report. In
used.The USB host can analyze the meaning of the data in the report. It controls the inputThe host uses the report descriptor command to obtain the report descriptor. Pay attention to this request.Is sent to the interface, not to the device. One report descriptor can describe multiple reports.The report is identified by the report ID, which is the first byte in the report. In the report DescriptorIf no ID is specified for a report, there is no ID fie
device class definition for Human Interface Device (HID.
It is divided into two parts. 0x05 is a part, indicating the prefix and 0x01 is the data part.
0x05 is converted to binary, that is, 0000 01001. According to the definition of HID 5.3 generic item format, this byte is divided into three parts, bit0 ~ Bit1 indicates the length of the data following the prefix. Two values can represent up to 4 bytes of
Today, I installed a USB flash drive on a new PC platform and found that I had never been able to access it. I think there is no problem in the previous PC platform. Why can't this problem be solved?
When I used USB analysis, I found that the problem occurred on usb_get_protocol. I used to handle usb_set_protocol, but usb_get_protocol didn't handle it. This is a good time!
Previously, during the
program is to implement the mouse function, so there is only one input endpoint. Here we add an output endpoint to control the LEDs (with caps on the keyboard, keypad number key lock, etc.), so change the bnumendpoints to 2. Binterfaceclass is the class used by the interface, which is specified as the HID device, the USB keyboard and mouse are HID devices, ther
Usb-hid is the abbreviation of human Interface device, which belongs to the Human-computer interaction operation device, such as USB mouse, USB keyboard, USB game joystick, USB touchpad, USB
Front-end time to tinker with a HID hardware, need and Android communication, online search a lap, harvest is not small.The better articles are:Android USB host with HID communicationAndroid service creates USB host communicationWhere the code is to be noted in some places, please note:/***
Recently I am reading the spec of USB hid:
Http://www.usb.org/developers/devclass_docs/HID1_11.pdf
As you can see, when item isLocalWhen btag = 0000 correspondsUsage.
The meaning of this usage was not understood at first. I thought it was wrong. It should be written as a usage ID, and someone on the Internet also said that this usage is actually a usage ID.
After some research, I finally understood
Source: USB That Thing 3-using port 2 as the transfer of custom HIDThe USB custom HID example uses port 1 as the communication, so now I use port 2 as the communication end, how to modify it? As shown below:First modify: USB_DESC.C in the const U8 CUSTOMHID_CONFIGDESCRIPTOR[CUSTOMHID_SIZ_CONFIG_DESC] This character array contents: The following red for the modifi
Kautilya prompts to select the appropriate menu, and then generate payload to Kautilya directory.
The generated payload needs to be compiled in the Arduino IED and then uploaded to Teensy.
Supported devices (Human Interface Devices)
In principal Kautilya should work with any HID capable of acting as a keyboard. Kautilya have been tested on teensy++2.0 and teensy 3.0 from pjrc.com. Updates about Kautilya can is found most of the Times at my blog http:
Test code for Linux usb hid Device: hiddevice
/****************************************************************** Author:DriverMonkey* Mail:bookworepeng@Hotmail.com* Phone:18575593141* QQ:196568501* Blog:http://blog.csdn.net/drivermonkey* Date:02/07/2015 *****************************************************************/#include
,//File attributesUINT hTemplateFile//handle to template file);Reading device files[DllImport ("Kernel32.dll", SetLastError = True)]private static extern bool ReadFile(INTPTR hfile,byte [] lpbuffer,UINT nNumberOfBytesToRead,Ref UINT Lpnumberofbytesread,IntPtr lpoverlapped);Release device[DllImport ("Hid.dll")]static public extern bool Hidd_freepreparseddata (ref INTPTR preparseddata);Turn off access to device handles, and when you end the process, add this to the insurance.[DllImport ("kernel32.
I am in the transplant St official Usb-hid program is can run, but when I modify the maximum package babble detected error occurred, according to the operation of the network, modify the maximum buffer needs to modify 3 places, (1) usb_desc.c file customhid_ CONFIGDESCRIPTOR[CUSTOMHID_SIZ_CONFIG_DESC] Array, modifying the maximum packet size of the input and output of the endpoint 1, and (2) modifying the v
device descriptor, 0x12BYTE bDescriptorType; // descriptor type number, 0x01WORD bcdUSB; // USB Version BYTE bDeviceClass; // The device Code allocated by USB, 0x01 ~ 0xfe is a standard device class, And 0xff is a vendor-defined type. // 0x00 is not defined in the device descriptor, for example, hid byte bDeviceSubClass; // The Sub-class code assigned by
USB protocol analysis, usb protocol
1. Description structure of USB devices
1. Logical Organizational Structure
The logical organization of a USB device consists of four layers: device, configuration, interface, and endpoint. A de
connection line to the PC, you will receive a message from the master. The following data is the data that the Development Board communicates with the USB master controller.
1.
Receives the device descriptor configuration package from the master.Setup m = 0, n = 0, val = 37
80 06 00 01 00 00 40 00This is the first configuration package data sent by the main controller. Because the master controller does not know the length of the descriptor of the
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.