рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╕рдмреИрд▓рд╛рдИ рдирдорд╕реНрдХрд╛рд░ред

рд╣рд╛рдореА, Viktor Antipov рд░ Ilya Aleshin, рдЖрдЬ Python PyUSB рдорд╛рд░реНрдлрдд USB рдпрдиреНрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рдЕрдиреБрднрд╡ рд░ рд░рд┐рднрд░реНрд╕ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕

2019 рдорд╛, рд░реВрд╕реА рд╕рдВрдШ рдирдореНрдмрд░ 224 рдХреЛ рд╕рд░рдХрд╛рд░рдХреЛ рдбрд┐рдХреНрд░реА "рдкрд╣рд┐рдЪрд╛рдирдХреЛ рдорд╛рдзреНрдпрдо рд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд▓реЗрдмрд▓рд┐рдВрдЧрдХреЛ рдЕрдзреАрдирдорд╛ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рдкрд░рд┐рд╕рдВрдЪрд░рдг рдЕрдиреБрдЧрдордирдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдЬреНрдп рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкрд╣рд┐рдЪрд╛рди рд╕рд╛рдзрди рд░ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╕рд╛рде рд╕реБрд░реНрддрд┐рдЬрдиреНрдп рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рд▓реЗрдмрд▓ рдЧрд░реНрдиреЗ рдирд┐рдпрдорд╣рд░реВрдХреЛ рд╕реНрд╡реАрдХреГрддрд┐рдорд╛ред рд╕реБрд░реНрддреАрдЬрдиреНрдп рдкрджрд╛рд░реНрдердХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛" рд▓рд╛рдЧреВ рднрдпреЛред
рдХрд╛рдЧрдЬрд╛рддрд▓реЗ рдмрддрд╛рдЙрдБрдЫ рдХрд┐ рдЬреБрд▓рд╛рдИ рез, реирежрезреп рджреЗрдЦрд┐, рдирд┐рд░реНрдорд╛рддрд╛рд╣рд░реВрд▓реЗ рд╕реБрд░реНрддреАрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрдпрд╛рдХрд▓рд╛рдИ рд▓реЗрдмрд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рддрд░рдХрд╣рд░реВрд▓реЗ рдпреА рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдХрд╛рдЧрдЬрд╛рдд (UDD) рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫред рдкрд╕рд▓рд╣рд░реВ, рдмрд╛рд░реАрдорд╛, рдирдЧрдж рджрд░реНрддрд╛ рдорд╛рд░реНрдлрдд рд▓реЗрдмрд▓ рдЧрд░рд┐рдПрдХрд╛ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рдмрд┐рдХреНрд░реА рджрд░реНрддрд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕рд╛рдереИ, рдЬреБрд▓рд╛рдИ 1, 2020 рджреЗрдЦрд┐, рд▓реЗрдмрд▓ рдмрд┐рдирд╛ рд╕реБрд░реНрддрд┐рдЬрдиреНрдп рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рд╕рд░реНрдХреБрд▓реЗрд╢рди рдирд┐рд╖реЗрдз рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рд╕рдмреИ рд╕рд┐рдЧрд░реЗрдЯ рдкреНрдпрд╛рдХрд╣рд░реВ рд╡рд┐рд╢реЗрд╖ рдбрд╛рдЯрд╛рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрд╛рд░рдХреЛрдбрдХреЛ рд╕рд╛рде рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЗрдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫред рдпрд╕рдмрд╛рд╣реЗрдХ - рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдиреНрджреБ - рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ Datamatrix рд╕рд╛рдзрд╛рд░рдг рд╣реБрдиреЗрдЫреИрди, рддрд░ рдЙрд▓реНрдЯреЛред рддреНрдпреЛ рд╣реЛ, рд╕реЗрддреЛрдорд╛ рдХрд╛рд▓реЛ рдХреЛрдб рд╣реЛрдЗрди, рддрд░ рдЙрд▓реНрдЯреЛред

рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░рд╛ рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНтАНрдпреМрдВ, рд░ рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдзреЗрд░реИрд▓рд╛рдИ рд░рд┐рдлреНрд▓реНрдпрд╛рд╢/рд░рд┐рдЯреНрд░реЗрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЕрдиреНрдпрдерд╛ рддрд┐рдиреАрд╣рд░реВ рдпрд╕ рдмрд╛рд░рдХреЛрдбрд╕рдБрдЧ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫреИрдирдиреНред рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рдпреЛ рдореЛрдбрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЧрдореНрднреАрд░ рдЯрд╛рдЙрдХреЛ рджреБрдЦрд╛рдЗрдХреЛ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рджрд┐рдпреЛ, рдХрд┐рдирднрдиреЗ рд╣рд╛рдореНрд░реЛ рдХрдореНрдкрдиреАрд╕рдБрдЧ рдзреЗрд░реИ рдкрд╕рд▓рд╣рд░реВ рдЫрдиреН рдЬреБрди рд╡рд┐рд╢рд╛рд▓ рдХреНрд╖реЗрддреНрд░рдорд╛ рдЫрд░рд┐рдПрдХрд╛ рдЫрдиреНред рд╣рдЬрд╛рд░реМрдВ рдирдЧрдж рджрд░реНрддрд╛рд╣рд░реВ - рд░ рдзреЗрд░реИ рдереЛрд░реИ рд╕рдордпред

рдХреЗ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рдерд┐рдпреЛ ? рддреНрдпрд╣рд╛рдБ рджреБрдИ рд╡рд┐рдХрд▓реНрдк рдЫрдиреНред рдкрд╣рд┐рд▓реЛ: рд╕рд╛рдЗрдЯрдорд╛ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реВрд▓реЗ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рд░рд┐рдлреНрд▓реНрдпрд╛рд╢ рд░ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реНрдЫрдиреНред рджреЛрд╕реНрд░реЛ: рд╣рд╛рдореА рдЯрд╛рдвреИрдмрд╛рдЯ рдХрд╛рдо рдЧрд░реНрдЫреМрдВ рд░, рдЕрдзрд┐рдорд╛рдирддрдГ, рдзреЗрд░реИ рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдПрдХреИ рдкрдЯрдХрдорд╛ рдПрдХ рдкрдЯрдХрдорд╛ рдХрднрд░ рдЧрд░реНрдЫреМрдВред

рдкрд╣рд┐рд▓реЛ рд╡рд┐рдХрд▓реНрдк, рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдерд┐рдПрди: рд╣рд╛рдореАрд▓реЗ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реВ рднреНрд░рдордг рдЧрд░реНрди рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ, рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдиреНрддреНрд░рдг рд░ рд╕рдордиреНрд╡рдп рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреЗрдЫред рддрд░ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫрдиреН, рддреНрдпреЛ рд╣реЛ, рд╣рд╛рдореАрд▓реЗ рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рдзреЗрд░реИ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдкрд╛рдЙрдиреЗрдЫреМрдВ рд░ рд╕рдореНрднрд╡рддрдГ рд╕рдордпрд╕реАрдорд╛ рдкреВрд░рд╛ рдЧрд░реНрджреИрдиреМрдВред

рджреЛрд╕реНрд░реЛ рд╡рд┐рдХрд▓реНрдк рд╕рдмреИрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рдЫ, рдпрджрд┐ рдПрдХ рдЪреАрдЬрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрдиред рдХреЗрд╣реА рд╡рд┐рдХреНрд░реЗрддрд╛рд╣рд░реВрд╕рдБрдЧ рд╣рд╛рдореАрд▓реЗ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд░рд┐рдореЛрдЯ рдлреНрд▓реНрдпрд╛рд╕рд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВ рдерд┐рдПрдирдиреНред рд░ рд╕рдордпрд╕реАрдорд╛ рд╕рдХрд┐рдБрджреИ рдЧрдПрдкрдЫрд┐, рдореИрд▓реЗ рдЖрдлреНрдиреИ рдЯрд╛рдЙрдХреЛрд▓реЗ рд╕реЛрдЪреНрдиреБрдкрд░реНтАНрдпреЛред

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдбреЗрдмрд┐рдпрди 9.x OS (рд╣рд╛рдореНрд░рд╛ рд╕рдмреИ рдирдЧрдж рджрд░реНрддрд╛рд╣рд░реВ рдбреЗрдмрд┐рдпрдирдорд╛ рдЫрдиреН) рдХреЛ рд▓рд╛рдЧрд┐ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВ рдХрд╕рд░реА рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдпреМрдВ рднрдиреЗрд░ рдмрддрд╛рдЙрдиреЗрдЫреМрдВред

рдкрд╣реЗрд▓реА рд╣рд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН: рдХрд╕рд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдлреНрд▓реИрд╢ рдЧрд░реНрдиреЗ

рднрд┐рдХреНрдЯрд░ Antipov рд░рд┐рдкреЛрд░реНрдЯред

рд╡рд┐рдХреНрд░реЗрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ Windows рдЕрдиреНрддрд░реНрдЧрдд рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рдХреЗрд╡рд▓ IE рдХреЛ рд╕рд╛рдеред рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рд╕реНрдХреНрдпрд╛рдирд░рд▓рд╛рдИ рдлреНрд▓реНрдпрд╛рд╕ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдЫред

рд╣рд╛рдореНрд░реЛ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдбреЗрдмрд┐рдпрди рднрдПрдХреЛрд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдбреЗрдмрд┐рдпрдирдорд╛ USB-рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рдХ рд╕рд░реНрднрд░ рд░ Windows рдорд╛ USB-рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рдХ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдпреМрдВред USB-Redirector рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд╣рд╛рдореАрд▓реЗ рд╕реНрдХреНрдпрд╛рдирд░рд▓рд╛рдИ рд▓рд┐рдирдХреНрд╕ рдореЗрд╕рд┐рдирдмрд╛рдЯ Windows рдореЗрд╕рд┐рдирдорд╛ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрдпреМрдВред

рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рдХреНрд░реЗрддрд╛рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рд╕реНрдХреНрдпрд╛рдирд░ рджреЗрдЦреНрдпреЛ рд░ рдпрд╕рд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдлреНрд▓реНрдпрд╛рд╕ рдкрдирд┐ рдЧрд░реНтАНрдпреЛред рдпрд╕рд░реА, рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрдпреМрдВ: рдХреЗрд╣рд┐ рдкрдирд┐ OS рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИрди, рдпреЛ рдлреНрд▓реНрдпрд╛рд╢рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдХреБрд░рд╛ рд╣реЛред

рдард┐рдХ рдЫред рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдиреНрдбреЛрдЬ рдореЗрд╕рд┐рдирдорд╛ рдлреНрд▓реНрдпрд╛рд╕рд┐рдЩ рдЪрд▓рд╛рдпреМрдВ, рд░ рд▓рд┐рдирдХреНрд╕ рдореЗрд╕рд┐рдирдорд╛ рдбрдореНрдк рд╣рдЯрд╛рдпреМрдВред

рд╣рд╛рдореАрд▓реЗ WireShark рдорд╛ рдбрдореНрдк рднрд░реНрдпреМрдВ рд░... рджреБрдГрдЦреА рднрдпреЛ (рдо рдбрдореНрдкрдХреЛ рдХреЗрд╣реА рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫреЛрдбреНрдиреЗрдЫреБ, рддрд┐рдиреАрд╣рд░реВ рдХреБрдиреИ рдЪрд╛рд╕реЛрдХреЛ рдЫреИрдирдиреН)ред

рдбрдореНрдкрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗ рджреЗрдЦрд╛рдпреЛ:

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдареЗрдЧрд╛рдирд╛рд╣рд░реВ 0000-0030, Wireshark рджреНрд╡рд╛рд░рд╛ рдиреНрдпрд╛рдп рдЧрд░реНрджреИ, USB рд╕реЗрд╡рд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛред

рд╣рд╛рдореА рднрд╛рдЧ 0040-0070 рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреЗрдХрд╛ рдерд┐рдпреМрдВред

MOCFT рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдмрд╛рд╣реЗрдХ рдПрдЙрдЯрд╛ рдкреНрд░рд╕рд╛рд░рдг рдлреНрд░реЗрдордмрд╛рдЯ рдХреЗрд╣реА рдкрдирд┐ рд╕реНрдкрд╖реНрдЯ рдерд┐рдПрдиред рдпреА рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓рдмрд╛рдЯ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ, рд╕рд╛рдереИ рдлреНрд░реЗрдордХреЛ рдЕрдиреНрддреНрдпрд╕рдореНрдо рдмрд╛рдБрдХреА рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ (рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ):

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

fd 3e 02 01 fe рдкреНрд░рддреАрдХрд╣рд░реВрдХреЛ рдЕрд░реНрде рдХреЗ рд╣реЛ, рдорд▓рд╛рдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛, рдЗрд▓реНрдпрд╛ рдЬрд╕реНрддреИ, рдерд╛рд╣рд╛ рдерд┐рдПрдиред

рдореИрд▓реЗ рдирд┐рдореНрди рдлреНрд░реЗрдордорд╛ рд╣реЗрд░реЗ (рд╕реЗрд╡рд╛ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ, рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ):

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдХреЗ рдкреНрд░рд╖реНрдЯ рднрдпреЛ ? рдХрд┐ рдкрд╣рд┐рд▓реЛ рджреБрдИ рдмрд╛рдЗрдЯрд╣рд░реВ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реНрдерд┐рд░ рдЫрдиреНред рд╕рдмреИ рдкрдЫрд┐рд▓реНрд▓рд╛ рдмреНрд▓рдХрд╣рд░реВрд▓реЗ рдпреЛ рдкреБрд╖реНрдЯрд┐ рдЧрд░реЗ, рддрд░ рдкреНрд░рд╕рд╛рд░рдг рдмреНрд▓рдХрдХреЛ рдЕрдиреНрддреНрдп рд╣реБрдиреБ рдЕрдШрд┐:

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдпреЛ рдлреНрд░реЗрдо рдкрдирд┐ рд╕реНрддрдмреНрдз рдерд┐рдпреЛ, рдХрд┐рдирдХрд┐ рд╕реНрдерд┐рд░ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдерд┐рдпреЛ (рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ) рд░, рдЕрдиреМрдареЛ рд░реВрдкрдорд╛, рддреНрдпрд╣рд╛рдБ рдлрд╛рдЗрд▓рдХреЛ рдЕрдВрд╢ рдерд┐рдпреЛред рдлрд╛рдЗрд▓рдХреЛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдмрд╛рдЗрдЯрдХреЛ рд╕рд╛рдЗрдЬрд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ 1024 рдмрд╛рдЗрдЯрд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдорд▓рд╛рдИ рдлреЗрд░рд┐ рдерд╛рд╣рд╛ рдерд┐рдПрди рдХрд┐ рдмрд╛рдБрдХреА рдмрд╛рдЗрдЯреНрд╕рдХреЛ рдЕрд░реНрде рдХреЗ рд╣реЛред

рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдкреБрд░рд╛рдиреЛ BBS рдЙрдкрдирд╛рдордХреЛ рд░реВрдкрдорд╛, рдореИрд▓реЗ рдорд╛рдирдХ рдкреНрд░рд╕рд╛рд░рдг рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реЗрдВред рдХреБрдиреИ рдкреНрд░реЛрдЯреЛрдХрд▓ 1024 рдмрд╛рдЗрдЯ рдкреНрд░рд╕рд╛рд░рд┐рдд рдЫреИрдиред рдореИрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдзреНрдпрдпрди рдЧрд░реНрди рдерд╛рд▓реЗрдВ рд░ 1K Xmodem рдкреНрд░реЛрдЯреЛрдХрд▓рдорд╛ рдЖрдПрдБред рдпрд╕рд▓реЗ 1024 рдкреНрд░рд╕рд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛ, рддрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреАрдХреЛ рд╕рд╛рде: рд╕реБрд░реБрдорд╛ рдорд╛рддреНрд░ 128, рд░ рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдерд┐рдПрдирдиреН рднрдиреЗ, рдкреНрд░реЛрдЯреЛрдХрд▓рд▓реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдврд╛рдпреЛред рдорд╕рдБрдЧ рддреБрд░реБрдиреНрддреИ резрежреирек рдмрд╛рдЗрдЯрдХреЛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдерд┐рдпреЛред рдореИрд▓реЗ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ, рд░ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдПрдХреНрд╕-рдореЛрдбреЗрдо рдЕрдзреНрдпрдпрди рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред

рддреНрдпрд╣рд╛рдБ рдореЛрдбреЗрдордХреЛ рджреБрдИ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдерд┐рдПред

рдкрд╣рд┐рд▓реЛ, XMODEM рдкреНрдпрд╛рдХреЗрдЬ рдврд╛рдБрдЪрд╛ CRC8 рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде (рдореВрд▓ XMODEM):

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рджреЛрд╕реНрд░реЛ, XMODEM рдкреНрдпрд╛рдХреЗрдЯ рдврд╛рдБрдЪрд╛ CRC16 рд╕рдорд░реНрдерди (XmodemCRC):

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдпреЛ рд╕рдорд╛рди рджреЗрдЦрд┐рдиреНрдЫ, SOH, рдкреНрдпрд╛рдХреЗрдЬ рдирдореНрдмрд░ рд░ CRC рд░ рдкреНрдпрд╛рдХреЗрдЬ рд▓рдореНрдмрд╛рдЗ рдмрд╛рд╣реЗрдХред

рдореИрд▓реЗ рджреЛрд╕реНрд░реЛ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдмреНрд▓рдХрдХреЛ рд╕реБрд░реБрдорд╛ рд╣реЗрд░реЗ (рд░ рдлреЗрд░рд┐ рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ рджреЗрдЦреЗ, рддрд░ рдкрд╣рд┐рд▓реЗ рдиреИ 1024 рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЗрдиреНрдбреЗрдиреНрдЯ рдЧрд░рд┐рдПрдХреЛ):

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдореИрд▓реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЗрдбрд░ fd 3e 02 рджреЗрдЦреЗ, рддрд░ рдЕрд░реНрдХреЛ рджреБрдИ рдмрд╛рдЗрдЯрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдкрд░рд┐рд╡рд░реНрддрди рднрдЗрд╕рдХреЗрдХрд╛ рдерд┐рдП: рдпреЛ 01 fe рдерд┐рдпреЛ, рд░ 02 fd рднрдпреЛред рддреНрдпрд╕рдкрдЫрд┐ рдореИрд▓реЗ рдпрд╛рдж рдЧрд░реЗрдВ рдХрд┐ рджреЛрд╕реНрд░реЛ рдмреНрд▓рдХ рдЕрдм режреи рдирдореНрдмрд░рдорд╛ рдерд┐рдпреЛ рд░ рдпрд╕рд░реА рдмреБрдЭреЗ: рдореЗрд░реЛ рдЕрдЧрд╛рдбрд┐ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдмреНрд▓рдХрдХреЛ рдирдореНрдмрд░рд┐рдВрдЧ рдерд┐рдпреЛред рдкрд╣рд┐рд▓реЛ 02 рдЧрд┐рдпрд░ 1024 рд╣реЛ, рджреЛрд╕реНрд░реЛ 01 рд╣реЛ, рддреЗрд╕реНрд░реЛ 02 рд╣реЛ рд░ рдпрд╕реНрддреИ рдЕрдиреНрдп (рддрд░ рд╣реЗрдХреНрд╕рдорд╛, рдЕрд╡рд╢реНрдп рдкрдирд┐)ред рддрд░ fe рдмрд╛рдЯ fd рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рдЕрд░реНрде рдХреЗ рд╣реЛ? рдЖрдБрдЦрд╛рд▓реЗ рез рд▓реЗ рдШрдЯреЗрдХреЛ рджреЗрдЦреНрдпреЛ, рдорд╕реНрддрд┐рд╖реНрдХрд▓реЗ рдпрд╛рдж рджрд┐рд▓рд╛рдпреЛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ реж рдмрд╛рдЯ рдЧрдгрдирд╛ рдЧрд░реНрдЫрдиреН, рез рд╣реЛрдЗрдиред рддрд░ рддреНрдпрд╕реЛ рднрдП рдХрд┐рди рдкрд╣рд┐рд▓реЛ рдмреНрд▓рдХ рез, реж рд╣реЛрдЗрди? рдореИрд▓реЗ рдпреЛ рдкреНрд░рд╢реНрдирдХреЛ рдЙрддреНрддрд░ рдЕрдЭреИ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рдЫреИрдиред рддрд░ рдореИрд▓реЗ рдмреБрдЭреЗрдВ рдХрд┐ рджреЛрд╕реНрд░реЛ рдмреНрд▓рдХ рдХрд╕рд░реА рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред рджреЛрд╕реНрд░реЛ рдмреНрд▓рдХ FF - (рдорд╛рдЗрдирд╕) рдкрд╣рд┐рд▓реЛ рдмреНрд▓рдХрдХреЛ рд╕рдВрдЦреНрдпрд╛ рднрдиреНрджрд╛ рдмрдвреА рдЫреИрдиред рдпрд╕рд░реА, рджреЛрд╕реНрд░реЛ рдмреНрд▓рдХ = режреи (FF-03) = режреи FD рдХреЛ рд░реВрдкрдорд╛ рддреЛрдХрд┐рдПрдХреЛ рдерд┐рдпреЛред рдбрдореНрдкрдХреЛ рдкрдЫрд┐рд▓реНрд▓рд╛ рдкрдврд╛рдЗрд▓реЗ рдореЗрд░реЛ рдЕрдиреБрдорд╛рдирд▓рд╛рдИ рдкреБрд╖реНрдЯрд┐ рдЧрд░реНрдпреЛред

рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рд╕рд╛рд░рдгрдХреЛ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рджреЗрдЦрд╛ рдкрд░реНрди рдерд╛рд▓реНрдпреЛ:

рдкреНрд░рд╕рд╛рд░рдгрдХреЛ рд╕реБрд░реБрд╡рд╛рдд
fd 3e 02 - рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН
01 FE - рдкреНрд░рд╕рд╛рд░рдг рдХрд╛рдЙрдиреНрдЯрд░
рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг (рейрек рдмреНрд▓рдХ, резрежреирек рдмрд╛рдЗрдЯ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг)
fd 3e 1024 рдмрд╛рдЗрдЯ рдбрд╛рдЯрд╛ (30 рдмрд╛рдЗрдЯ рдмреНрд▓рдХрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд)ред
рдкреНрд░рд╕рд╛рд░рдгрдХреЛ рдЕрдиреНрддреНрдп
fd 25

1024 рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рдЧрд░реНрди рдмрд╛рдБрдХреА рдбрд╛рдЯрд╛ред

рдмреНрд▓рдХ рдкреНрд░рд╕рд╛рд░рдг рдЕрдиреНрдд рдлреНрд░реЗрдо рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

fd 25 - рдмреНрд▓рдХ рдкреНрд░рд╕рд╛рд░рдг рд╕рдорд╛рдкреНрдд рдЧрд░реНрди рд╕рдВрдХреЗрддред рдЕрд░реНрдХреЛ 2f 52 - рдлрд╛рдЗрд▓рдХреЛ рдмрд╛рдБрдХреА 1024 рдмрд╛рдЗрдЯ рд╕рдореНрдо рд╕рд╛рдЗрдЬрдорд╛ред 2f 52, рдкреНрд░реЛрдЯреЛрдХрд▓ рджреНрд╡рд╛рд░рд╛ рдиреНрдпрд╛рдп рдЧрд░реНрджреИ, рдПрдХ 16-рдмрд┐рдЯ CRC рдЪреЗрдХрд╕рдо рд╣реЛред

рдкреБрд░рд╛рдиреЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ C рдорд╛ рдПрдЙрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдПрдХреЛ рдЫреБ рдЬрд╕рд▓реЗ рдлрд╛рдЗрд▓рдмрд╛рдЯ 1024 рдмрд╛рдЗрдЯрд╣рд░реВ рддрд╛рдиреНрдпреЛ рд░ 16-рдмрд┐рдЯ CRC рдЧрдгрдирд╛ рдЧрд░реНрдпреЛред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реБрд░реБ рдЧрд░реНрджрд╛ рдпреЛ 16-рдмрд┐рдЯ CRC рд╣реЛрдЗрди рднрдиреЗрд░ рджреЗрдЦрд┐рдпреЛред рд╕реНрддрдмреНрдз рдлреЗрд░рд┐ - рд▓рдЧрднрдЧ рддреАрди рджрд┐рдирдХреЛ рд▓рд╛рдЧрд┐ред рдпреЛ рд╕рдмреИ рд╕рдордп рдо рдпреЛ рдХреЗ рд╣реБрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рдХреЛрд╢рд┐рд╕ рдЧрд░реНрджреИ рдерд┐рдП, рдпрджрд┐ рдЪреЗрдХрд╕рдо рд╣реЛрдЗрдиред рдЕрдЩреНрдЧреНрд░реЗрдЬреА-рднрд╛рд╖рд╛ рд╕рд╛рдЗрдЯрд╣рд░реВ рдЕрдзреНрдпрдпрди рдЧрд░реНрджрд╛, рдореИрд▓реЗ рдПрдХреНрд╕-рдореЛрдбреЗрдорд▓реЗ рдЖрдлреНрдиреИ рдЪреЗрдХрд╕рдо рдЧрдгрдирд╛ - CRC-CCITT (XModem) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПред рдореИрд▓реЗ рдпреЛ рдЧрдгрдирд╛рдХреЛ рдХреБрдиреИ C рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлреЗрд▓рд╛ рдкрд╛рд░реЗрди, рддрд░ рдореИрд▓реЗ рдпреЛ рдЪреЗрдХрд╕рдо рдЕрдирд▓рд╛рдЗрди рдЧрдгрдирд╛ рдЧрд░реНрдиреЗ рд╕рд╛рдЗрдЯ рдлреЗрд▓рд╛ рдкрд╛рд░реЗред рдореЗрд░реЛ рдлрд╛рдЗрд▓рдХреЛ 1024 рдмрд╛рдЗрдЯрд╣рд░реВ рд╡реЗрдм рдкреГрд╖реНрдардорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╕рд╛рдЗрдЯрд▓реЗ рдорд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЪреЗрдХрд╕рдо рджреЗрдЦрд╛рдпреЛ рдЬреБрди рдлрд╛рдЗрд▓рдмрд╛рдЯ рдЪреЗрдХрд╕рдорд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдореЗрд▓ рдЦрд╛рдиреНрдЫред

рд╣реБрд░реНрд░реЗ! рдЕрдиреНрддрд┐рдо рдкрд╣реЗрд▓реА рд╣рд▓ рднрдпреЛ, рдЕрдм рдорд▓рд╛рдИ рдЖрдлреНрдиреИ рдлрд░реНрдорд╡реЗрдпрд░ рдмрдирд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддреНрдпрд╕рдкрдЫрд┐, рдореИрд▓реЗ рдореЗрд░реЛ рдЬреНрдЮрд╛рди (рд░ рдпреЛ рдореЗрд░реЛ рдЯрд╛рдЙрдХреЛрдорд╛ рдорд╛рддреНрд░ рд░рд╣реНрдпреЛ) рдЗрд▓реНрдпрд╛рд▓рд╛рдИ рджрд┐рдПрдБ, рдЬреЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреБрд▓рдХрд┐рдЯ рдкрд╛рдЗрдердирд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рдЫрдиреНред

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рдЗрд▓реНрдпрд╛ рдЕрд▓реЗрд╕рд┐рди рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрджрдЫред

рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкрд╛рдПрдкрдЫрд┐, рдо рдзреЗрд░реИ "рдЦреБрд╕реА" рднрдПрдБред

рдХрд╣рд╛рдБ рд╕реБрд░реБ рдЧрд░реНрдиреЗ? рддреНрдпреЛ рдареАрдХ рд╣реЛ, рд╕реБрд░реБ рджреЗрдЦрд┐ред яБК USB рдкреЛрд░реНрдЯрдмрд╛рдЯ рдбрдореНрдк рд▓рд┐рдирдмрд╛рдЯред

USB-pcap рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН https://desowin.org/usbpcap/tour.html

рдкреЛрд░реНрдЯ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬрд╕рдорд╛ рдЙрдкрдХрд░рдг рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдлрд╛рдЗрд▓ рдЬрд╣рд╛рдБ рд╣рд╛рдореА рдбрдореНрдк рдмрдЪрдд рдЧрд░реНрдиреЗрдЫреМрдВред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╣рд╛рдореА рд╕реНрдХреНрдпрд╛рдирд░рд▓рд╛рдИ рдореЗрд╕рд┐рдирдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдЫреМрдВ рдЬрд╣рд╛рдБ Windows рдХреЛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд┐рдн EZConfigScanning рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдпрд╕рдорд╛ рд╣рд╛рдореА рдпрдиреНрддреНрд░рдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╕реНрддреБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВред рддрд░ рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рдо рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╣рд╛рдБ рдкрд╛рдЙрди рд╕рдХреНрдЫреБ?
рдЬрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдЙрдкрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдкреЛрд▓ рд╣реБрдиреНрдЫ (рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдХреЗрд╣рд┐ рдкрдЫрд┐ рджреЗрдЦреНрдиреЗрдЫреМрдВ)ред рд░ рддреНрдпрд╣рд╛рдБ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВрдмрд╛рдЯ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдмрд╛рд░рдХреЛрдбрд╣рд░реВ рдерд┐рдПред DEFALTред рдпреЛ рд╣рд╛рдореНрд░реЛ рдЯреЛрд▓реА рд╣реЛред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдЖрд╡рд╢реНрдпрдХ рддрдереНрдпрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рднрдПрдХреЛ рдЫ ред wireshark рдорд╛рд░реНрдлрдд dump.pcap рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред

EZConfigScanning рд╕реБрд░реБ рдЧрд░реНрджрд╛ рд░реЛрдХ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВрд▓реЗ рдзреНрдпрд╛рди рджрд┐рдиреБ рдкрд░реНрдиреЗ рдард╛рдЙрдБрд╣рд░реВ рд░рд╛рддреЛрдорд╛ рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЗрдПрдХрд╛ рдЫрдиреНред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдпреЛ рд╕рдм рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рджреЗрдЦреНрджрд╛ рдорди рд╣рд╛рд░реНрдпреЛ ред рдЕрдм рдХрд╣рд╛рдБ рдЦрдиреНрдиреЗ рднрдиреНрдиреЗ рд╕реНрдкрд╖реНрдЯ рдЫреИрдиред

рдЕрд▓рд┐рдХрддрд┐ рдордВрдерди рд░-рд░-рд░... рдЖрд╣рд╛! рдбрдореНрдкрдорд╛ рдмрд╛рд╣рд┐рд░ - рдпреЛ inрд░ in рдпрд╕рд▓рд╛рдИ рдмрд╛рд╣рд┐рд░.

рдореИрд▓реЗ URB_INTERRUPT рднрдиреЗрдХреЛ рдХреЗ рд╣реЛ рднрдиреЗрд░ рдЧреБрдЧрд▓ рдЧрд░реЗрдВред рдореИрд▓реЗ рдерд╛рд╣рд╛ рдкрд╛рдП рдХрд┐ рдпреЛ рдбрд╛рдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рд╡рд┐рдзрд┐ рд╣реЛред рд░ рддреНрдпрд╣рд╛рдБ 4 рдпрд╕реНрддрд╛ рд╡рд┐рдзрд┐рд╣рд░реВ рдЫрдиреН: рдирд┐рдпрдиреНрддреНрд░рдг, рдЕрд╡рд░реЛрдз, рдЖрдЗрд╕реЛрдХреНрд░реЛрдирд╕, рдмрд▓реНрдХред рддрдкрд╛рдИрдВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЫреБрдЯреНрдЯреИ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд░ USB рдпрдиреНрддреНрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ рдареЗрдЧрд╛рдирд╛рд╣рд░реВ "lsusb тАУv" рдЖрджреЗрд╢ рд╡рд╛ pyusb рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдЕрдм рд╣рд╛рдореАрд▓реЗ рдпреЛ VID рднрдПрдХрд╛ рд╕рдмреИ рдпрдиреНрддреНрд░рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрдкрд╛рдЗрдБ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА VID:PID рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреА рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдпреЛ рдпреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рддреНрдпрд╕реИрд▓реЗ, рд╣рд╛рдореАрд╕рдБрдЧ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдЫ: P_INFO рдЖрджреЗрд╢рд╣рд░реВред рд╡рд╛ DEFALT, рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдХрд╣рд╛рдБ рд▓реЗрдЦреНрдиреЗ рдЖрджреЗрд╢рд╣рд░реВ endpoint=03 рд░ рдХрд╣рд╛рдБ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ endpoint=86 рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗред рдмрд╛рдБрдХреА рд╕рдмреИ рдЖрджреЗрд╢рд╣рд░реВрд▓рд╛рдИ рд╣реЗрдХреНрд╕рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╣реЛред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдпрдиреНрддреНрд░ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдпрд╕рд▓рд╛рдИ рдХрд░реНрдиреЗрд▓рдмрд╛рдЯ рд╡рд┐рдЪреНрдЫреЗрдж рдЧрд░реМрдВ...

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

...рд░ рдареЗрдЧрд╛рдирд╛ режxрежрей рдХреЛ рд╕рд╛рде рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрдорд╛ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН,

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

... рд░ рддреНрдпрд╕рдкрдЫрд┐ рдареЗрдЧрд╛рдирд╛ 0x86 рдХреЛ рд╕рд╛рде рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрдмрд╛рдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдвреНрдиреБрд╣реЛрд╕реНред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╕рдВрд░рдЪрд┐рдд рдЙрддреНрддрд░:

P_INFOfmt: 1
mode: app
app-present: 1
boot-present: 1
hw-sn: 18072B44CA
hw-rev: 0x20
cbl: 4
app-sw-rev: CP000116BBA
boot-sw-rev: CP000014BAD
flash: 3
app-m_name: Voyager 1450g
boot-m_name: Voyager 1450g
app-p_name: 1450g
boot-p_name: 1450g
boot-time: 16:56:02
boot-date: Oct 16 2014
app-time: 08:49:30
app-date: Mar 25 2019
app-compat: 289
boot-compat: 288
csum: 0x6986

рд╣рд╛рдореА рдпреЛ рдбрд╛рдЯрд╛ dump.pcap рдорд╛ рджреЗрдЦреНрдЫреМрдВред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдорд╣рд╛рди! рдкреНрд░рдгрд╛рд▓реА рдмрд╛рд░рдХреЛрдбрд╣рд░реВрд▓рд╛рдИ рд╣реЗрдХреНрд╕рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддреНрдпреЛ рд╣реЛ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддрдпрд╛рд░ рдЫред

рдлрд░реНрдорд╡реЗрдпрд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рд╕рдмреИ рдХреБрд░рд╛ рдЙрд╕реНрддреИ рджреЗрдЦрд┐рдиреНрдЫ, рддрд░ рддреНрдпрд╣рд╛рдБ рдПрдХ nuance рдЫред

рдлреНрд▓реНрдпрд╛рд╕рд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдкреВрд░реНрдг рдбрдореНрдк рд▓рд┐рдЗрд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдХреЗрд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдпреМрдВ рднрдиреНрдиреЗ рдХреБрд░рд╛ рд╣рд╛рдореАрд▓реЗ рд▓рдЧрднрдЧ рдмреБрдЭреНрдпреМрдВред рдпрд╣рд╛рдБ XMODEM рдХреЛ рдмрд╛рд░реЗрдорд╛ рдПрдЙрдЯрд╛ рд▓реЗрдЦ рдЫ, рдЬреБрди рдпреЛ рд╕рдВрдЪрд╛рд░ рдХрд╕рд░реА рд╣реБрдиреНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рдзреЗрд░реИ рд╕рд╣рдпреЛрдЧреА рдерд┐рдпреЛ, рдпрджреНрдпрдкрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрддрд╣рд░реВрдорд╛: http://microsin.net/adminstuff/others/xmodem-protocol-overview.html рдо рдпрд╕рд▓рд╛рдИ рдкрдвреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред

рдбрдореНрдкрдорд╛ рд╣реЗрд░реНрджреИ, рддрдкрд╛рдИрдВрд▓реЗ рдлреНрд░реЗрдо рдЖрдХрд╛рд░ 1024 рд╣реЛ, рд░ URB-рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ 64 рд╣реЛ рднрдиреЗрд░ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рддреНрдпрд╕реИрд▓реЗ - 1024/64 - рд╣рд╛рдореА рдПрдХ рдмреНрд▓рдХрдорд╛ 16 рд▓рд╛рдЗрдирд╣рд░реВ рдкрд╛рдЙрдБрдЫреМрдВ, рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ 1 рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдПрдХ рд╕рдордпрдорд╛ рдкрдвреНрдиреБрд╣реЛрд╕реН рд░ рдмреНрд▓рдХ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред рд╡рд┐рд╢реЗрд╖ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ fd1e3 + рдмреНрд▓рдХ рдирдореНрдмрд░ рднрдПрдХреЛ рдмреНрд▓рдХрдорд╛ 02 рд░реЗрдЦрд╛ рдкреВрд░рдХред
XMODEM.calc_crc() рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрд░реНрдХреЛ 14 рд▓рд╛рдЗрдирд╣рд░реВ fd25 + рдХреЛ рд╕рд╛рде рдкреВрд░рдХ рдЫрдиреН, рд╣рд╛рдореА рд╕рдореНрдкреВрд░реНрдг рдмреНрд▓рдХрдХреЛ рдЪреЗрдХрд╕рдо рдЧрдгрдирд╛ рдЧрд░реНрдЫреМрдВ (тАЬFF тАУ 1тАЭ CSUM рд╣реЛ рднрдиреЗрд░ рдмреБрдЭреНрди рдзреЗрд░реИ рд╕рдордп рд▓рд╛рдЧреНрдпреЛ) рд░ рдЕрдиреНрддрд┐рдо, 16 рдФрдВ рд▓рд╛рдЗрди рдкреВрд░рдХ рдЫред fd3e рд╕рдБрдЧред

рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ рдкрдвреНрдиреБрд╣реЛрд╕реН, рдмреНрд▓рдХрд╣рд░реВ рд╣рд┐рдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдХрд░реНрдиреЗрд▓рдмрд╛рдЯ рд╕реНрдХреНрдпрд╛рдирд░ рд╡рд┐рдЪреНрдЫреЗрдж рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдЙрдкрдХрд░рдгрдорд╛ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред рддрд░ рдпреЛ рддреНрдпрддрд┐ рд╕рд░рд▓ рдЫреИрдиред рд╕реНрдХреНрдпрд╛рдирд░ рдлрд░реНрдорд╡реЗрдпрд░ рдореЛрдбрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ,
╨╛╤В╨┐╤А╨░╨▓╨╕╨▓ ╨╡╨╝╤Г NEWAPP = тАШ\xfd\x0a\x16\x4e\x2c\x4e\x45\x57\x41\x50\x50\x0dтАЩ.
рдпреЛ рдЯрд┐рдо рдХрд╣рд╛рдБрдХреЛ рд╣реЛ?? рдбрдореНрдкрдмрд╛рдЯред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рддрд░ рд╣рд╛рдореА 64 рд╕реАрдорд╛рдХреЛ рдХрд╛рд░рдгрд▓реЗ рд╕реНрдХреНрдпрд╛рдирд░рдорд╛ рдкреВрд░реИ рдмреНрд▓рдХ рдкрдард╛рдЙрди рд╕рдХреНрджреИрдиреМрдВ:

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рдЦреИрд░, NEWAPP рдлреНрд▓реНрдпрд╛рд╕рд┐рдЩ рдореЛрдбрдорд╛ рд╕реНрдХреНрдпрд╛рдирд░рд▓реЗ рд╣реЗрдХреНрд╕ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджреИрдиред рддреНрдпрд╕рдХрд╛рд░рдг, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрди bytes_array рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ

[253, 10, 22, 78, 44, 78, 69, 87, 65, 80, 80, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдбрд╛рдЯрд╛ рд╕реНрдХреНрдпрд╛рдирд░рдорд╛ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореАрд▓реЗ рдЬрд╡рд╛рдл рдкрд╛рдЙрдБрдЫреМрдВ:

[2, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ XMODEM рдХреЛ рдмрд╛рд░реЗрдорд╛ рд▓реЗрдЦ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдпреЛ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреЗрдЫ: рдбрд╛рдЯрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╕рдмреИ рдмреНрд▓рдХрд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореА рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдкреВрд░рд╛ рдЧрд░реНрдЫреМрдВ END_TRANSFER = 'xfdx01x04'ред

рдард┐рдХ рдЫ, рдХрд┐рдирдХрд┐ рдпреА рдмреНрд▓рдХрд╣рд░реВрд▓реЗ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдирд┐рд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдЬрд╛рдирдХрд╛рд░реА рдмреЛрдХреНрджреИрди, рд╣рд╛рдореА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд▓реБрдХреЗрдХреЛ рдореЛрдбрдорд╛ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВред рд░ рдХреЗрд╡рд▓ рдХреЗрд╕рдорд╛, рд╣рд╛рдореА tqdm рдорд╛рд░реНрдлрдд рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗрдЫреМрдВред

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╡рд┐рдХреНрд░реЗрддрд╛ рдмрд┐рдирд╛ рд╣реНрдпрд╛рдиреНрдб-рд╣реЛрд▓реНрдб рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдлреНрд▓реНрдпрд╛рд╕ рдЧрд░реНрдпреМрдВ

рд╡рд╛рд╕реНрддрд╡рдорд╛, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рд╕рд╛рдирд╛ рдЪреАрдЬрд╣рд░реВрдХреЛ рдХреБрд░рд╛ рд╣реЛред рдмрд╛рдБрдХреА рд░рд╣реЗрдХреЛ рдХреБрд░рд╛ рднрдиреЗрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдордпрдорд╛ рд╕рд╛рдореВрд╣рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рд╕рдорд╛рдзрд╛рди рдмреЗрд░реНрдиреБ рд╣реЛ, рддрд╛рдХрд┐ рдЪреЗрдХрдЖрдЙрдЯрд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдврд┐рд▓реЛ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рд▓рдЧрд┐рдЩ рдердкреНрдиреБрд╣реЛрд╕реНред

рдкрд░рд┐рдгрд╛рдо

рд╣рд╛рдореНрд░реЛ рдЯрд╛рдЙрдХреЛрдорд╛ рдзреЗрд░реИ рд╕рдордп рд░ рдкреНрд░рдпрд╛рд╕ рд░ рдХрдкрд╛рд▓ рдЦрд░реНрдЪ рдЧрд░реЗрд░, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрд╖рдо рднрдпреМрдВ, рд░ рд╕рдордпрд╕реАрдорд╛ рдкрдирд┐ рдкреВрд░рд╛ рдЧрд░реНтАНрдпреМрдВред рдПрдХреИ рд╕рдордпрдорд╛, рд╕реНрдХреНрдпрд╛рдирд░рд╣рд░реВ рдЕрдм рд░рд┐рдлреНрд▓реНрдпрд╛рд╢ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ рдХреЗрдиреНрджреНрд░реАрдп рд░реВрдкрдорд╛ рдкреБрди: рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЫрдиреН, рд╣рд╛рдореА рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрдЫреМрдВред рдХрдореНрдкрдиреАрд▓реЗ рд╕рдордп рд░ рдкреИрд╕рд╛ рдмрдЪрдд рдЧрд░реНрдпреЛ, рд░ рд╣рд╛рдореАрд▓реЗ рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рд░рд┐рднрд░реНрд╕ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдЕрдореВрд▓реНрдп рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреМрдВред

рд╕реНрд░реЛрдд: www.habr.com