{"id":312633,"date":"2020-11-06T09:00:15","date_gmt":"2020-11-06T09:00:15","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312633"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312633","title":{"rendered":"\u0418\u0434\u0435\u043c \u043f\u043e \u043f\u0440\u0438\u0431\u043e\u0440\u0430\u043c"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/n1\/qr\/ih\/n1qrihlhxz2c8eule5fph3ml60c.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043d\u043e\u0433\u043e \u043b\u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u0433 \u0438\u043b\u0438 \u0437\u0430\u043b\u0435\u0437\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438? <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0437\u043d\u0430\u0442\u044c \u2014 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u043c\u0443. <\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h3 id=\"postanovka-zadachi\">\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043a\u043e\u043f\u0430\u0435\u043c\u0441\u044f \u0432 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u044b\u0445 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0439\u0442\u0438 \u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0438\u043b\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043d\u0430 Python \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 CAN-USB \u0430\u0434\u0430\u043f\u0442\u0435\u0440. \u0412\u0441\u0435 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c \u043d\u0430 CAN-\u0448\u0438\u043d\u0435. \u0422\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0435 \u0442\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435 \u0447\u0435\u0440\u0435\u0437 OBDII-\u0440\u0430\u0437\u044a\u0435\u043c. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u0440\u043e\u0431\u0435\u0433. <\/p>\n<p>  <\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u043b\u0435\u0439\u043c\u0435\u0440\u043e\u0432:<br \/>  <strong>\u0420\u0430\u0431\u043e\u0442\u0430\u044f \u0441 CAN-\u0448\u0438\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u0435\u0441\u0442\u044c \u0440\u0438\u0441\u043a \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0438\u0437 \u0441\u0442\u0440\u043e\u044f. \u041d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0431\u0435\u0440\u0438\u0442\u0435\u0441\u044c \u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 CAN-\u0448\u0438\u043d\u043e\u0439 \u0431\u0435\u0437 \u0434\u043e\u043b\u0436\u043d\u043e\u0433\u043e \u043e\u043f\u044b\u0442\u0430, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0435\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/strong> <\/p>\n<p>  <\/p>\n<p><strong>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0431\u0435\u0433\u0430 \u0441 \u043a\u043e\u0440\u044b\u0441\u0442\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u2014 \u0437\u0430\u043d\u044f\u0442\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u0434\u0438\u0441\u043e\u043a.<\/strong> <\/p>\n<p>  <\/p>\n<h3 id=\"poisk-ispytuemyh\">\u041f\u043e\u0438\u0441\u043a \u0438\u0441\u043f\u044b\u0442\u0443\u0435\u043c\u044b\u0445<\/h3>\n<p>  <\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0438 \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u044b\u0445 \u043f\u0430\u043d\u0435\u043b\u0438 \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439. \u0421 \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043d\u0430 \u0410\u0432\u0438\u0442\u043e \u0438 \u0430\u0432\u0442\u043e\u0440\u0430\u0437\u0431\u043e\u0440\u043a\u0430\u0445 \u0431\u044b\u043b\u0438 \u0437\u0430\u043a\u0443\u043f\u043b\u0435\u043d\u044b \u0442\u0440\u0438 \u0431\/\u0443 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u043d\u0438\u0437\u043a\u0430\u044f \u0446\u0435\u043d\u0430 \u0434\u0435\u0442\u0430\u043b\u0438 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441 \u0434\u0435\u0444\u0435\u043a\u0442\u043e\u043c); <\/li>\n<li>\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u0432 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0438; <\/li>\n<li>\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u043c \u0440\u044b\u043d\u043a\u0435; <\/li>\n<li>\u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Hyundai \u0438 Kia, Mitsubishi \u0438 Citroen \u0438 \u0442.\u043f.)<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 \u0438 \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6n\/qy\/rw\/6nqyrwvhphubj4ownleltaegoim.jpeg\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Hyundai Solaris 2013 \u0433.\u0432.<br \/>  \u041f\u0430\u0440\u0442\u043d\u043e\u043c\u0435\u0440: 94003-4l715<br \/>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0431\u0438\u0442\u0430 \u0440\u0430\u0437\u044a\u0435\u043c\u0430\u043c\u0438, \u0446\u0435\u043b\u044b\u0445 4 \u0448\u0442\u0443\u043a\u0438. \u041c\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0435 \u043f\u043e CAN-\u0448\u0438\u043d\u0435, \u0430 &quot;\u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u043c&quot; \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0430\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ss\/wf\/uj\/sswfujlfvnrjsbld_mammc51iga.jpeg\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Ford Focus 3 2012 \u0433.\u0432.<br \/>  \u041f\u0430\u0440\u0442\u043d\u043e\u043c\u0435\u0440: BM5T-10849-BAE<br \/>  \u0421\u0442\u043e\u0438\u0442 \u043c\u043e\u043d\u043e\u0445\u0440\u043e\u043c\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u043c\u0430\u043b\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u041f\u0440\u0438 \u043f\u043e\u0434\u0430\u0447\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0441\u043f\u044f\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u043a\u0440\u0430\u043d \u0438 \u043f\u043e\u0431\u0430\u043b\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0438\u0442\u044c CAN-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/oo\/ap\/b3\/ooapb3m92dwndhxoksqt_a9yzak.jpeg\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Mitsubishi Lancer X 2008 \u0433.\u0432.<br \/>  \u041f\u0430\u0440\u0442\u043d\u043e\u043c\u0435\u0440: 8100A117A <\/p>\n<p>  <\/p>\n<p>\u041e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u043e\u0439 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0440\u044f\u0434 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Mitsubishi, Citroen \u0438 Peugeout. \u0421\u0430\u043c\u0430\u044f \u0448\u0443\u043c\u043d\u0430\u044f \u0438\u0437 \u0432\u0441\u0435\u0445, \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u0430\u0447\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0433\u0440\u043e\u043c\u043a\u043e \u043f\u0438\u0449\u0438\u0442 \u0438 \u0434\u0430\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u0435\u0439 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p>\u041d\u0438 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u044f \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u043d\u044f\u0442\u044c \u0438 \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c.<\/p>\n<p>  <\/p>\n<h3 id=\"osnovy-diagnostiki\">\u041e\u0441\u043d\u043e\u0432\u044b \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438<\/h3>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435, \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0443\u044e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u0441\u0445\u043e\u0436\u0438\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445: <strong>KWP2000<\/strong> (Keyword Protocol 2000) \u0438 <strong>UDS<\/strong> (Unified Diagnostic Services). \u041f\u0435\u0440\u0432\u044b\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f KWP2000, \u0437\u0430\u0442\u0435\u043c \u043d\u0430 \u0435\u0433\u043e \u0431\u0430\u0437\u0435 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d UDS, \u043a\u0430\u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u043e\u0432 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0435\u0439; <\/li>\n<li>\u0437\u0430\u043f\u0438\u0441\u044c\/\u0447\u0442\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438; <\/li>\n<li>\u0437\u0430\u043f\u0438\u0441\u044c\/\u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a; <\/li>\n<li>\u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432; <\/li>\n<li>\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0430\u043a\u0442\u0443\u0430\u0442\u043e\u0440\u043e\u0432. <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u044d\u0442\u0438\u043c\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u042d\u0411\u0423 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f, \u0430 \u0432 \u0430\u0432\u0442\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0440\u0430\u0437\u0436\u0430\u0442\u0438\u044f \u043a\u043e\u043b\u043e\u0434\u043e\u043a \u043f\u0440\u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 \u0442\u043e\u0440\u043c\u043e\u0437\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. <\/p>\n<p>  <\/p>\n<p>\u0412 \u043e\u0431\u043e\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438: <strong>\u043a\u043b\u0438\u0435\u043d\u0442<\/strong> \u0438 <strong>\u0441\u0435\u0440\u0432\u0435\u0440<\/strong>. \u041a\u043b\u0438\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u2014 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u042d\u0411\u0423. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0438\u0437 \u042d\u0411\u0423 \u0432\u0435\u0434\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0438 \u0434\u043b\u044f \u043d\u0430\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e CAN \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043f\u0430\u0440\u0443 \u043a\u043b\u0438\u0435\u043d\u0442-\u0441\u0435\u0440\u0432\u0435\u0440. \u0423\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cu\/oe\/2c\/cuoe2csjfpi8koozq0a5h_c5s74.png\"\/><\/p>\n<p>  <\/p>\n<p><strong>\u0421\u0435\u0441\u0441\u0438\u0435\u0439<\/strong> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043d\u0430\u0431\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u0432\u0440\u044f\u0434 \u043b\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u0412 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0432 \u0441\u0435\u0441\u0441\u0438\u044e \u043f\u0440\u0435\u0440\u0435\u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c\/\u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u0438 \u0431\u0443\u0434\u0435\u0442 \u0436\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0436\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 <strong>\u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/strong>. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 &quot;\u0441\u0435\u043c\u044f&quot; \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<\/p>\n<p>  <\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 <strong>\u0441\u0435\u0440\u0432\u0438\u0441<\/strong> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0447\u0442\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u0438\u043b\u0438 \u0441\u0431\u0440\u043e\u0441 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u0435\u0433\u043b\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u043d\u0430\u0434 \u043d\u0438\u043c, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438: <\/p>\n<p>  <\/p>\n<ol>\n<li>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430; <\/li>\n<li>\u041d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435, \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u0442.\u0434.); <\/li>\n<li>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0441\u0435\u0441\u0441\u0438\u0439 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (0x01, 0x03, 0x05 \u0438 \u0442.\u0434.); <\/li>\n<li>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0441\u0435\u0441\u0441\u0438\u0439 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b (\u0447\u0442\u0435\u043d\u0438\u0435\/\u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0443\u0442\u0438\u043d\u0430\u043c\u0438 \u0438 \u0442.\u0434.)<\/li>\n<\/ol>\n<p>  <\/p>\n<h3 id=\"instrumentariy\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439<\/h3>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 <strong>\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439<\/strong> \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439.<br \/>  \u0414\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <\/p>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/pylessard\/python-udsoncan\">python-udsoncan<\/a> (\u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438); <\/li>\n<li><a href=\"https:\/\/github.com\/pylessard\/python-can-isotp\">python-can-isotp<\/a> (\u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c ISO 15765-2, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u0438\u043d\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 8 \u0431\u0430\u0439\u0442); <\/li>\n<li><a href=\"https:\/\/github.com\/hardbyte\/python-can\/tree\/master\">python-can<\/a> (API \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e CAN-\u0448\u0438\u043d\u0435). <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041e\u043d\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u043d\u0430\u043c: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432; <\/li>\n<li>\u0448\u0438\u0440\u043e\u043a\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0436\u0435\u043b\u0435\u0437\u0430 + \u043d\u0435 \u0442\u0430\u043a \u0441\u043b\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435; <\/li>\n<li>\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0433\u043e\u043b\u043e\u0433\u043e CAN \u0438 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044f\u0441\u044c \u0432\u044b\u0448\u0435; <\/li>\n<li>\u0438\u0437 \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0434\u043b\u044f UDS-\u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438. <\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/de\/3x\/bj\/de3xbjcdrx33lizc3jkjsypndkm.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u0438 \u043c\u043e\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043b \u043c\u0435\u043d\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u043c \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432. \u0421\u0432\u044f\u0437\u043a\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043d\u0430 Python \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 CAN-USB \u0434\u0430\u044e\u0442 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u043b\u0435\u0442\u0443 \u043f\u0440\u0438\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041c\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043a \u0443\u0440\u043e\u0432\u043d\u044f\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043f\u0440\u0438\u0442\u0432\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u0434\u0438\u043b\u0435\u0440\u0441\u043a\u0438\u043c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0443\u0448\u0430\u0442\u044c CAN-\u0448\u0438\u043d\u0443 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. <\/p>\n<p>  <\/p>\n<p>\u041e\u0431 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043e\u043f\u044b\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f: \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u043c\u043a\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0433 \u043d\u0435 \u0443\u0441\u043f\u0435\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c flow-control \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u0440\u044b\u0432\u0430\u043b \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u0443\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a\u0436\u0435 \u0431\u044b\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 CAN-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u043e \u0440\u0430\u0437\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0442\u043e\u0432 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043a\u043e\u0440\u0435\u043d\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u043d\u0435 \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445. \u0412 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u043e\u0439\u0442\u0438, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0439 \u041f\u041a \u044d\u0442\u043e \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043d\u0435 real-time \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. <\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 <a href=\"https:\/\/github.com\/CaringCaribou\/caringcaribou\">caringcaribou<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 python-can.<\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f <strong>\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439<\/strong> \u0447\u0430\u0441\u0442\u0438 \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 CAN-USB, \u0442\u043e \u0432 \u0445\u043e\u0434 \u0448\u043b\u043e \u0432\u0441\u0435, \u0447\u0442\u043e \u0443\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0434\u043e\u0431\u044b\u0442\u044c \u0438 \u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0440\u0430\u0431\u043e\u0442\u0430 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Vector VN1610 \u0438 VN1611, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 Lawicel.<br \/>  \u0427\u0442\u043e \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e, \u0442\u043e \u043e\u043d \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442 \u0438 \u043f\u0440\u0435\u0434c\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 COM-\u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 CAN-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0431\u043e\u0440\u043e\u0442. \u041f\u0440\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0434\u0435\u0432\u0430\u0439\u0441 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0438\u043b\u0430\u043c\u0438, \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f <a href=\"https:\/\/habr.com\/ru\/post\/256493\/\">&quot;CAN-USB \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0438\u0437 stm32vldiscovery&quot;<\/a> \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. <\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u044b\u043c\u0438 \u043f\u0430\u043d\u0435\u043b\u044f\u043c\u0438 \u043d\u0430 \u0441\u0442\u043e\u043b\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0431\u043b\u043e\u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u0432\u044b\u0434\u0430\u0442\u044c 12 \u0412. \u0412 \u043e\u0431\u0437\u043e\u0440\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043a\u0440\u0430\u0442\u043a\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e \u0436\u0435\u043b\u0435\u0437\u0443, \u0440\u0430\u0441\u043f\u0438\u043d\u043e\u0432\u043a\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 CAN. <\/p>\n<p>  <\/p>\n<h2 id=\"pribornaya-panel-hyundai-solaris\">\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Hyundai Solaris<\/h2>\n<p>  <\/p>\n<h3 id=\"obzor\">\u041e\u0431\u0437\u043e\u0440<\/h3>\n<p>  <\/p>\n<p>\u0416\u0435\u043b\u0435\u0437\u043e: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q2\/db\/1u\/q2db1uo5klkbs2bnmlntbubboaq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u043f\u0438\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f CAN: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dy\/2s\/bn\/dy2sbnyajmcuqryqyjy_bpyw_y8.png\"\/><br \/>  <em>\u0417\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0443 \u043f\u0430\u043d\u0435\u043b\u0438 Solaris \u0441\u0437\u0430\u0434\u0438 4 \u0440\u0430\u0437\u044a\u0435\u043c\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e \u043a\u0430\u043a A, B, C, D.<\/em><\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0441\u0441\u0438\u0438 \u0438 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/js\/1m\/qe\/js1mqejtsqsltqzhinvpgjlmkro.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/i5\/wm\/p-\/i5wmp-w4srfrifve2wt9xkenpmm.png\"\/> <\/p>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u043a\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0435 \u0438\u043c\u044f \u0441\u0435\u0441\u0441\u0438\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0435\u0442.<br \/>  \u041d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0439 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d\u0430, 0x03 \u0432\u0437\u044f\u0442 \u0438\u0437 UDS, \u0430 0x85 \u0438 0x90 \u0432\u0437\u044f\u0442\u044b \u0438\u0437 KWP2000.<br \/>  \u0418\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0430\u043d\u0435\u043b\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0435\u043c\u043e\u043a\u0440\u0430\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0447\u0442\u0435\u043d\u0438\u044e \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u044d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0435\u0441\u0441\u0438\u044f\u0445, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0430\u0447\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438 \u0442\u0438\u043f\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>  <\/p>\n<h3 id=\"v-poiskah-pamyati\">\u0412 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u043f\u0430\u043c\u044f\u0442\u0438<\/h3>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0432 KWP2000 \u0438 \u0432 UDS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441 <code>ReadMemoryByAddress<\/code> (0x23), \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0414\u043b\u044f KWP2000 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a: <\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Byte #<\/th>\n<th>Value<\/th>\n<th>Parameter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>23<\/td>\n<td>Service ID<\/td>\n<\/tr>\n<tr>\n<td>1-3<\/td>\n<td>XX<\/td>\n<td>memoryAddress[3]<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>XX<\/td>\n<td>memorySize<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f ID \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u0430\u0434\u0440\u0435\u0441 \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0439\u0442 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u043a\u0430\u043a <code>memoryIdentifier<\/code>, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u0437 \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0434\u0438\u0442\u0441\u044f \u0447\u0442\u0435\u043d\u0438\u0435 (EEPROM, flash), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0448\u0438\u0440\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u0434\u043e 16 \u0431\u0438\u0442.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e UDS:<\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Byte #<\/th>\n<th>Value<\/th>\n<th>Parameter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>23<\/td>\n<td>Service ID<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>XX<\/td>\n<td>addressAndLengthFormatIdentifier<\/td>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>XX<\/td>\n<td>memoryAddress[]<\/td>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>XX<\/td>\n<td>memorySize[]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0448\u0438\u0440\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f, \u044d\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u0430\u0439\u0442\u043e\u043c <code>addressAndLengthFormatIdentifier<\/code>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u043d\u0438\u0431\u0431\u043b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0448\u0438\u0440\u0438\u043d\u0443 <code>memorySize<\/code>, \u0430 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u2014 <code>memoryAddress<\/code>. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f 32-\u0431\u0438\u0442\u043d\u043e\u0433\u043e <code>memoryAddress<\/code> \u0438 16-\u0431\u0438\u0442\u043d\u043e\u0433\u043e <code>memorySize<\/code> \u044d\u0442\u043e\u0442 \u0431\u0430\u0439\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d 24. \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u043a\u0430\u043a <code>memoryIdentifier<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0421 \u044d\u0442\u0438\u043c\u0438 \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0447\u0442\u0435\u043d\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u0412\u0435\u0440\u043d\u0435\u0435, \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445. \u041f\u0440\u043e\u0432\u043e\u0437\u0438\u0432\u0448\u0438\u0441\u044c \u0441 \u044d\u0442\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442\u043e\u0439\u0442\u0438 \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0438 \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u0435\u043b\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043c\u0435\u043d\u044f\u044f \u0448\u0438\u0440\u0438\u043d\u0443 \u043f\u043e\u043b\u0435\u0439 \u0438 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0418 \u0432\u043e\u0442, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:<\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Byte #<\/th>\n<th>Value<\/th>\n<th>Parameter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>23<\/td>\n<td>Service ID<\/td>\n<\/tr>\n<tr>\n<td>1-4<\/td>\n<td>XX<\/td>\n<td>memoryAddress[4]<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>XX<\/td>\n<td>memorySize[2]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u0447\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435: \u043f\u043e\u043b\u044f \u0448\u0438\u0440\u0435, \u0447\u0435\u043c \u0432 KWP2000, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c <code>addressAndLengthFormatIdentifier<\/code> \u0438\u0437 UDS \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0438\u043f \u043f\u0430\u043c\u044f\u0442\u0438: 0x00 \u0434\u043b\u044f \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 (\u0432\u0438\u0434\u0435\u043d \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439): <\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;7C6&gt; (8)    07 23 00 00 00 00 00 04 RX: &lt;7CE&gt; (8)    05 63 80 07 00 07 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0438 0x04 \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0435\u0439 EEPROM. <\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;7C6&gt; (8)    07 23 04 00 00 00 00 04 RX: &lt;7CE&gt; (8)    05 63 0d a8 00 00 00 00<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u0438 EEPROM<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">import can import isotp import logging import time import argparse  def process_stack_receive(stack, timeout=1):     t1 = time.time()     while time.time() - t1 &lt; timeout:         stack.process()         if stack.available():             break         time.sleep(stack.sleep_time())     return stack.recv()  def process_stack_send(stack, timeout=1):     t1 = time.time()     while time.time() - t1 &lt; timeout:         stack.process()         if not stack.transmitting():             break         time.sleep(stack.sleep_time())  def my_error_handler(error):     logging.warning('IsoTp error happened : %s - %s' % (error.__class__.__name__, str(error)))  def print_frame(frame):     if frame:         print(''.join(format(x, '02x') for x in frame))     else:         print(&quot;None&quot;)  bus = can.interface.Bus(bustype='slcan',                          channel=&quot;COM3&quot;,                          ttyBaudrate=115200,                          bitrate=500000) addr = isotp.Address(isotp.AddressingMode.Normal_11bits, rxid=0x7ce, txid=0x7c6) stack = isotp.CanStack(bus, address=addr, error_handler=my_error_handler, params = {'tx_padding':0})  parser = argparse.ArgumentParser() parser.add_argument(&quot;-e&quot;, &quot;--eeprom&quot;, help=&quot;read EEPROM&quot;, action=&quot;store_true&quot;) parser.add_argument(&quot;-f&quot;, &quot;--flash&quot;, help=&quot;read Flash&quot;, action=&quot;store_true&quot;) args = parser.parse_args()  if args.eeprom:     for addr in range(0x00000000, 0x000007ff, 0x10):         addr0 = (addr &gt;&gt;  0) &amp; 0xff         addr1 = (addr &gt;&gt;  8) &amp; 0xff         array = [0x23, 0x04, 0x00, addr1, addr0, 0x00, 0x10]          stack.send(bytearray(array))         process_stack_send(stack)         print_frame(process_stack_receive(stack))  if args.flash:     for addr in range(0x00000000, 0x0003ffff, 0x10):         addr0 = (addr &gt;&gt;  0) &amp; 0xff         addr1 = (addr &gt;&gt;  8) &amp; 0xff         addr2 = (addr &gt;&gt; 16) &amp; 0xff         array = [0x23, 0x00, addr2, addr1, addr0, 0x00, 0x10]          stack.send(bytearray(array))         process_stack_send(stack)         print_frame(process_stack_receive(stack))  bus.shutdown()<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0420\u0430\u0437 \u0443\u0436 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c? \u0411\u0435\u0440\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441 <code>WriteMemoryByAddress<\/code> (0x3d) \u0438, \u043d\u0430\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0448\u043b\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0435\u0440\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c \u0438 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0434\u043e\u0433\u0430\u0434\u043a\u0430\u043c. \u0420\u0430\u0431\u043e\u0447\u0438\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0437\u0430\u0440\u043e\u0441\u0430 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f:<\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Byte #<\/th>\n<th>Value<\/th>\n<th>Parameter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>3d<\/td>\n<td>Service ID<\/td>\n<\/tr>\n<tr>\n<td>1-4<\/td>\n<td>XX<\/td>\n<td>memoryAddress[4]<\/td>\n<\/tr>\n<tr>\n<td>5-N<\/td>\n<td>XX<\/td>\n<td>dataRecord<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c <code>memorySize<\/code>, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0438 \u0441\u0430\u043c\u0438 \u0431\u0430\u0439\u0442\u044b. <\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0438\u0448\u0435\u043c \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 \u0438 \u0442\u0443\u0442 \u0436\u0435 \u0447\u0438\u0442\u0430\u0435\u043c \u043d\u0430\u0437\u0430\u0434 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u0417\u0430\u043f\u0440\u043e\u0441 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u043e \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u043e\u043c 0x7d, \u043d\u043e \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u044c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0442\u0440\u043e\u043d\u0443\u0442\u043e\u0439:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;7C6&gt; (8)    06 3d 00 00 00 00 81 00 RX: &lt;7CE&gt; (8)    01 7d 00 00 00 00 00 00  TX: &lt;7C6&gt; (8)    07 23 00 00 00 00 00 04 RX: &lt;7CE&gt; (8)    05 63 80 07 00 07 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0447\u0442\u043e \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e, \u0442.\u043a. \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0431\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u0432\u0440\u044f\u0434 \u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f.<\/p>\n<p>  <\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 EEPROM \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;7C6&gt; (8)    06 3d 04 00 00 00 0e 00 RX: &lt;7CE&gt; (8)    01 7d 00 00 00 00 00 00  TX: &lt;7C6&gt; (8)    07 23 04 00 00 00 00 04 RX: &lt;7CE&gt; (8)    05 63 0e a8 00 00 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0431\u0430\u0439\u0442 0x0d \u043f\u043e\u043c\u0435\u043d\u044f\u043b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 0x0e.<\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u044d\u0442\u0430\u043f\u0443: \u043f\u043e\u0438\u0441\u043a\u0443 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0431\u0435\u0433\u0430.<\/p>\n<p>  <\/p>\n<h3 id=\"zagadka-so-zmeykoy\">\u0417\u0430\u0433\u0430\u0434\u043a\u0430 \u0441\u043e \u0437\u043c\u0435\u0439\u043a\u043e\u0439<\/h3>\n<p>  <\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437 \u0431\u0430\u0439\u0442 EEPROM \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u0435\u0433\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434: \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0441\u0438\u0433\u043d\u0430\u043b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043f\u043e\u043a\u0430 \u043e\u043d\u0430 \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u0433 \u043d\u0430 1 \u043a\u043c, \u0441\u043d\u043e\u0432\u0430 \u0447\u0438\u0442\u0430\u0435\u043c EEPROM \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0434\u0430\u043c\u043f\u043e\u043c. \u0414\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0439\u0442\u0438 CAN-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0435 \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0433\u043e \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0431\u044b\u0432\u0430\u044e\u0442 \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u044c\u044e: \u043e\u043d\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u0441 \u041c\u041a\u041f\u041f, \u0433\u0434\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043d\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c. <\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, 1 \u043a\u043c \u043f\u0440\u043e\u0439\u0434\u0435\u043d, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/jx\/bv\/kk\/jxbvkkhk5tyoe8bqwy2xirajce4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418\u0437 \u0432\u0441\u0435\u0433\u043e EEPROM \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e <strong>\u043e\u0434\u0438\u043d<\/strong> \u0431\u0430\u0439\u0442 \u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>\u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b\u043e\u0441\u044c<\/strong> \u043d\u0430 0x20? \u042f\u0432\u043d\u043e \u043d\u0430\u0434\u043e \u0438\u0434\u0442\u0438 \u0433\u043b\u0443\u0431\u0436\u0435.<\/p>\n<p>  <\/p>\n<p>&quot;\u041d\u0430\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u043c&quot; \u0435\u0449\u0435 23 \u043a\u043c: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mu\/tk\/9e\/mutk9e3n3c3ekjhyfd8tkw_-joa.gif\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438: <\/p>\n<p>  <\/p>\n<ol>\n<li>\u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f 64 \u0431\u0430\u0439\u0442\u0430 <\/li>\n<li>p\u043e\u0441\u0442 \u043f\u0440\u043e\u0431\u0435\u0433\u0430 = \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <\/li>\n<li>\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0438\u0433\u0437\u0430\u0433\u043e\u043c \u0432 2 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0445\u043e\u0434\u0430:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lv\/qw\/ei\/lvqweioshw9dsry-_6ashutggzy.png\"\/><\/li>\n<li>\u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0430:<\/li>\n<\/ol>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>0,1<\/th>\n<th>2,3<\/th>\n<th>4,5<\/th>\n<th>6,7<\/th>\n<th>8,9<\/th>\n<th>A,B<\/th>\n<th>C,D<\/th>\n<th>E,F<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-0x01<\/td>\n<td>-0x02<\/td>\n<td>-0x04<\/td>\n<td>-0x08<\/td>\n<td>-0x10<\/td>\n<td>-0x20<\/td>\n<td>-0x40<\/td>\n<td>-0x80<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0441\u043f\u0440\u044f\u0442\u0430\u043d \u043f\u043e\u0434 \u0441\u043f\u043e\u0439\u043b\u0435\u0440, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0420\u0430\u0437\u0433\u0430\u0434\u043a\u0430<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<p>\u0418\u0442\u0430\u043a, \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0435\u0433\u0430 64890 \u043a\u043c, \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0445 \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u0440\u0443\u043f\u043f\u044b:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[13, F8, 27, F0, 4F, E0, 9F, C0, 3F, 81, 7F, 02, FE, 04, FC, 09] [F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 9F, 05, 3E, 0A, 7C] [13, F8, 27, F0, 4F, E0, 9F, C0, 3F, 81, 7F, 02, FE, 04, FC, 09] [F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 9F, 05, 3E, 0A, 7C]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0434\u043b\u044f 0-\u043e\u0439 \u0438 2-\u043e\u0439 \u0441\u0442\u0440\u043e\u043a \u043f\u043e\u043f\u0430\u0440\u043d\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 7F, 04, FE, 09, FC] [F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 9F, 05, 3E, 0A, 7C] [F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 7F, 04, FE, 09, FC] [F8, 13, F0, 27, E0, 4F, C0, 9F, 81, 3F, 02, 9F, 05, 3E, 0A, 7C]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u0430\u0439\u0442 \u0438\u0437 FF, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u0441\u0443\u043c\u043c\u0430\u043c\u0438:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[07, EC, 0F, D8, 1F, B0, 3F, 60, 7E, C0, FD, 80, FB, 01, F6, 03] [07, EC, 0F, D8, 1F, B0, 3F, 60, 7E, C0, FD, 60, FA, C1, F5, 83] [07, EC, 0F, D8, 1F, B0, 3F, 60, 7E, C0, FD, 80, FB, 01, F6, 03] [07, EC, 0F, D8, 1F, B0, 3F, 60, 7E, C0, FD, 60, FA, C1, F5, 83]<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0430\u0440\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 2-\u0443\u0445 \u0431\u0430\u0439\u0442\u043d\u044b\u0435:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[07EC, 0FD8, 1FB0, 3F60, 7EC0, FD80, FB01, F603] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD60, FAC1, F583] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD80, FB01, F603] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD60, FAC1, F583]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043c\u043b\u0430\u0434\u0448\u0438\u0435 \u0440\u0430\u0437\u0440\u044f\u0434\u044b \u0432 \u0441\u0442\u0430\u0440\u0448\u0438\u0435:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[07EC, 0FD8, 1FB0, 3F60, 7EC0, FD80, 1FB00, 3F600] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD60, 1FAC0, 3F580] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD80, 1FB00, 3F600] [07EC, 0FD8, 1FB0, 3F60, 7EC0, FD60, 1FAC0, 3F580]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u0432; \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u0430: <\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">[07EC, 07EC, 07EC, 07EC, 07EC, 07EC, 07EC, 07EC] [07EC, 07EC, 07EC, 07EC, 07EC, 07EB, 07EB, 07EB] [07EC, 07EC, 07EC, 07EC, 07EC, 07EC, 07EC, 07EC] [07EC, 07EC, 07EC, 07EC, 07EC, 07EB, 07EB, 07EB]<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u0432\u0441\u0435 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 FD7A (64890).<\/p>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0431\u0435\u0433 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 EEPROM \u0438: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/uv\/ie\/kd\/uviekdybnijirqfcaeutrgi4ac4.gif\"\/><\/p>\n<p>  <\/p>\n<p>\u0428\u0430\u043b\u043e\u0441\u0442\u044c \u0443\u0434\u0430\u043b\u0430\u0441\u044c!<\/p>\n<p>  <\/p>\n<h2 id=\"pribornaya-panel-ford-focus-3\">\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Ford Focus 3<\/h2>\n<p>  <\/p>\n<h3 id=\"obzor-1\">\u041e\u0431\u0437\u043e\u0440<\/h3>\n<p>  <\/p>\n<p>\u0416\u0435\u043b\u0435\u0437\u043e: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/0x\/6s\/lg\/0x6slgan3yauofamjtxs42awvcq.png\"\/> <\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u043f\u0438\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f CAN: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ex\/xl\/im\/exxlimbb98iuoks0qr6yr93mssa.png\"\/><br \/>  <em>\u0417\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u043a \u043f\u0430\u043d\u0435\u043b\u0438 Focus \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f 2 CAN-\u0448\u0438\u043d\u044b: MS (Medium Speed) \u0438 MM (Multimedia). \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f MS CAN.<\/em><\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0441\u0441\u0438\u0438 \u0438 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ia\/tk\/qv\/iatkqvaqfwchsofylfgyfxhrh7w.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ob\/eo\/ti\/obeotiuy48gkuduzlix6oohty2k.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 UDS \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0439. \u0421\u0435\u0441\u0441\u0438\u044f 0x01 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u0430\u0447\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0441\u0435\u0441\u0441\u0438\u044f 0x02 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u0441\u0435\u0441\u0441\u0438\u044f 0x03 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u041f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c <code>ReadMemoryByAddress<\/code>\/<code>WriteMemoryByAddress<\/code> \u043d\u0435\u0442 \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0435\u0441\u0441\u0438\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441 \u0447\u0442\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 DID \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 <code>ReadDataByIdentifier<\/code>.<\/p>\n<p>  <\/p>\n<h3 id=\"pervaya-popytka\">\u041f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430<\/h3>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u044f DID, \u0447\u0438\u0442\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e \u0437\u0430 \u0434\u0440\u0443\u0433\u0438\u043c, \u043f\u043e\u043a\u0430 \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442\u0441\u044f DID 0x61BB \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 3-\u0431\u0430\u0439\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u0435\u0433\u0430:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">RX: &lt;720&gt; (8)    03 22 61 bb 00 00 00 00 RX: &lt;728&gt; (8)    06 62 61 bb 00 e9 20 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u043e\u043c <code>WriteDataByIdentifier<\/code> \u043d\u0435 \u0432\u044b\u0448\u043b\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0443\u044e \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u044e \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 0x03.<\/p>\n<p>  <\/p>\n<p><em>\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430<\/em>. \u041f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0435\u0440\u043d\u0435\u0442 &quot;\u0441\u0435\u043c\u044f&quot; \u0434\u043b\u0438\u043d\u043e\u0439 3 \u0431\u0430\u0439\u0442\u0430, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0442\u043e\u0439 \u0436\u0435 \u0434\u043b\u0438\u043d\u044b. \u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0445 <a href=\"https:\/\/research.birmingham.ac.uk\/portal\/files\/50643148\/Beneath_the_Bonnet.pdf\">Beneath the Bonnet: a Breakdown of Diagnostic Security<\/a> \u0438 <a href=\"https:\/\/ioactive.com\/pdfs\/IOActive_Adventures_in_Automotive_Networks_and_Control_Units.pdf\">Adventures in Automotive Networks and Control Units<\/a>. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 0x03, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0435\u0449\u0435 \u0440\u0430\u0437, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 1 \u043a\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">RX: &lt;720&gt; (8)    02 10 03 00 00 00 00 00 RX: &lt;728&gt; (8)    06 50 03 00 32 01 f4 00  RX: &lt;720&gt; (8)    02 27 03 00 00 00 00 00 RX: &lt;728&gt; (8)    05 67 03 XX XX XX 00 00 RX: &lt;720&gt; (8)    05 27 04 XX XX XX 00 00 RX: &lt;728&gt; (8)    02 67 04 00 00 00 00 00  RX: &lt;720&gt; (8)    06 2e 61 bb 00 e9 21 00 RX: &lt;728&gt; (8)    03 6e 61 bb 00 00 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0443\u0442 \u0436\u0435 \u0447\u0438\u0442\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">RX: &lt;720&gt; (8)    03 22 61 bb 00 00 00 00 RX: &lt;728&gt; (8)    06 62 61 bb 00 e9 21 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c. \u0410 \u0435\u0441\u043b\u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435?.. \u041f\u0440\u043e\u0431\u0443\u0435\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">RX: &lt;720&gt; (8)    02 10 03 00 00 00 00 00 RX: &lt;728&gt; (8)    06 50 03 00 32 01 f4 00  RX: &lt;720&gt; (8)    02 27 03 00 00 00 00 00 RX: &lt;728&gt; (8)    05 67 03 XX XX XX 00 00 RX: &lt;720&gt; (8)    05 27 04 XX XX XX 00 00 RX: &lt;728&gt; (8)    02 67 04 00 00 00 00 00  RX: &lt;720&gt; (8)    06 2e 61 bb 00 e9 20 00 RX: &lt;728&gt; (8)    03 7f 2e 31 00 00 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0430\u043d\u0435\u043b\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 0x31 <code>requestOutOfRange<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443. \u0427\u0442\u043e \u0436, \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0443\u0442\u044c.<\/p>\n<p>  <\/p>\n<h3 id=\"vtorichnyy-zagruzchik\">\u0412\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a<\/h3>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043d\u0438\u0445 <code>reprogrammingSession<\/code>. \u041e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Ford \u0435\u0433\u043e \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442. \u0412\u0434\u0440\u0443\u0433 \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a EEPROM?<\/p>\n<p>  <\/p>\n<p>\u0412\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a (Secondary Bootloader) \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u042d\u0411\u0423 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: SBL \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u041e\u0417\u0423 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f SBL, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u0435\u043d\u0438\u0435\/\u0437\u0430\u043f\u0438\u0441\u044c \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0423\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/aq\/q2\/pa\/aqq2pakcfyszky-la_ze8tfmk50.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430\u043c\u0438 Ford \u0438\u0441\u043f\u043e\u043b\u044c\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 VBF \u0438\u043b\u0438 Volvo Binary Format. \u0422\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439: \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0441 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u043e\u0439; \u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u042d\u0411\u0423.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 SBL \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0448\u0430\u0433\u043e\u0432: <\/p>\n<p>  <\/p>\n<ol>\n<li><code>DiagnosticSessionControl<\/code>: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u0441\u0435\u0441\u0441\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f 0x02; <\/li>\n<li><code>SecurityAccess<\/code>: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 0x01; <\/li>\n<li><code>RequestDownload<\/code>: \u0430\u0434\u0440\u0435\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 0x03ff0000 (\u043d\u0430\u0447\u0430\u043b\u043e \u041e\u0417\u0423), \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0432 VBF-\u0444\u0430\u0439\u043b\u0435; <\/li>\n<li><code>TransferData<\/code>: \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445; <\/li>\n<li><code>RequestTransferExit<\/code>: \u0437\u0430\u043f\u0440\u043e\u0441 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445; <\/li>\n<li><code>RoutineControl<\/code>: \u0437\u0430\u043f\u0443\u0441\u043a \u0440\u0443\u0442\u0438\u043d\u044b 0x0301, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 SBL. <\/li>\n<\/ol>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430: \u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>RequestUpload<\/code> \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>RequestDownload<\/code>. <\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 (\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u043c \u0438\u0437 VBF \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u043c)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">import can import isotp import time import binascii from udsoncan.connections import PythonIsoTpConnection from udsoncan.client import Client from udsoncan import Response, MemoryLocation, DataFormatIdentifier from ford_glfsr import calculate_key  download_payload_size = 0xc8 upload_payload_size = 0x20  def my_error_handler(error):    logging.warning('IsoTp error happened : %s - %s' % (error.__class__.__name__, str(error)))  bus = can.interface.Bus(bustype='slcan',                          channel=&quot;COM3&quot;,                          ttyBaudrate=115200,                          bitrate=125000) tp_addr = isotp.Address(isotp.AddressingMode.Normal_11bits, txid=0x720, rxid=0x728) stack = isotp.CanStack(bus=bus,                         address=tp_addr,                         params = {'tx_padding':0},                         error_handler=my_error_handler) conn = PythonIsoTpConnection(stack)  # wake up the IPC ping_msg = can.Message(arbitration_id=0x080,                         data=[0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],                         is_extended_id=False) bus.send(ping_msg) time.sleep(0.2)  with Client(conn) as client:     # TesterPresent     client.tester_present()      # ChangeSession     client.change_session(0x02)     time.sleep(0.3)      # SecurityAccess     response = client.request_seed(0x01)     seed_int = int.from_bytes(response.service_data.seed, &quot;little&quot;)     key_int = calculate_key(seed_int, 0x01)     key_bytes = key_int.to_bytes(3, byteorder=&quot;big&quot;)     client.send_key(0x01, key_bytes)      # RequestDownload     memloc = MemoryLocation(address=0x03ff0000,                              memorysize=0x54d4,                              address_format=32,                              memorysize_format=32)     dfi = DataFormatIdentifier(compression=0, encryption=0)     client.request_download(memory_location=memloc, dfi=dfi)      # TransferData     f = open(&quot;BM5T-14C025-AD.bin&quot;, &quot;rb&quot;)     ipc_sbl = f.read()     f.close()      end_block = 0x6d  # memorysize\/upload_payload_size     print(&quot;DOWNLOAD END BLOCK:&quot;, (hex(end_block)))     # sequence should start with &quot;0x01&quot;, not &quot;0x00&quot;     for block_num in range(0x01, end_block + 0x01):         print(hex(block_num))         start_i = (block_num - 0x01) * download_payload_size         end_i = start_i + download_payload_size         client.transfer_data(block_num, ipc_sbl[start_i:end_i])      # TransferExit     client.request_transfer_exit()      # StartRoutine     client.start_routine(0x0301, data = b'\\x03\\xff\\x00\\x00')      # RequestUpload     memloc = MemoryLocation(address=0x00007000,                              memorysize=0x000f9000,                              address_format=32,                              memorysize_format=32)     dfi = DataFormatIdentifier(compression=0, encryption=0)     client.request_upload(memory_location=memloc, dfi=dfi)      upload_result = bytearray()     end_block = 0x7c80  # memorysize\/upload_payload_size     print(&quot;UPLOAD END BLOCK:&quot;, (hex(end_block)))     # sequence should start with &quot;0x01&quot;, not &quot;0x00&quot;     for block_num in range(0x01, end_block + 0x01):         print(hex(block_num))         response = client.transfer_data(block_num % 0x100)         upload_result.extend(response.service_data.parameter_records)      f = open(&quot;flash_dump.bin&quot;, &quot;wb&quot;)     f.write(upload_result)     f.close()      # TransferExit     try:         client.request_transfer_exit()     except:         pass      # ECUReset     client.ecu_reset(1) <\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0443 SBL \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u0439 EEPROM. \u0411\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 SBL, \u043d\u043e \u0432\u0441\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c \u043d\u0438\u0447\u0435\u043c. \u0421 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u2014 \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0427\u0442\u043e \u043c\u0435\u0448\u0430\u0435\u0442 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e?<\/p>\n<p>  <\/p>\n<h3 id=\"modifikaciya-proshivki\">\u041c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438<\/h3>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 DID \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0431\u0435\u0433\u0430, \u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435; \u0441\u0430\u043c \u043f\u0440\u043e\u0431\u0435\u0433 \u043b\u0435\u0436\u0438\u0442 \u0432 EEPROM, \u043a\u0443\u0434\u0430 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442, \u043d\u0438 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0438 \u0438\u0437 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430. \u0421 \u0442\u0430\u043a\u0438\u043c\u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430\u043c \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u043e\u0434\u043d\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u0433 \u043d\u0430\u0437\u0430\u0434. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0436\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432\u044b\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0438\u0437\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. <\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u044d\u0442\u0438\u043c \u0431\u044b\u043b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0440\u0435\u0434\u0435\u043b \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u0438\u043b\u043e\u043c\u0435\u0442\u0440\u0430\u0436\u0430: \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 4294967 \u043a\u043c. <\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e\u0442 &quot;\u0432\u043e\u043b\u0448\u0435\u0431\u043d\u043e\u0435&quot; \u0447\u0438\u0441\u043b\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u0433 \u0432 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443. \u041d\u0430\u0439\u0434\u044f \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435, \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0434\u043d\u0443 \u0438\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u043d\u0430 &quot;nop&quot;: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gg\/qx\/gs\/ggqxgsobke1n0r9ynvg8q-4wgjq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442: <\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;720&gt; (8)    02 10 03 00 00 00 00 00 RX: &lt;728&gt; (8)    06 50 03 00 32 01 f4 00  TX: &lt;720&gt; (8)    02 27 03 00 00 00 00 00 RX: &lt;728&gt; (8)    05 67 03 XX XX XX 00 00 TX: &lt;720&gt; (8)    05 27 04 XX XX XX 00 00 RX: &lt;728&gt; (8)    02 67 04 00 00 00 00 00  TX: &lt;720&gt; (8)    03 22 61 bb 00 00 00 00 RX: &lt;728&gt; (8)    06 62 61 bb 01 e2 40 00  TX: &lt;720&gt; (8)    06 2e 61 bb 01 38 d5 00 RX: &lt;728&gt; (8)    03 6e 61 bb 00 00 00 00  TX: &lt;720&gt; (8)    03 22 61 bb 00 00 00 00 RX: &lt;728&gt; (8)    06 62 61 bb 01 38 d5 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043c\u043e\u0436\u043d\u043e \u043c\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u0433 \u0432 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443, \u043a\u0430\u043a \u0441\u0430\u043c\u044b\u0439 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0437\u043b\u043e\u0434\u0435\u0439: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zg\/gc\/qx\/zggcqxsifjmembgi5so4yk-fojo.gif\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u0435\u0433\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043c\u0435\u043d\u0435\u0435 \u0445\u043b\u043e\u043f\u043e\u0442\u043d\u044b\u043c.<\/p>\n<p>  <\/p>\n<h3 id=\"podmena-bitmapov\">\u041f\u043e\u0434\u043c\u0435\u043d\u0430 \u0431\u0438\u0442\u043c\u0430\u043f\u043e\u0432<\/h3>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u0430, \u043c\u043e\u0436\u043d\u043e \u0438 \u0441 \u0431\u0438\u0442\u043c\u0430\u043f\u0430\u043c\u0438 \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0437\u044f\u0442\u044c \u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043b\u043e\u0433\u043e \u043f\u0430\u043d\u0435\u043b\u0438.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u043d\u043e\u0432\u0430 \u0441 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043c\u043f\u0430, \u043d\u043e \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043d\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0434\u0430\u043c\u043f\u0430 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e GIMP \u0431\u044b\u043b \u0432\u0437\u044f\u0442 <a href=\"https:\/\/jergling.wordpress.com\/2015\/08\/29\/extracting-bitmaps-from-a-firmware-binary\/\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u043a\u0440\u0430\u0442\u0446\u0435, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c GIMP\u0443 \u0444\u0430\u0439\u043b \u043f\u043e\u0434 \u0432\u0438\u0434\u043e\u043c raw-\u0434\u0430\u043d\u043d\u044b\u0445 \u0438, \u043c\u0435\u043d\u044f\u044f \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0448\u0438\u0440\u0438\u043d\u0443 \u043f\u043e\u043b\u044f, \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u042d\u043a\u0440\u0430\u043d \u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u043c\u043e\u043d\u043e\u0445\u0440\u043e\u043c\u043d\u044b\u0439 (\u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u0430\u043a &quot;\u0427\/\u0431 1 \u0431\u0438\u0442&quot;, \u0430 \u0448\u0438\u0440\u0438\u043d\u0443 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e. <\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u0448\u0438\u0440\u0438\u043d\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 16 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f (\u0448\u0440\u0438\u0444\u0442 \u0434\u043b\u044f 1, 2, 3, 4, 5, 6). \u041d\u043e \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0430\u043d\u0435\u043b\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043b\u043e\u0433\u043e\u0442\u0438\u043f Ford, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0438. \u041a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0448\u0440\u0438\u0444\u0442\u044b \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u0438\u043a\u043e\u043d\u043a\u0438 \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u043a\u0440\u0443\u043f\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0440\u0430\u0437\u0431\u0438\u0442\u043e\u0435 \u043d\u0430 \u043a\u0443\u0441\u043a\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u043e\u0433\u043e\u0442\u0438\u043f \u043f\u043e\u043f\u0430\u043b\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043d\u0435 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0438: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ev\/q4\/wy\/evq4wy06p94vcj6hwnd_qgygocq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412\u0438\u0434\u0438\u0442\u0435 \u044d\u0442\u0438 \u0437\u0430\u0433\u043e\u0433\u0443\u043b\u0438\u043d\u044b? \u042d\u0442\u043e \u0434\u0432\u0430 \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043a\u0430 \u0431\u0443\u043a\u0432\u044b F \u0432 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0435 Ford. \u0415\u0441\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0447\u0430\u0441\u0442\u0438 \u0432\u043e\u0435\u0434\u0438\u043d\u043e \u0438 \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, \u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/do\/g1\/do\/dog1doytubrfozvuw1w5b7bkr3m.png\"\/><\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0411\u0438\u0442\u043c\u0430\u043f Ford<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 FC 00 FE 00 FF 80 E3 80 C1 C0 C0 40 C0 60 E0 60 E0 20 70 30 18 30 00 30 00 30 00 30 80 30 C0 20 F0 60 38 60 1C 60 0C 60 06 60 03 C0 C1 C0 20 C0 20 C0 C0 C0 00 C0 01 C0 01 80 01 80 01 80 03 80 03 80 03 80 07 80 07 80 07 80 07 80 0F 80 0F 80 0F 80 07 80 07 80 07 80 03 80 03 C0 01 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 C0 00 C0 00 C0 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 00 7E 00 FF 80 FF C0 E1 E0 C0 70 C0 30 80 10 80 00 80 01 C0 01 C0 03 E0 03 F0 01 F0 11 78 08 3C 04 1F 84 0F C4 07 E4 01 FE 80 3F C0 0F E0 07 78 03 FC 02 FF 82 CF C2 03 C2 01 E2 00 63 00 66 00 29 80 00 80 40 E0 60 F8 C0 7F C0 1F 00 06 00 07 80 83 C0 E1 E0 F0 60 FC 70 3E F0 1F E0 07 80 0F 80 39 C0 70 E0 70 F0 31 F0 31 E0 19 00 FC 00 FE 00 FF 80 1F 80 07 C0 01 E0 00 E0 00 70 80 70 C0 E0 E0 E0 FF 80 7F 80 3F E0 0F F0 07 FC 80 7E C0 1F E0 0F 60 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 03 00 03 00 07 00 07 00 07 00 07 00 03 00 03 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 01 00 03 00 07 00 07 00 07 00 07 00 07 00 03 00 03 00 03 00 01 00 00 00 00 00 00 00 04 00 07 00 07 00 07 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 07 00 0F 00 0E 00 0E 00 0E 00 06 00 07 00 03 00 07 00 0F 00 0F 00 0C 00 0C 00 06 00 07 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 114&#215;48 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439, \u043e\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 6 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432, \u0430 \u0430\u0434\u0440\u0435\u0441 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0442\u043a\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 GIMP. \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438, \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u043e:<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fp\/wj\/ns\/fpwjnsn70w8spytqgek_54jxzbu.png\"\/><br \/>  \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0435 \u043b\u043e\u0433\u043e.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0411\u0438\u0442\u043c\u0430\u043f Habr<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FC 00 FC 00 FC 00 FC 00 FC 00 FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FC 00 FC 00 FC 00 FC 00 FC 00 FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF F0 01 F8 00 7C 00 7C 00 FC 00 FC 01 FC FF FC FF F8 FF F0 FF E0 FF C0 FF 00 00 00 00 00 00 00 3C 80 FF C0 FF E0 FF F0 FF F8 FF F8 C3 F8 81 F8 00 F8 00 F8 00 F8 00 F0 81 E0 C3 F8 FF F8 FF F8 FF F8 FF F8 FF 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF E0 C3 F0 81 F8 00 F8 00 F8 00 F8 00 F8 81 F8 C3 F8 FF F0 FF E0 FF C0 FF 80 FF 00 3C 00 00 00 00 00 00 F8 FF F8 FF F8 FF F8 FF F8 FF F8 FF E0 03 F0 01 F8 00 78 00 7C 00 FC 00 F8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 00 00 00 00 00 00 00 00 01 00 03 00 07 00 0F 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 0F 00 07 00 1F 00 1F 00 1F 00 1F 00 1F 00 00 00 00 00 00 00 00 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 07 00 0F 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 0F 00 07 00 03 00 01 00 00 00 00 00 00 00 00 00 1F 00 1F 00 1F 00 1F 00 1F 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<h2 id=\"pribornaya-panel-mitsubishi-lancer-x\">\u041f\u0440\u0438\u0431\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c Mitsubishi Lancer X<\/h2>\n<p>  <\/p>\n<h3 id=\"obzor-2\">\u041e\u0431\u0437\u043e\u0440<\/h3>\n<p>  <\/p>\n<p>\u0416\u0435\u043b\u0435\u0437\u043e: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/_w\/qe\/bx\/_wqebxz6u_xjj8aftkzlhrhua_4.png\"\/><br \/>  <em>\u0417\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u0442.\u043a. \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438.<\/em><\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u043f\u0438\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f CAN: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/u_\/h1\/8u\/u_h18uizkjattba8axx5e8k8gxu.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0441\u0441\u0438\u0438 \u0438 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xh\/5o\/ke\/xh5oke_snyv_hogoh5loqzitwdu.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vw\/np\/t1\/vwnpt1x4anldboo3lys_pk_okl4.png\"\/> <\/p>\n<p>  <\/p>\n<p>\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0435 \u0441\u0435\u0441\u0441\u0438\u0438: \u0441\u0435\u0441\u0441\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043d\u044b\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0439 \u0438 \u0432\u043d\u0435\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f\u0441\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043c\u043e\u0433\u043b\u0430 \u0443\u0434\u0430\u0447\u043d\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u043a\u0430. \u041d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0431\u0440\u044b\u0432\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430\u0447\u0430\u043b\u0430 2000-\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f KWP2000 \u0434\u043b\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u0430\u043b\u044c\u044f\u043d\u0441\u0430 DaimlerChrysler-Mitsubishi, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043c\u0430\u0440\u043e\u043a Dodge, Chrysler, Jeep, Mitsubishi, Mercedes-Benz \u0438 Smart. \u042d\u0442\u043e\u0442 \u0430\u043b\u044c\u044f\u043d\u0441 \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0440\u0430\u0441\u043f\u0430\u043b\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0448\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0430\u0440\u0445\u0435\u043e\u043b\u043e\u0433\u0438\u0438. <\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f\u0441\u044c \u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c \u2014 \u0438\u0445 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u0432 <code>defaultSession<\/code>, \u043f\u043e \u0441\u0443\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f, \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0412 <code>extenedDiagnosticSession<\/code> \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0443\u0442\u0438\u043d \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443, \u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0435\u0442. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>ReadDataByLocalIdentifier<\/code> \u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445.<\/p>\n<p>  <\/p>\n<h3 id=\"ne-vse-kotu-maslenica\">\u041d\u0435 \u0432\u0441\u0435 \u043a\u043e\u0442\u0443 \u043c\u0430\u0441\u043b\u0435\u043d\u0438\u0446\u0430<\/h3>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0442.\u043a. \u0441\u0435\u0440\u0432\u0438\u0441 <code>ReadDataByLocalIdentifier<\/code> \u043c\u043e\u0436\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 0xFF \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 <code>ReadDataByIdentifier<\/code> \u0433\u0434\u0435 \u0438\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e 0xFFFF. <\/p>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u0435\u0433\u0430 \u0431\u044b\u043b\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u043f\u043e\u0434 DID 0xAD \u0432 \u0432\u0438\u0434\u0435 \u0442\u0440\u0435\u0445 \u0431\u0430\u0439\u0442:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;6A0&gt; (8)    02 21 ad 00 00 00 00 00 RX: &lt;514&gt; (8)    05 61 ad d0 18 03 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 <code>WriteDataByLocalIdentifier<\/code> \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 1 \u043a\u043c \u0431\u043e\u043b\u044c\u0448\u0435, \u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0438\u0442 \u043e\u0442\u043a\u0430\u0437\u043e\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;6A0&gt; (8)    05 3b ad d1 18 03 00 00 RX: &lt;514&gt; (8)    03 7f 3b 12 00 00 00 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u041a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438 0x12 \u0432 \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 &quot;Sub Function Not Supported&quot; \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e, \u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430. <\/p>\n<p>  <\/p>\n<p>\u0423 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0430: \u0432\u0434\u0440\u0443\u0433 \u0435\u0441\u043b\u0438 \u043c\u044b \u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0438\u043c, \u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0438\u043b\u0438 \u043e\u0442\u043a\u0440\u043e\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438? \u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041f\u043e\u0438\u0441\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u043b \u043a \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/448658\/\">&quot;\u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u044a\u0435\u043c OBD \u0432 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435&quot;<\/a>, \u0433\u0434\u0435 \u0430\u0432\u0442\u043e\u0440 \u0441\u043c\u043e\u0433 \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0441\u0432\u0435\u0436\u0435\u0439 \u0446\u0432\u0435\u0442\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 Mitsubishi \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432\u043d\u0443\u0442\u0440\u0438. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0434\u043b\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0440\u0448\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0435 \u0442\u0440\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (0x01, 0x07 \u0438 0x09). \u0421\u0430\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0438:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">TX: &lt;6A0&gt; (8)    02 10 92 00 00 00 00 00 RX: &lt;514&gt; (8)    02 50 92 d0 18 03 1e 00  TX: &lt;6A0&gt; (8)    02 27 01 00 00 00 00 00 RX: &lt;514&gt; (8)    06 67 01 XX XX XX XX 00 TX: &lt;6A0&gt; (8)    06 27 02 XX XX XX XX 00 RX: &lt;514&gt; (8)    03 67 02 34 1c ad 4f 00  TX: &lt;6A0&gt; (8)    02 27 07 00 00 00 00 00 RX: &lt;514&gt; (8)    06 67 07 XX XX XX XX 00 TX: &lt;6A0&gt; (8)    06 27 08 XX XX XX XX 00 RX: &lt;514&gt; (8)    03 67 08 34 36 74 26 00  TX: &lt;6A0&gt; (8)    02 27 09 00 00 00 00 00 RX: &lt;514&gt; (8)    06 67 09 XX XX XX XX 00 TX: &lt;6A0&gt; (8)    06 27 0a XX XX XX XX 00 RX: &lt;514&gt; (8)    03 67 0a 34 9f 1f f5 00  TX: &lt;6A0&gt; (8)    05 3b ad d1 18 03 00 00 RX: &lt;514&gt; (8)    03 7f 3b 12 9f 1f f5 00<\/code><\/pre>\n<p>  <\/p>\n<p>\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043d\u043e\u0432\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443. \u041a\u0441\u0442\u0430\u0442\u0438, \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0437\u0430\u0441\u0442\u0440\u0435\u0432\u0430\u044e\u0442 \u0431\u0430\u0439\u0442\u044b \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u041a\u0442\u043e-\u0442\u043e \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0431\u044b\u043b \u043f\u0440\u043e \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0431\u0443\u0444\u0435\u0440\u0430? <\/p>\n<p>  <\/p>\n<p>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0438 \u0438\u0437\u044b\u0441\u043a\u0430\u043d\u0438\u0439 \u0442\u043e\u0436\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0438\u0447\u0435\u043c, \u0447\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u043d\u0438\u044f. \u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0438\u0434\u0435\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u044d\u0442\u043e \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0431\u0435\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 OBDII \u0441 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u044c\u044e \u0438 \u0441 \u044d\u0442\u0438\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c. \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0442\u0430\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0432\u0441\u0435 \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0431\u043e\u043b\u0435\u0435 \u0441\u0432\u0435\u0436\u0438\u043c\u0438 \u043f\u0430\u043d\u0435\u043b\u044f\u043c\u0438. <\/p>\n<p>  <\/p>\n<p>\u0418\u0437 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u0439 \u0440\u0430\u043d\u0435\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0435\u0441\u0441\u0438\u044f: <code>ECUFlashReprogrammingSession<\/code> (0x85) \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438, \u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u043d\u0435\u0435 \u0442\u0430\u043a \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440 EEPROM, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043d\u0435\u043b\u044c \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u043e \u044d\u0442\u043e \u043e\u0442\u0445\u043e\u0434\u0438\u0442 \u043e\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0435\u043c\u044b \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. <\/p>\n<p>  <\/p>\n<p>\u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0447\u0442\u043e-\u0442\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0443\u0449\u0435\u043d\u043e \u0438 \u0438\u0441\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u0433\u0434\u0435-\u0442\u043e \u0440\u044f\u0434\u043e\u043c.<\/p>\n<p>  <\/p>\n<h3 id=\"izvlechennyy-urok\">\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0439 \u0443\u0440\u043e\u043a<\/h3>\n<p>  <\/p>\n<p>\u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 Mitsubishi \u043d\u0435 \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0437\u0440\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u0438\u044f KWP2000 \u0438 UDS \u043f\u043e\u0431\u043b\u0438\u0436\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443:<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cm\/m_\/ot\/cmm_otseoziukxkasgpfy0aychg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e KWP2000 DaimlerChrysler-Mitsubishi, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 &quot;\u0447\u0438\u0441\u0442\u043e\u0433\u043e&quot; KWP2000 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 UDS 2006 \u0433\u043e\u0434\u0430.<\/p>\n<p>  <\/p>\n<p>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u043e\u0448\u043b\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0431\u044b\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043e\u0434\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c, \u043d\u043e \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0444\u0443\u043d\u043a\u0446\u0438\u0439: <code>DisableNormalMessageTransmission<\/code> \/ <code>EnableNormalMessageTransmission<\/code> \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u0430 <code>CommunicationControl<\/code>. \u0422\u043e \u0436\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0438 \u0442\u0440\u043e\u0439\u043a\u0438 <code>StartRoutineByLocalIdentifier<\/code> \/ <code>StopRoutineByLocalIdentifier<\/code> \/ <code>RequestRoutineResultsByLocalIdentifier<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u0432 <code>RoutineControl<\/code>. <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u0441\u044f \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 KWP2000 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0430\u0440\u044b \u0434\u043b\u044f <code>StartDiagnosticSession<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0431\u044b <code>StopDiagnosticSession<\/code> \u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b\u0430 \u0431\u044b \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0441\u0435\u0441\u0441\u0438\u044e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043c\u043e\u0436\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u043d\u043e \u043e\u043d \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 ISO 14230-3, \u0438 \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0432\u044b\u0437\u043e\u0432\u043e\u043c <code>StartDiagnosticSession<\/code> \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0441\u0435\u0441\u0441\u0438\u044e 0x81. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043c\u0435\u043d\u044f\u043b\u0430\u0441\u044c \u043b\u043e\u0433\u0438\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u043e\u0432 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0435\u0439, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0441\u0435\u0440\u0432\u0438\u0441 <code>AccessTimingParameter<\/code> \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, <code>SecuredDataTransmission<\/code> \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0441\u0435\u0441\u0441\u0438\u0438 \u043e\u0442 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f, <code>LinkControl<\/code> \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0435\u0441\u0441\u0438\u0438. <\/p>\n<p>  <\/p>\n<p>\u041d\u0443 \u0438 \u0441\u0430\u043c\u043e\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u2014 \u044d\u0442\u043e \u0443\u043f\u0440\u0430\u0437\u0434\u043d\u0435\u043d\u0438\u0435 <code>ReadECUIdentification<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0434\u0443\u043b\u044f: VIN, \u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0438 \u0442.\u0434. \u0412 UDS \u0432\u0441\u044f \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u043c <code>ReadDataByIdentifier<\/code>, \u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 DID \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441 0xF1. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f VIN KWP2000 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 0x1A90, \u0430 UDS \u2014 0x22<strong>F1<\/strong>90. \u042d\u0442\u0438\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0440\u0443\u043a\u0438 \u043f\u043e\u043f\u0430\u043b \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0438\u0437 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c.<\/p>\n<p>  <\/p>\n<h2 id=\"zaklyuchenie\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<p>\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u044b\u0432\u043e\u0434 \u2014 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438, \u0442\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438\u043b\u0438 EEPROM. \u0414\u043b\u044f \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u041f\u041e, \u0441\u0430\u043c\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0430\u043d\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u044b\u0442\u0438\u044f \u0432\u0430\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438. <\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043a \u043b\u0443\u0447\u0448\u0435\u043c\u0443, \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 UDS 14229-1:2020, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 <code>Authentication<\/code> (0x29) \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0443\u044e\u0442\u0441\u044f \u0442\u0435\u043b\u0435\u043c\u0430\u0442\u0438\u043a\u043e\u0439 \u0438 IoT \u0443\u0441\u043b\u0443\u0433\u0430\u043c\u0438, \u043e\u0442\u043a\u0443\u0434\u0430 \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043a\u043e\u0447\u0435\u0432\u0430\u0442\u044c <del>\u043d\u043e\u0432\u044b\u0435 \u0434\u044b\u0440\u044b \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/del> \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 secure boot, anti-rollback \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u0442.\u043f. <\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a \u0447\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0442\u0440\u044e\u043a \u043b\u0435\u0442 10 \u0441\u043f\u0443\u0441\u0442\u044f \u0441\u0442\u0430\u043d\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u0435\u0435.<\/p>\n<\/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:\/\/habr.com\/ru\/post\/526734\/\"> https:\/\/habr.com\/ru\/post\/526734\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/n1\/qr\/ih\/n1qrihlhxz2c8eule5fph3ml60c.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043d\u043e\u0433\u043e \u043b\u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u0433 \u0438\u043b\u0438 \u0437\u0430\u043b\u0435\u0437\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438? <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0437\u043d\u0430\u0442\u044c \u2014 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u043c\u0443. <\/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-312633","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312633","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=312633"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312633\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}