{"id":275054,"date":"2016-02-27T00:12:02","date_gmt":"2016-02-26T21:12:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=275054"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=275054","title":{"rendered":"\u042d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Pi Zero \u2014 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/geektimes\/post_images\/01c\/bbf\/151\/01cbbf151a3a5b9e2d8ea94f695165d8.jpg\" width=\"750\"\/><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Pi Zero \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0447\u0435\u0435, \u043f\u0440\u0438\u0447\u0435\u043c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 LibComposite, \u043f\u0440\u0430\u0432\u0434\u0430, \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0434 Windows \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Linux \u0438\u043b\u0438 Mac OS X. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u2014 \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 (<a href=\"http:\/\/isticktoit.net\/?p=1383\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a>). <br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h3>\u0428\u0430\u0433 0 \u2014 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c SD \u043a\u0430\u0440\u0442\u0443<\/h3>\n<p>  \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 Raspbian Jessie \u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e SD \u043a\u0430\u0440\u0442\u0443 (\u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0435\u043c\u043a\u043e\u0439), \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b. <\/p>\n<h3>\u0428\u0430\u0433 1 \u2014 \u042f\u0434\u0440\u043e<\/h3>\n<p>  \u041d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Kernel 4.4, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0438\u0434\u0435\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u043c Rasbian. \u041d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0435\u0433\u043a\u043e, \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u043e\u0442 \u044d\u0442\u0443 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443: <\/p>\n<p>  <i>sudo BRANCH=next rpi-update<\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u043e\u0442 \u0447\u0442\u043e: <\/p>\n<p>  <i>echo \u00abdtoverlay=dwc2\u00bb | sudo tee -a \/boot\/config.txt<br \/>  echo \u00abdwc2\u00bb | sudo tee -a \/etc\/modules<\/i><\/p>\n<p>  \u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 libcomposite:<\/p>\n<p>  <i>sudo echo \u00ablibcomposite\u00bb | sudo tee -a \/etc\/modules<\/i><\/p>\n<h3>\u0428\u0430\u0433 2 \u2014 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u2014 \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u043a\u0430\u0440\u0442\u0443, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u0438\u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435? <\/p>\n<p>  \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 ConfigFS, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0432 \/sys\/. \u041e\u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u00ab\u043c\u0430\u043b\u0438\u043d\u043a\u0438\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0441 \u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <br \/>  \u0415\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0434\u0435\u0432\u0430\u0439\u0441\u0430, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e USBArmory, \u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/github.com\/ckuethe\/usbarmory\/wiki\/USB-Gadgets\">\u044d\u0442\u043e\u0442 \u0437\u0434\u0435\u0441\u044c<\/a>. \u041d\u0430 \u0431\u0430\u0437\u0435 \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435. <\/p>\n<p>  <b>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442<\/b><\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u0430\u0440\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b isticktoit_usb in \/usr\/bin\/, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440. \u041f\u0438\u0448\u0435\u043c \u0432\u043e\u0442, \u0447\u0442\u043e:<br \/>  <i>sudo touch \/usr\/bin\/isticktoit_usb #create the file<br \/>  sudo chmod +x \/usr\/bin\/isticktoit_usb #make it executable<br \/>  sudo nano \/usr\/bin\/isticktoit_usb #edit the file<\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c systemd unit \u0444\u0430\u0439\u043b, \u043d\u043e \u043f\u043e\u043a\u0430 \u043e\u0431\u043e\u0439\u0434\u0435\u043c\u0441\u044f rc.local. (\u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b sysvinit, \u043d\u043e \u043e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 raspberry pi \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e).<\/p>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0434 \u0440\u0443\u0442\u043e\u043c \/etc\/rc.local \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 (\u043f\u0435\u0440\u0435\u0434!!!) \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 \u0441\u043b\u043e\u0432\u043e \u00abexit\u00bb:<\/p>\n<p>  <i>sudo nano \/etc\/rc.local<br \/>  \/etc\/rc.local\u2026<br \/>  \/usr\/bin\/isticktoit_usb # libcomposite configuration<br \/>  exit<\/i><\/p>\n<p>  <b>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0433\u0430\u0434\u0436\u0435\u0442<\/b><\/p>\n<p>  \u042d\u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e USB \u0433\u0430\u0434\u0436\u0435\u0442\u043e\u0432 \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u041c\u043e\u0436\u0435\u0442\u0435 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435.<\/p>\n<p>  <i>\/usr\/bin\/isticktoit_usbcd \/sys\/kernel\/config\/usb_gadget\/<br \/>  mkdir -p isticktoit<br \/>  cd isticktoit<br \/>  echo 0x1d6b &gt; idVendor # Linux Foundation<br \/>  echo 0x0104 &gt; idProduct # Multifunction Composite Gadget<br \/>  echo 0x0100 &gt; bcdDevice # v1.0.0<br \/>  echo 0x0200 &gt; bcdUSB # USB2<br \/>  mkdir -p strings\/0x409<br \/>  echo \u00abfedcba9876543210\u00bb &gt; strings\/0x409\/serialnumber<br \/>  echo \u00abTobias Girstmair\u00bb &gt; strings\/0x409\/manufacturer<br \/>  echo \u00abiSticktoit.net USB Device\u00bb &gt; strings\/0x409\/product<br \/>  mkdir -p configs\/c.1\/strings\/0x409<br \/>  echo \u00abConfig 1: ECM network\u00bb &gt; configs\/c.1\/strings\/0x409\/configuration<br \/>  echo 250 &gt; configs\/c.1\/MaxPower<br \/>  # Add functions here<br \/>  # see gadget configurations below<br \/>  # End functions<br \/>  ls \/sys\/class\/udc &gt; UDC<\/i><\/p>\n<p>  <b>Ethernet \u0430\u0434\u0430\u043f\u0442\u0435\u0440<\/b><\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u043e\u0442 \u0447\u0442\u043e \u0432 \u043d\u0430\u0448 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b: <\/p>\n<p>  <i>sudo nano \/usr\/bin\/isticktoit_usb<br \/>  \/usr\/bin\/isticktoit_usb# Add functions here<br \/>  mkdir -p functions\/ecm.usb0<br \/>  # first byte of address must be even<br \/>  HOST=\u00ab48:6f:73:74:50:43\u00bb # \u00abHostPC\u00bb<br \/>  SELF=\u00ab42:61:64:55:53:42\u00bb # \u00abBadUSB\u00bb<br \/>  echo $HOST &gt; functions\/ecm.usb0\/host_addr<br \/>  echo $SELF &gt; functions\/ecm.usb0\/dev_addr<br \/>  ln -s functions\/ecm.usb0 configs\/c.1\/<br \/>  # End functions<br \/>  ls \/sys\/class\/udc &gt; UDC<br \/>  #put this at the very end of the file:<br \/>  ifconfig $N 10.0.0.1 netmask 255.255.255.252 up<br \/>  route add -net default gw 10.0.0.2<\/i><\/p>\n<p>  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u043c, \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a host PC:<br \/>  \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c, \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u043e\u0442, \u0447\u0442\u043e:<\/p>\n<p>  <i>dmesg|grep cdc_ether<br \/>  [13890.668557] cdc_ether 1-1:1.2 eth0: register &#8216;cdc_ether&#8217; at usb-0000:00:14.0-1, CDC Ethernet Device, 48:6f:73:74:50:43<br \/>  [13890.674117] usbcore: registered new interface driver cdc_ether<br \/>  [13890.687619] cdc_ether 1-1:1.2 enp0s20u1i2: renamed from eth0<\/i><\/p>\n<p>  \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u043e\u0441\u043b\u0435, \u043f\u043e\u043a\u0430 \u0436\u0435 \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e enp0s20u1i2<\/p>\n<p>  <i>sudo ifconfig enp0s20u1i2 10.0.0.2 netmask 255.255.255.252 up<\/i><\/p>\n<p>  \u0418 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 ssh \u043a PI:<\/p>\n<p>  <i>ssh 10.0.0.1 -l pi<\/i><\/p>\n<p>  <b>\u041a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430, \u043c\u044b\u0448\u044c, \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a (HID)<\/b><\/p>\n<p>  <i>sudo nano \/usr\/bin\/isticktoit_usb<br \/>  \/usr\/bin\/isticktoit_usb# Add functions here<br \/>  mkdir -p functions\/hid.usb0<br \/>  echo 1 &gt; functions\/hid.0\/protocol<br \/>  echo 1 &gt; functions\/hid.0\/subclass<br \/>  echo 8 &gt; functions\/hid.0\/report_length<br \/>  echo -ne \\\\x05\\\\x01\\\\x09\\\\x06\\\\xa1\\\\x01\\\\x05\\\\x07\\\\x19\\\\xe0\\\\x29\\\\xe7\\\\x15\\\\x00\\\\x25\\\\x01\\\\x75\\\\x01\\\\x95\\\\x08\\\\x81\\\\x02\\\\x95\\\\x01\\\\x75\\\\x08\\\\x81\\\\x03\\\\x95\\\\x05\\\\x75\\\\x01\\\\x05\\\\x08\\\\x19\\\\x01\\\\x29\\\\x05\\\\x91\\\\x02\\\\x95\\\\x01\\\\x75\\\\x03\\\\x91\\\\x03\\\\x95\\\\x06\\\\x75\\\\x08\\\\x15\\\\x00\\\\x25\\\\x65\\\\x05\\\\x07\\\\x19\\\\x00\\\\x29\\\\x65\\\\x81\\\\x00\\\\xc0 &gt; functions\/hid.0\/report_desc<br \/>  ln -s functions\/hid.usb0 configs\/c.1\/<br \/>  # End functions<\/i><\/p>\n<p>  \u0412\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b \u0432 \u0444\u0430\u0439\u043b \u0434\u0435\u0432\u0430\u0439\u0441\u0430: <br \/>  <i>echo &quot;\\0\\0\\x4\\0\\0\\0\\0\\0&quot; &gt; \/dev\/hidg0 #press the A-button<br \/>  echo &quot;\\0\\0\\0\\0\\0\\0\\0\\0&quot; &gt; \/dev\/hidg0 #release all keys<\/i><\/p>\n<p>  \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u043e\u0438\u0442 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u043e\u0442 <a href=\"https:\/\/github.com\/girst\/hardpass\">\u044d\u0442\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c<\/a>, \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0441\u0432\u043e\u0439 \u041f\u041a. \u0417\u0430\u0442\u0435\u043c \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0435\u0433\u043e \u043d\u0430 SD \u043a\u0430\u0440\u0442\u0443 \u00ab\u043c\u0430\u043b\u0438\u043d\u043a\u0438\u00bb \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<p>  <i>\u041d\u0430 Pi:<br \/>  cd PATH_TO_HARDPASS_REPO<br \/>  make #compile the program<br \/>  echo -n \u00abhello world!\u00bb | sudo .\/scan \/dev\/hidg0 1 2<\/i><\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u201a1\u2018 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0443\u044e \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0443 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b, \u0430 \u00ab2\u00bb \u2014 \u043d\u0435\u043c\u0435\u0446\u043a\u043e-\u0430\u0432\u0441\u0442\u0440\u0438\u0439\u0441\u043a\u0443\u044e. \u0432\u0442\u043e\u0440\u043e\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u043d\u0430 \u0432\u0430\u0448\u0435\u0439 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 (2=Linux, 3=Windows (\u043f\u0440\u0430\u0432\u0434\u0430, \u043d\u0435\u0442 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043f\u043e\u0434 \u044d\u0442\u0443 \u041e\u0421)).<\/p>\n<p>  <b>\u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c <\/b><\/p>\n<p>  \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b \u043e\u0431\u0440\u0430\u0437\u0430 \u0434\u0438\u0441\u043a\u0430. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0444\u0430\u0439\u043b \u043e\u0431\u0440\u0430\u0437\u0430 \u0434\u0438\u0441\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 ethernet \u0445\u043e\u0441\u0442\u0430. <br \/>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0438\u0441\u043a. \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, <a href=\"http:\/\/www.linux-usb.org\/gadget\/file_storage.html\">\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u0437\u0434\u0435\u0441\u044c<\/a>. <br \/>  \u0417\u0430\u0442\u0435\u043c \u0441\u043d\u043e\u0432\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<p>  <i>sudo nano \/usr\/bin\/isticktoit_usb<br \/>  \/usr\/bin\/isticktoit_usb# Add functions here<br \/>  FILE=\/home\/pi\/usbdisk.img<br \/>  mkdir -p ${FILE\/img\/d}<br \/>  mount -o loop,ro,offset=1048576 -t ext4 $FILE ${FILE\/img\/d}<br \/>  mkdir -p functions\/mass_storage.usb0<br \/>  echo 1 &gt; functions\/mass_storage.usb0\/stall<br \/>  echo 0 &gt; functions\/mass_storage.usb0\/lun.0\/cdrom<br \/>  echo 0 &gt; functions\/mass_storage.usb0\/lun.0\/ro<br \/>  echo 0 &gt; functions\/mass_storage.usb0\/lun.0\/nofua<br \/>  echo $FILE &gt; functions\/mass_storage.usb0\/lun.0\/file<br \/>  ln -s functions\/mass_storage.usb0 configs\/c.1\/<br \/>  # End functions<br \/>  <\/i><br \/>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0441\u044c\u0435\u043c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a \u0432 FAT32 \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f Pi \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u041f\u041a. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c, \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u043d\u0430 Pi, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c unmount \u0438 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u0435\u0449\u0435 \u0433\u0434\u0435-\u0442\u043e. <\/p>\n<h3>\u0427\u0442\u043e \u0435\u0449\u0435?<\/h3>\n<p>  \u0412\u0441\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u043e\u043a\u043e\u043b\u043e 20 USB \u0433\u0430\u0434\u0436\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u044f\u0434\u0440\u043e\u043c Linux. \u0412\u043e\u0442 \u0437\u0434\u0435\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 <a href=\"https:\/\/www.kernel.org\/doc\/Documentation\/usb\/gadget_configfs.txt\">\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u044d\u0442\u043e\u043c<\/a>!<\/p>\n<p>  <b>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438: <\/b><br \/>  <a href=\"http:\/\/blog.gbaman.info\/?p=699\">Tutorial by gbaman<\/a><br \/>  <a href=\"https:\/\/www.kernel.org\/doc\/Documentation\/usb\/gadget_configfs.txt\">libcomposite in the Kernel documentation<\/a><br \/>  \u2013&gt; <a href=\"https:\/\/github.com\/girst\/hardpass\">hardpass \u2013 PiZero project (Keyboad emulation)<\/a> &lt; \u2014 <a href=\"https:\/\/github.com\/ckuethe\/usbarmory\/wiki\/USB-Gadgets\">USBArmory Wiki Page<\/a>               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/geektimes.ru\/post\/271720\/\"> https:\/\/geektimes.ru\/post\/271720\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/geektimes\/post_images\/01c\/bbf\/151\/01cbbf151a3a5b9e2d8ea94f695165d8.jpg\" width=\"750\"\/><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Pi Zero \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0447\u0435\u0435, \u043f\u0440\u0438\u0447\u0435\u043c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 LibComposite, \u043f\u0440\u0430\u0432\u0434\u0430, \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0434 Windows \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Linux \u0438\u043b\u0438 Mac OS X. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u2014 \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 (<a href=\"http:\/\/isticktoit.net\/?p=1383\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a>).   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-275054","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275054"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275054\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}