{"id":327417,"date":"2022-01-10T08:53:11","date_gmt":"2022-01-10T08:53:11","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=327417"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=327417","title":{"rendered":"<span>01. \u0421\u0448\u0435\u0439 \u043a\u0440\u0430\u0441\u043d\u043e\u0435 \u0441 \u043a\u0440\u0430\u0441\u043d\u044b\u043c, \u0436\u0435\u043b\u0442\u043e\u0435 \u0441 \u0436\u0435\u043b\u0442\u044b\u043c, \u0431\u0435\u043b\u043e\u0435 \u0441 \u0431\u0435\u043b\u044b\u043c. \u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\" class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c <a href=\"https:\/\/habr.com\/ru\/post\/597625\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0432\u0435\u0440\u0441 \u0447\u0435\u0440\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0441\u0435\u0440\u0430\u043a\u0442\u0430. <\/a>, \u0431\u0435\u0437 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0443\u0442 \u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442 &#8212; &#171;\u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u041a\u0414\u041f\u0412 \u044d\u0442\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0441\u0442\u0430\u0442\u0435\u0439 \u0432\u0435\u0437\u0434\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0430 <a href=\"https:\/\/tass.ru\/encyclopedia\/person\/migunov-evgeniy-tihonovich\" rel=\"noopener noreferrer nofollow\">\u0415\u0432\u0433\u0435\u043d\u0438\u044f \u0422\u0438\u0445\u043e\u043d\u043e\u0432\u0438\u0447\u0430 \u041c\u0438\u0433\u0443\u043d\u043e\u0432\u0430<\/a>?&#187;.<br \/> \u041e\u0442\u0432\u0435\u0447\u0430\u044e. \u041f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044e, <a href=\"http:\/\/illustrator.indians.ru\/artist\/migunov.htm\" rel=\"noopener noreferrer nofollow\">\u0432\u0441\u0435\u043c\u0438 \u043a\u043d\u0438\u0433\u0430\u043c\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b, \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u044f \u0437\u0430\u0447\u0438\u0442\u044b\u0432\u0430\u043b\u0441\u044f. \u041a\u0430\u043a \u0445\u0443\u0434\u043e\u0436\u043d\u0438\u043a, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043e\u043d \u0432\u0435\u043b\u0438\u043a\u043e\u043b\u0435\u043f\u0435\u043d, \u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0446\u0438\u0442\u0430\u0442\u044b \u0435\u0433\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043b\u043e\u0436\u0430\u0442\u0441\u044f \u043d\u0430 \u0442\u0435\u043c\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 &#171;\u043d\u043e&#187;, \u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043a\u043d\u0438\u0433 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u043c\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0435\u043d\u0438\u044e \u041a\u0414\u041f\u0412 \u0425\u0430\u0431\u0440\u0430. \u041f\u043e\u0441\u0435\u043c\u0443, \u043d\u0435\u043e\u0431\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0439 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u044f \u0432\u0441\u0451 \u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0438 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c.<\/p>\n<h3>\u0411\u043b\u043e\u043a \u0442\u0438\u043f\u0430 0x0D<\/h3>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0444\u0430\u0439\u043b carindb \u043d\u0430\u0440\u0435\u0437\u0430\u043b\u0438 \u043d\u0430 \u0447\u0430\u0441\u0442\u0438, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 &#8212; \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0438\u0437 \u0442\u0438\u043f\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u0435\u0435.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/wn\/6z\/lw\/wn6zlwhvvxygtzvc5wfaslgqhzu.jpeg\" width=\"auto\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/wn\/6z\/lw\/wn6zlwhvvxygtzvc5wfaslgqhzu.jpeg\" data-blurred=\"true\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443. \u041f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430: \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0443 \u043d\u0438\u0445, \u043a\u0430\u043a \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c, \u0432\u044b\u0431\u0440\u0430\u0432 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439 \u0442\u043e \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430. <\/p>\n<p>\u0410 \u043f\u043e\u0442\u043e\u043c &#8212; \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e (\u0441).<\/p>\n<p>\u041d\u0430\u043f\u043e\u043c\u043d\u044e \u043a\u0430\u0440\u0442\u0443 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u0430\u0434\u043e \u0447\u0435\u043c-\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u0440\u0435\u043f\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430.<\/p>\n<pre><code>0x00000000 12 1                 0x00  15329   0x00000800 13 1                 0x01  5279   0x00001000 07 1                 0x02  5809   0x00001800 0B 1                 0x03  5867   0x00002000 0A 1                 0x04  -- 0x00003000 0D 3   &lt;---          0x05  -- 0x00010800 0C 692               0x06  5198   0x011F6000 0F 31                0x07  1   0x012EA000 0E 1114              0x08  26   0x02401800 11 145               0x09  7712   0x02763800 10 1524              0x0A  1   0x048A2000 08 1                 0x0B  1   0x048A2800 09 9                 0x0C  692   0x048BC800 06 5198         ---> 0x0D  3         0x055E0000 08 17                0x0E  1114   0x05620800 09 7192              0x0F  31   0x0643F800 00 15329             0x10  1524   0x127BF800 08 1                 0x11  145   0x127C1000 09 169               0x12  1   0x1281C000 03 5867              0x13  1   0x13C2F000 08 1                 0x14  324   0x13C30800 09 169               0x15  4097   0x13C8A800 02 5809              0x16  15817   0x15070800 08 1                 0x17  -- 0x15071000 09 54                0x18  -- 0x1509C800 01 5279              0x19  -- 0x16335000 08 1                 0x1A  -- 0x16335800 09 86                0x1B  -- 0x16365800 16 15817             0x1C  1095   0x1C36A000 08 1                 0x1D  114   0x1C36A800 09 26                0x1E  -- 0x1C37A000 15 4097              0x1F  -- 0x1E00A800 08 1 0x1E00B000 09 3 0x1E010000 1C 1095 0x1E6E5800 08 1 0x1E6E6000 09 3 0x1E6EA000 14 324 0x1E90D800 08 1 0x1E90E000 09 1 0x1E910800 1D 114  <\/code><\/pre>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0437\u044c\u043c\u0443 \u0442\u0438\u043f 0x0D &#8212; \u0438 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u0434\u0430\u043b\u0451\u043a (\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 0x3000), \u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0438 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 &#8212; \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0435\u0441\u0442\u044c \u0440\u044f\u0434\u043e\u043c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0442\u0438\u043f\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0433\u0438\u043f\u043e\u0442\u0435\u0437 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438.<\/p>\n<p>\u041f\u043e\u0435\u0445\u0430\u043b\u0438. \u0412 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0435 \u043f\u0440\u044b\u0433\u0430\u044e \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 0x3000, \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e block_0x0D \u0442\u0438\u043f\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b BT_0x0D, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435. <\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/fq\/56\/5t\/fq565ttxsjlesiicz_7ywy3zgko.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<h4>PTR \u0438 LIST<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u043e\u0439 DWORD, \u0437\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u043a\u0430\u0436\u0434\u044b\u0435 3 DWORD \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u043e\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u044b\u0448\u0435 \u0441\u0438\u043d\u0438\u043c \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0439, \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u0438 \u043f\u043e\u0441\u043b\u0435 &#8212; \u044f\u0432\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0435.<\/p>\n<p> \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 BT_0x0D \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c, \u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0451 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 2042 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 BT_0x0D__triple, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 3-\u0445 UINT \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0432\u0435\u0442\u043e\u0432 &#8212; \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430 \u0433\u043b\u0430\u0437 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u043e\u0441\u0435\u0434\u0435\u0439. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e 2024 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b, \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0430. (\u0412\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Variables \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e struct BT_0x0D block_0x0D, \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e \u0434\u043e\u0447\u0435\u0440\u043d\u044e\u044e struct BL_HEAD head, \u043a\u043b\u0438\u043a\u0430\u044e \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 uchar here_last_byte &#8212; \u0438 \u0444\u043e\u043a\u0443\u0441 \u0432 \u043e\u043a\u043d\u0435 hex \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u043d\u0435\u0446 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430. \u041c\u0435\u043d\u044f\u044e \u0447\u0438\u0441\u043b\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043d\u0430\u0436\u0438\u043c\u0430\u044e F5, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 &#8212; \u0437\u0430\u043a\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f hex \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043d\u0446\u0430, \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e, \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043a\u0440\u0430\u0441\u044f\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0435 \u0431\u0430\u0439\u0442\u044b.)<\/p>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e size &#8212; \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/li\/77\/-r\/li77-rn0oyuon_gjcqphikplcru.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2042 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442, \u043a\u0430\u043a 0x7FA. \u0410 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430 head UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c = 0x0c07fa.<\/p>\n<p> \u041f\u0440\u0438\u0447\u0435\u043c, \u0438 \u043c\u0430\u0441\u0441\u0438\u0432 <code>array[0x7FA]<\/code> \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f 0x0c \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043b\u043e\u043a\u0430. \u041f\u0430\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0437\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u044f\u0432\u043d\u043e \u043d\u0435\u0441\u043f\u0440\u043e\u0441\u0442\u0430 \u0440\u044f\u0434\u043e\u043c.<\/p>\n<p> \u041d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 &#171;inc_common.bt&#187; PTR &#8212; \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438\u0449\u0435\u0442 \u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<code>exists(parentof(this).size)<\/code>, \u0438 \u0435\u0441\u043b\u0438 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 size, \u0446\u0432\u0435\u0442 \u0444\u043e\u043d\u0430 &#8212; \u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043b\u043e\u0433 \u043e \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u043c\u0443. \u0425\u043e\u0442\u044c \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430.<\/p>\n<p> \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442 <code>ushort ptr &lt;format=hex><\/code> &#8212; \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043b\u043e\u043a\u0430.<br \/> \u0415\u0441\u043b\u0438 ptr \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439, \u0438, \u0435\u0441\u043b\u0438 \u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c offset, \u043f\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u043c\u0443 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u0435\u0442\u043a\u0443 &#8212; \u0431\u0430\u0439\u0442\u0438\u043a here \u043d\u0430 \u0433\u043e\u043b\u0443\u0431\u0435\u043d\u044c\u043a\u043e\u043c \u0444\u043e\u043d\u0435, \u043a\u043b\u0438\u043a\u0430\u044f \u043d\u0430 \u043d\u0435\u0433\u043e \u0432 Variables &#8212; \u0432 \u043e\u043a\u043d\u0435 hex \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e. Read_PTR &#8212; \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Variables \u0432 \u043a\u043e\u043b\u043e\u043d\u043a\u0435 Values.<\/p>\n<pre><code class=\"cpp\">typedef struct{ if( exists(parentof(this).size) ){        if ( ReadUShort(FTell()) > parentof(this).size){     SetBackColor(cRed);  \/\/ wrong pointer when bigger block size Printf(\"ERR! hex off=%X PTR=0x%04X > block.size 0x%X\\n\",                  FTell(),                 ReadUShort(FTell()),                  parentof(this).size); \/\/ Log situation         } } ushort ptr &lt;format=hex>;        \/\/ relative offset pointer value     if(!ptr){        \/\/ do if ptr != 0         if( exists(parentof(this).offset) ){ \/\/ absolute block begin offset             local DWORD curr_position &lt;hidden=true> = FTell();             FSeek(parentof(this).offset + ptr); \/\/ jump to calc addr             byte here &lt;bgcolor=cAqua>;          \/\/ make bookark             FSeek(curr_position);               \/\/ return          }     } }PTR &lt;read = Read_PTR, fgcolor=cBlue, bgcolor=cAqua >; string Read_PTR(PTR &amp;a){ local string s; SPrintf(s, \"0x%04X (0x%04X)\",              a.ptr,      \/\/ value, relative offset             parentof(a).offset + a.ptr); \/\/ absolute address return s; } <\/code><\/pre>\n<p>\u041d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 &#171;inc_common.bt&#187; LIST &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 offset, size \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u043e\u043c \u0438\u0434\u0443\u0442 \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 PTR ptr, \u043d\u043e \u043f\u043e\u0442\u043e\u043c offset \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/p>\n<pre><code class=\"cpp\">typedef struct{ local uint offset, size ;   \/\/ block offset and size for next PTR ptr     if( exists(parentof(this).offset) ){         offset = parentof(this).offset; \/\/ start block offset      }     if( exists(parentof(this).size) ){         size = parentof(this).size; \/\/ parent block size      } PTR ptr&lt;bgcolor=cLtAqua>;\/\/ ptr to first list item offset = ptr.ptr + offset;\/\/ absolute addr of list begin ushortcnt &lt;fgcolor=cDkGreen>; \/\/ items quantity }LIST &lt;read=Read_LIST, bgcolor=cLtAqua>; string Read_LIST(LIST &amp;a){ local string s; SPrintf(s, \"0x%04X (0x%04X)  :cnt:%i(%Xh)\",          a.ptr.ptr, a.offset, a.cnt, a.cnt ); return s; } <\/code><\/pre>\n<p>\u0418 \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c \u0437\u0430\u043c\u0435\u043d\u044f\u044e \u043d\u0430 LIST p_data, \u043f\u0440\u0430\u0432\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 <code>BT_0x0D__triple main_array[cnt]<\/code> \u043d\u0430 p_data.cnt, \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 optimize=false &#8212; \u0438\u043d\u0430\u0447\u0435 010Editor \u0441\u0445\u0438\u0442\u0440\u0438\u0442, \u0432\u0441\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e. \u0418 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0431\u043b\u043e\u043a\u0430 BT_0x0D \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u044f\u0440\u043a\u0438\u0439 byte after_parsed_block_info &#8212; \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0432 \u043e\u043a\u043d\u0435 hex \u0432\u0438\u0434\u043d\u043e, \u0433\u0434\u0435 \u043e\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433, \u0438 \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u0451 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0432 Variables \u043c\u043e\u0436\u043d\u043e.<\/p>\n<p> \u0412 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D__triple \u0442\u043e\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0435:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 UINT unknown1 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 &#8212; BL_ADDR, \u043a\u0430\u043a \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u043b\u043e\u043a\u043e\u0432 \u043e\u043d\u0438 \u0432\u0441\u0435 \u0432\u0430\u043b\u0438\u0434\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0437\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043f\u043e\u0445\u043e\u0436\u0435, char ch, \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043b\u0435\u0436\u0430\u0442 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435, \u0447\u0442\u043e \u0438 ASCII \u043a\u043e\u0434\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043e\u0442 &#8216;0&#8217; \u0434\u043e &#8216;z&#8217;.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430 \u043d\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d char seems_always_eq_1 &#8212; \u0432\u0441\u0442\u0430\u0432\u043b\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0430 \u043f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 seems_always_eq_1 == 1<\/p>\n<\/li>\n<li>\n<p>UINT unknown3 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b 16\u0431\u0438\u0442\u043d\u044b\u0439 aligment: \u044f\u0432\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 32\u0431\u0438\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">typedef struct{     BL_ADDR   bl_type_0c;     char      ch;           \/\/ chars     ubyte      seems_always_eq_1;   \/\/         if(seems_always_eq_1 != 1) Printf(\"%X i!=1 %i( %X )\\n\",              FTell(), \/\/ offset where happened             seems_always_eq_1, seems_always_eq_1);     uint unknown3 &lt;bgcolor=cLtYellow>;      ushort    always_zero &lt;fgcolor=cLtGray>;  \/\/ 16bit = 0         if(always_zero)     \/\/ \u0442\u0443\u0442 \u043d\u043e\u043b\u044c \u043d\u0435 \u043d\u043e\u043b\u044c             Printf(\"%X always_zero = %i( %X )\\n\",              FTell(), \/\/ offset where happened             always_zero, always_zero); }BT_0x0D__triple &lt;read = Read_triple>; string Read_triple(BT_0x0D__triple &amp;a){     local string s;     SPrintf(s, \"%c %i %08X\",          a.ch, a.seems_always_eq_1,         a.unknown3         );     return s; } <\/code><\/pre>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"02-03\" title=\"02-03\" height=\"803\" data-src=\"https:\/\/habrastorage.org\/webt\/5i\/tj\/eg\/5itjegswjdrjbm6gk-bu8oqjtdg.png\" data-width=\"1299\"\/><figcaption>02-03<\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Output, &#8212; \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u043c\u0435\u043a\u043e\u0432, \u0447\u0442\u043e seems_always_eq_1 &#8212; \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u043d\u0430 1, \u0431\u044b\u0432\u0430\u0435\u0442 \u0438 0.<br \/> \u041f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438  <code>if((seems_always_eq_1 != 1)&amp;&amp;(seems_always_eq_1 != 0) ) <\/code>, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0431\u0435\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u0432 \u043b\u043e\u0433\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 always_zero, \u043f\u043e\u0445\u043e\u0436\u0435, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 32 \u0431\u0438\u0442\u0430. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 BT_0x0D__triple: BL_ADDR bl_type_0c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430 \u0442\u0438\u043f 0x0C? <\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/cx\/mb\/vo\/cxmbvozm0gqj3n2ksxusvghfj48.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0435\u0442, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430, \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043d\u0441\u043e\u043b\u044c. \u0427\u0442\u043e\u0431\u044b \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0433\u0434\u0435 \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430 bl_type_0c \u043d\u0435 0xC, \u0430 0xD , \u0432\u044b\u0434\u0435\u043b\u044f\u044e \u044f\u0440\u043a\u0438\u043c \u043d\u0435\u0440\u0430\u0441\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u0439 seems_always_eq_1.<\/p>\n<pre><code class=\"cpp\">    if(bl_type_0c.type == 0xC)         ubyte     seems_always_eq_1 &lt;bgcolor=cLtYellow>;   \/\/ type 0xC     else         ubyte     seems_always_eq_1 &lt;bgcolor=cPurple>;   \/\/ type==0xD         if((seems_always_eq_1 != 1)&amp;&amp;(seems_always_eq_1 != 0) )              Printf(\"%X i!=1 %i( %X )\\n\",                  FTell(), \/\/ offset where shit happened                 seems_always_eq_1, seems_always_eq_1);  <\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0435\u043d: \u0432 \u0431\u043b\u043e\u043a\u0435 \u0442\u0438\u043f\u0430 0xD \u0432 BT_0x0D__triple seems_always_eq_1 <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> ==1, \u0435\u0441\u043b\u0438 bl_type_0c \u0432\u0435\u0434\u0451\u0442 &#171;\u043d\u0430\u0440\u0443\u0436\u0443&#187;, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c 0xC, \u0438 <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> ==0, \u0435\u0441\u043b\u0438 bl_type_0c.type == 0xD, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f bool &#8212; \u0441\u0441\u044b\u043b\u043a\u0430 &#171;\u043d\u0430\u0440\u0443\u0436\u0443&#187;, \u0438\u043b\u0438 &#171;\u0432\u043d\u0443\u0442\u0440\u044c&#187;, \u0441\u0430\u043c\u043e\u0435 \u0438\u043c\u044f \u0435\u0439 is_ptr_out.<\/p>\n<p> \u041d\u043e, \u0435\u0441\u043b\u0438 \u0447\u0430\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0435\u0434\u0451\u0442 \u0432\u043d\u0443\u0442\u0440\u044c, \u0442\u043e \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442? \u041f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 Variables \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f BT_0x0D__triple. \u0415\u0441\u043b\u0438 is_ptr_out ==0, \u0442\u043e \u0432 \u0446\u0438\u043a\u043b\u0435 &#171;\u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f&#187; far_away.cnt \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 ch \u0438\u0437 BT_0x0D__triple, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 far_away.offset. \u0414\u0435\u0440\u0435\u0432\u043e?<\/p>\n<pre><code class=\"cpp\">string Read_triple(BT_0x0D__triple &amp;a){     local string s;     if(a.is_ptr_out){         SPrintf(s, \"%c -> %08X (%02X)  0x%0X:%i(%X)\",              a.ch, a.bl_type_0c.raw, a.bl_type_0c.type,              a.far_away.offset, a.far_away.cnt, a.far_away.cnt             );     }else{         SPrintf(s,\"---%c -> %08X (%02X) ->\",              a.ch, a.bl_type_0c.raw, a.bl_type_0c.type);         local uint i; \/\/ \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 char, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 LIST         for(i=a.far_away.offset + i;  \/\/ ch absolute addr               i&lt;(a.far_away.offset + 4 +a.far_away.cnt * 12); \/\/ LIST end             i+= 12){                   \/\/ 12 = sizeof(BT_0x0D__triple)                 SPrintf(s,\"%s %c\", s, ReadByte(i+4));         }     }      return s; } <\/code><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/z9\/bd\/7r\/z9bd7riril2i_qihzumhuliq-z0.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0411\u043b\u043e\u043a\u0438 \u0442\u0438\u043f\u0430 0x0B, 0x0D, 0x0F \u0438 0x11<\/h3>\n<p>\u0412\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0430 \u0442\u0438\u043f\u0430 0x0D \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u044b, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0432 \u0440\u0443\u043a\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0443\u0445\u0432\u0430\u0442\u0438\u0441\u0442\u044b\u0439 \u043c\u043e\u043b\u043e\u0442\u043e\u043a, \u0442\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0438 \u043d\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u044d\u0442\u0438\u043c \u043c\u043e\u043b\u043e\u0442\u043a\u043e\u043c \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e\u0434 \u0440\u0443\u043a\u0443 \u0438 \u0445\u043e\u0442\u044c \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0433\u0432\u043e\u0437\u0434\u044c.<\/p>\n<p> \u0421 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442 &#171;util_vdo_stat.bt&#187; \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0442\u0438\u043f\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u0432\u0438\u0434\u0435 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 block().<\/p>\n<pre><code class=\"cpp\">block(0x00000000); \/\/ 12 1 block(0x00000800); \/\/ 13 1 block(0x00001000); \/\/ 07 1 block(0x00001800); \/\/ 0B 1 block(0x00002000); \/\/ 0A 1 block(0x00003000); \/\/ 0D 3 block(0x00010800); \/\/ 0C 692 block(0x011F6000); \/\/ 0F 31 block(0x012EA000); \/\/ 0E 1114 block(0x02401800); \/\/ 11 145 block(0x02763800); \/\/ 10 1524 block(0x048A2000); \/\/ 08 1 block(0x048A2800); \/\/ 09 9 block(0x048BC800); \/\/ 06 5198 block(0x055E0000); \/\/ 08 17 block(0x05620800); \/\/ 09 7192 block(0x0643F800); \/\/ 00 15329 block(0x127BF800); \/\/ 08 1 block(0x127C1000); \/\/ 09 169 block(0x1281C000); \/\/ 03 5867 block(0x13C2F000); \/\/ 08 1 block(0x13C30800); \/\/ 09 169 block(0x13C8A800); \/\/ 02 5809 block(0x15070800); \/\/ 08 1 block(0x15071000); \/\/ 09 54 block(0x1509C800); \/\/ 01 5279 block(0x16335000); \/\/ 08 1 block(0x16335800); \/\/ 09 86 block(0x16365800); \/\/ 16 15817 block(0x1C36A000); \/\/ 08 1 block(0x1C36A800); \/\/ 09 26 block(0x1C37A000); \/\/ 15 4097 block(0x1E00A800); \/\/ 08 1 block(0x1E00B000); \/\/ 09 3 block(0x1E010000); \/\/ 1C 1095 block(0x1E6E5800); \/\/ 08 1 block(0x1E6E6000); \/\/ 09 3 block(0x1E6EA000); \/\/ 14 324 block(0x1E90D800); \/\/ 08 1 block(0x1E90E000); \/\/ 09 1 block(0x1E910800); \/\/ 1D 114 <\/code><\/pre>\n<p>\u041a\u043e\u043f\u0438\u043f\u0430\u0449\u0443 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e, \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0432 Variables \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0435\u0439 \u0432\u0441\u0435\u0445 \u0442\u0438\u043f\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432. \u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u044b\u0442\u0430\u044e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0441\u0445\u043e\u0434\u0441\u0442\u0432\u043e \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0431\u043b\u043e\u043a\u0435 0x0D, \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 BT_0x0D.<\/p>\n<p> \u041f\u043e\u043d\u0438\u043c\u0430\u044e, \u0447\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0431\u043b\u043e\u043a\u0430 BT_0x0D \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c BT_0x0B_0x0D_0x0F_0x11: \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442 (\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043b\u043e\u0433 \u0431\u044b\u043b \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0433\u0440\u044f\u0437\u043d\u044b\u0439 \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0447\u0442\u043e \u0442\u0438\u043f \u043d\u0435 0xD \u0438 \u043d\u0435 0xC).<\/p>\n<h3>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044e, \u043d\u0430\u0434\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044e<\/h3>\n<p>\u0418\u0437 \u0431\u043b\u043e\u043a\u0430 \u0442\u0438\u043f\u0430 0xB &#171;\u0432\u043d\u0435\u0448\u043d\u0438\u0435&#187; &#171;\u0441\u0441\u044b\u043b\u043a\u0438&#187; \u0432\u0435\u0434\u0443\u0442 \u0432 0xA. \u0418\u0437 \u0431\u043b\u043e\u043a\u0430 0xD \u0441\u0441\u044b\u043b\u043a\u0438 \u0432\u0435\u0434\u0443\u0442 \u0432 0xC. \u0418\u0437 0x0F \u0432 0x0E. \u0418\u0437 0x11 \u0432 0x10. \u0412\u0435\u0437\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0438 \u0432\u0435\u0434\u0443\u0442 \u0438\u043b\u0438 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f, (\u043f\u043e \u0441\u0443\u0442\u0438 \u0441\u0441\u044b\u043b\u0430\u044f\u0441\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0442\u043e\u0433\u043e \u0436\u0435 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 BT_0x0D__triple), \u0438\u043b\u0438 \u0432 \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043c\u0435\u043d\u044c\u0448\u0438\u0439.<\/p>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044e BT_0x0D__triple.<\/p>\n<ul>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043f\u0435\u0440\u0435\u0434 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b BT_0x0D__triple \u0435\u0451 forward declaration \u0434\u043b\u044f \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u044e BL_ADDR bl_type_0c -> bl_more_info<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e local en_BL_TYPE en_curr_bl_type = head.type; \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u043b\u043e\u043a<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0441\u043a\u0430\u0440\u0430\u0441\u043a\u0438 \u0444\u043e\u043d\u0430 is_ptr_out \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f if(bl_more_info.type == (en_curr_bl_type-1) )1)<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 !is_ptr_out, \u0442.\u0435. \u0441\u0441\u044b\u043b\u043a\u0430 \u0438\u0434\u0435\u0442 &#171;\u0432\u043d\u0443\u0442\u0440\u044c&#187; &#8212; \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 BT_0x0D__triple (\u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044f, \u0443 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0442\u0430\u043a \u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442\u0441\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u0438 \u0442.\u0434. \u0438 \u0442.\u043f.)<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">struct BT_0x0D__triple;  \/\/ forward declaration for recursive use typedef struct{     BL_ADDR   bl_more_info;     char      ch &lt;bgcolor=cBlue, fgcolor=cYellow>; \/\/ char     local en_BL_TYPE en_curr_bl_type = head.type; \/\/ current bl type     if(bl_more_info.type == (en_curr_bl_type-1) ){         ubyte     is_ptr_out &lt;bgcolor=cYellow>; \/\/ outer link     }else{         ubyte     is_ptr_out &lt;bgcolor=cGreen>;  \/\/ innler link     }     \/\/ next for LIST far_away, have use size and offset - from bl_type_0c     local uint size = bl_more_info.size *0x800; \/\/ size in blocks, * 0x800     local uint offset = bl_more_info.offset;       LIST far_away &lt;optimize=false>;      ushort     always_zero &lt;hidden=true, fgcolor=cLtGray>;  \/\/ 16bit value = 0         if(always_zero)     \/\/ \u0442\u0443\u0442 \u043d\u043e\u043b\u044c \u043d\u0435 \u043d\u043e\u043b\u044c             Printf(\"%X always_zero = %i( %X )\\n\",              FTell(), \/\/ offset where happened             always_zero, always_zero);     if(!is_ptr_out){         \/\/ jmp and recursive declare children struct         local uint return_addr &lt;hidden=true> = FTell();         FSeek(far_away.offset);             BT_0x0D__triple childs[far_away.cnt]&lt;optimize=false>;         FSeek(return_addr);     } }BT_0x0D__triple &lt;read = Read_triple>; string Read_triple(BT_0x0D__triple &amp;a){     local string s;     if(a.is_ptr_out){         SPrintf(s, \"%c -> %08X (%02X) cnt:%i\",              a.ch, a.bl_more_info.raw, a.bl_more_info.type,              a.far_away.cnt             );     }else{         SPrintf(s,\"---%c -> %08X (%02X) cnt:%i ->\",              a.ch, a.bl_more_info.raw, a.bl_more_info.type, a.far_away.cnt);         local uint i; \/\/ \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 char, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 LIST         for(i=a.far_away.offset + i;  \/\/ ch absolute addr               i&lt;(a.far_away.offset + 4 +a.far_away.cnt * 12); \/\/ LIST end             i+= 12){                   \/\/ 12 = sizeof(BT_0x0D__triple)                 SPrintf(s,\"%s %c\", s, ReadByte(i+4));         }     }      return s; } <\/code><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/7p\/c3\/p6\/7pc3p6r4bvnivafawu5jafyabhy.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0430\u0432\u0442\u043e\u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438.<\/h3>\n<p>\u0410 \u0432\u0435\u0434\u044c \u044f \u0432\u0438\u0434\u0435\u043b \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u0432 \u0430\u0432\u0442\u043e\u043d\u0430\u0432\u0438\u0433\u0430\u0442\u043e\u0440\u0435.<\/p>\n<p> \u0414\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0443\u043d\u043a\u0442\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u043e\u043b\u044f &#8212; \u0441\u0442\u0440\u0430\u043d\u0430, \u0433\u043e\u0440\u043e\u0434, \u0443\u043b\u0438\u0446\u0430, \u0434\u043e\u043c (\u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043e\u043d\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f Country, City, Road, Number) \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0411\u0443\u043a\u0432\u044b \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u043b\u044f \u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u043c, \u043f\u0440\u0438\u0447\u0435\u043c \u043d\u0430 \u044d\u0442\u043e\u0439 QWERTY-\u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a \u0432\u044b\u0431\u043e\u0440\u0443 \u043d\u0435 \u0432\u0441\u0435 \u0431\u0443\u043a\u0432\u044b, \u0430 \u043b\u0438\u0448\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435.<\/p>\n<p> \u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0444\u043e\u043a\u0443\u0441\u0430 \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u043c \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b &#8212; \u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430, \u0432\u044b\u0431\u043e\u0440 \u0431\u0443\u043a\u0432\u044b &#8212; \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u0442\u043e\u0433\u043e \u0436\u0435 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430.<\/p>\n<p> \u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043a \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435 \u0441\u0442\u0440\u0430\u043d\u0430, \u043d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0435\u043b\u044c\u0437\u044f. \u0414\u043b\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 \u0412\u043e\u0441\u0442\u043e\u0447\u043d\u043e\u0439 \u0415\u0432\u0440\u043e\u043f\u044b \u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u044b \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0431\u0443\u043a\u0432\u044b B, C, E, L, M, P, R, S, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b. \u041f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 L (\u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441 \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c) \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430, LATVIJA \u0438\u043b\u0438 LIETUVA. \u0410 \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c P &#8212; \u043f\u043e\u043b\u0435 \u0441\u0442\u0440\u0430\u043d\u0430 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c POLAND \u0438 \u0444\u043e\u043a\u0443\u0441 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u043e\u043b\u0435 \u0433\u043e\u0440\u043e\u0434, \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c: \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0432\u043e\u0434\u043e\u043c \u0431\u0443\u043a\u0432 \u0438\u0437 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435. \u041d\u0430\u0431\u0440\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0433\u043e\u0440\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u041f\u043e\u043b\u044c\u0448\u0435. \u041f\u043e\u0441\u043b\u0435 \u043a\u0443\u0440\u0441\u043e\u0440 \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u043e\u043b\u0435 \u0443\u043b\u0438\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043b\u044f Poland, Olsztyn \u043d\u0430\u0431\u0440\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432 \u041e\u043b\u044c\u0448\u0442\u044b\u043d\u0435 \u043d\u0435\u0442.<br \/> \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043c\u0430\u043d\u0443\u0430\u043b\u0435 \u043d\u0430 <a href=\"https:\/\/www.directutor.com\/content\/user-manual-vdo-vdo-dayton-pn-6000\" rel=\"noopener noreferrer nofollow\">VDO VDO DAYTON PN 6000<\/a> \u043d\u0430 18 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u0440\u0443\u0433\u0438\u0435, \u043d\u043e \u043b\u043e\u0433\u0438\u043a\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435.<\/p>\n<pre><code class=\"cpp\">    block(0x00001800); \/\/ 0B 1      BT_0x0B_0x0D_0x0F_0x11 block(0x00002000); \/\/ 0A 1     block(0x00003000); \/\/ 0D 3      BT_0x0B_0x0D_0x0F_0x11 block(0x00010800); \/\/ 0C 692     block(0x011F6000); \/\/ 0F 31     BT_0x0B_0x0D_0x0F_0x11 block(0x012EA000); \/\/ 0E 1114     block(0x02401800); \/\/ 11 145    BT_0x0B_0x0D_0x0F_0x11 block(0x02763800); \/\/ 10 1524 <\/code><\/pre>\n<p>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 &#8212; \u0430 \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043b\u0438 \u0432\u0432\u043e\u0434\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0442\u0438\u043f\u044b?<\/p>\n<p> \u041f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0431\u043b\u043e\u043a\u043e\u0432, \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 carindb \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e 0xB &#8212; \u0432\u044b\u0431\u043e\u0440 \u0431\u0443\u043a\u0432 \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u044b, \u0442\u043e\u0433\u0434\u0430 0xA &#8212; \u0441\u0442\u0440\u0430\u043d\u0430. \u0422\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u0430\u0440\u0430 0xD \u0438 0xC &#8212; \u0433\u043e\u0440\u043e\u0434, 0xF-0xE &#8212; \u0443\u043b\u0438\u0446\u0430, 0x11-0x10 &#8212; \u0434\u043e\u043c.<\/p>\n<h3>\u0418\u0442\u043e\u0433\u0438<\/h3>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 PTR, \u043f\u0441\u0435\u0432\u0434\u043e-\u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 LIST &#8212; \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432, \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441 \u043d\u0435\u044d\u0441\u0442\u0435\u0442\u0438\u0447\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c BT_0x0D__triple, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 0x0B, 0x0D, 0x0F, 0x11<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u0431\u043b\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 BT_0x0B_0x0D_0x0F_0x11 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u043c\u0435\u0447\u0430\u0435\u0442 \u0432\u0441\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0431\u043b\u043e\u043a\u043e\u0432 \u0441 \u0442\u0438\u043f\u0430\u043c\u0438  0x0B, 0x0D, 0x0F, 0x11<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 010Editor<\/p>\n<\/li>\n<li>\n<p>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043e ~<s>\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0438\u0442\u0430\u0435\u043c\u044b\u0445 \u043c\u0438\u0440\u043e\u0432<\/s>~ \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e BigEndian, \u043d\u043e \u0435\u0449\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 32 \u0431\u0438\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0435\u043c\u043f\u043b\u0435\u0439\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0440\u0442\u0430\u0445 carindb_ee carindb_bnl (\u0441 \u0443\u0447\u0435\u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043c \u0431\u043b\u043e\u043a\u0438 0x0B, 0x0D, 0x0F, 0x11 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043f\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c)<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0439\u0442\u0438 \u043e\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a &#171;\u0432\u043e\u043b\u0448\u0435\u0431\u043d\u044b\u043c \u0446\u0438\u0444\u0440\u0430\u043c&#187; \u043e\u0442\u0441\u0442\u0443\u043f\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 block(), \u043d\u0430\u043f\u0438\u0448\u0443 \u0432 \u0438\u043d\u043a\u043b\u044e\u0434 &#171;inc_block.bt&#187; \u0444\u0443\u043d\u043a\u0446\u0438\u044e FindBlockByType(en_BL_TYPE type), \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0443\u044e \u0430\u0434\u0440\u0435\u0441 \u0442\u0438\u043f\u0430 BL_ADDR \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u043f\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0431\u043b\u043e\u043a\u0430 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0442\u0438\u043f\u043e\u043c. \u041d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0438 \u043d\u0435\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 0.<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">\/\/ Return finded first block addreses equal argument type uint FindBlockByType(en_BL_TYPE type){     local UINT ptr, data;     for(ptr=0; ptr&lt;FileSize(); ptr+=0x800){         FSeek(ptr);                 \/\/ set cursor =                 data = ReadUInt(FTell());   \/\/ read 32bit as uint           \/\/ \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \/8 == \u043f\u0435\u0440\u0432\u044b\u043c \u0442\u0440\u0435\u043c \u0431\u0430\u0439\u0442\u0430\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434 \u043a\u0443\u0440\u0441\u043e\u0440\u043e\u043c         if( ptr >>11 == data >>8){             \/\/ \u041e, \u0442\u0443\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u043b\u043e\u043a\u0430, data - BL_ADDR             \/\/ReadUByte(FTell()+5); \/\/ read type             if( ReadUByte(FTell()+5) == type){           \/\/ finded ?                 return data; \/\/ And now my watch is ended             }         }     }     return 0; \/\/ return NO FINDED } <\/code><\/pre>\n<p>\u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043d\u0430 \u043b\u044e\u0431\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 carindb \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438: <code>block(FindBlockByType(0x0B)); \/\/ 0B 1      BT_0x0B_0x0D_0x0F_0x11<\/code> <\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"auto\" data-src=\"https:\/\/habrastorage.org\/webt\/ms\/ro\/6y\/msro6y4lkuczngbzivyveq8te0m.png\" data-width=\"auto\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 &#8212; \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<\/div>\n<\/div>\n<p> <!----> <!----><br \/> \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\/597851\/\"> https:\/\/habr.com\/ru\/post\/597851\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\" class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c <a href=\"https:\/\/habr.com\/ru\/post\/597625\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0432\u0435\u0440\u0441 \u0447\u0435\u0440\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0441\u0435\u0440\u0430\u043a\u0442\u0430. <\/a>, \u0431\u0435\u0437 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0443\u0442 \u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442 &#8212; &#171;\u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u041a\u0414\u041f\u0412 \u044d\u0442\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0441\u0442\u0430\u0442\u0435\u0439 \u0432\u0435\u0437\u0434\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0430 <a href=\"https:\/\/tass.ru\/encyclopedia\/person\/migunov-evgeniy-tihonovich\" rel=\"noopener noreferrer nofollow\">\u0415\u0432\u0433\u0435\u043d\u0438\u044f \u0422\u0438\u0445\u043e\u043d\u043e\u0432\u0438\u0447\u0430 \u041c\u0438\u0433\u0443\u043d\u043e\u0432\u0430<\/a>?&#187;.<br \/> \u041e\u0442\u0432\u0435\u0447\u0430\u044e. \u041f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044e, <a href=\"http:\/\/illustrator.indians.ru\/artist\/migunov.htm\" rel=\"noopener noreferrer nofollow\">\u0432\u0441\u0435\u043c\u0438 \u043a\u043d\u0438\u0433\u0430\u043c\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b, \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u044f \u0437\u0430\u0447\u0438\u0442\u044b\u0432\u0430\u043b\u0441\u044f. \u041a\u0430\u043a \u0445\u0443\u0434\u043e\u0436\u043d\u0438\u043a, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043e\u043d \u0432\u0435\u043b\u0438\u043a\u043e\u043b\u0435\u043f\u0435\u043d, \u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0446\u0438\u0442\u0430\u0442\u044b \u0435\u0433\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043b\u043e\u0436\u0430\u0442\u0441\u044f \u043d\u0430 \u0442\u0435\u043c\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 &#171;\u043d\u043e&#187;, \u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043a\u043d\u0438\u0433 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u043c\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0435\u043d\u0438\u044e \u041a\u0414\u041f\u0412 \u0425\u0430\u0431\u0440\u0430. \u041f\u043e\u0441\u0435\u043c\u0443, \u043d\u0435\u043e\u0431\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0439 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u044f \u0432\u0441\u0451 \u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0438 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c.<\/p>\n<h3>\u0411\u043b\u043e\u043a \u0442\u0438\u043f\u0430 0x0D<\/h3>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0444\u0430\u0439\u043b carindb \u043d\u0430\u0440\u0435\u0437\u0430\u043b\u0438 \u043d\u0430 \u0447\u0430\u0441\u0442\u0438, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 &#8212; \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0438\u0437 \u0442\u0438\u043f\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u0435\u0435.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443. \u041f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430: \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0443 \u043d\u0438\u0445, \u043a\u0430\u043a \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c, \u0432\u044b\u0431\u0440\u0430\u0432 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439 \u0442\u043e \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430. <\/p>\n<p>\u0410 \u043f\u043e\u0442\u043e\u043c &#8212; \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e (\u0441).<\/p>\n<p>\u041d\u0430\u043f\u043e\u043c\u043d\u044e \u043a\u0430\u0440\u0442\u0443 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u0430\u0434\u043e \u0447\u0435\u043c-\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u0440\u0435\u043f\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430.<\/p>\n<pre><code>0x00000000 12 1                 0x00  15329   0x00000800 13 1                 0x01  5279   0x00001000 07 1                 0x02  5809   0x00001800 0B 1                 0x03  5867   0x00002000 0A 1                 0x04  -- 0x00003000 0D 3   &lt;---          0x05  -- 0x00010800 0C 692               0x06  5198   0x011F6000 0F 31                0x07  1   0x012EA000 0E 1114              0x08  26   0x02401800 11 145               0x09  7712   0x02763800 10 1524              0x0A  1   0x048A2000 08 1                 0x0B  1   0x048A2800 09 9                 0x0C  692   0x048BC800 06 5198         ---> 0x0D  3         0x055E0000 08 17                0x0E  1114   0x05620800 09 7192              0x0F  31   0x0643F800 00 15329             0x10  1524   0x127BF800 08 1                 0x11  145   0x127C1000 09 169               0x12  1   0x1281C000 03 5867              0x13  1   0x13C2F000 08 1                 0x14  324   0x13C30800 09 169               0x15  4097   0x13C8A800 02 5809              0x16  15817   0x15070800 08 1                 0x17  -- 0x15071000 09 54                0x18  -- 0x1509C800 01 5279              0x19  -- 0x16335000 08 1                 0x1A  -- 0x16335800 09 86                0x1B  -- 0x16365800 16 15817             0x1C  1095   0x1C36A000 08 1                 0x1D  114   0x1C36A800 09 26                0x1E  -- 0x1C37A000 15 4097              0x1F  -- 0x1E00A800 08 1 0x1E00B000 09 3 0x1E010000 1C 1095 0x1E6E5800 08 1 0x1E6E6000 09 3 0x1E6EA000 14 324 0x1E90D800 08 1 0x1E90E000 09 1 0x1E910800 1D 114  <\/code><\/pre>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0437\u044c\u043c\u0443 \u0442\u0438\u043f 0x0D &#8212; \u0438 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u0434\u0430\u043b\u0451\u043a (\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 0x3000), \u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0438 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 &#8212; \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0435\u0441\u0442\u044c \u0440\u044f\u0434\u043e\u043c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0442\u0438\u043f\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0433\u0438\u043f\u043e\u0442\u0435\u0437 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438.<\/p>\n<p>\u041f\u043e\u0435\u0445\u0430\u043b\u0438. \u0412 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0435 \u043f\u0440\u044b\u0433\u0430\u044e \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 0x3000, \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e block_0x0D \u0442\u0438\u043f\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b BT_0x0D, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435. <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<h4>PTR \u0438 LIST<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u043e\u0439 DWORD, \u0437\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u043a\u0430\u0436\u0434\u044b\u0435 3 DWORD \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u043e\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u044b\u0448\u0435 \u0441\u0438\u043d\u0438\u043c \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0439, \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u0438 \u043f\u043e\u0441\u043b\u0435 &#8212; \u044f\u0432\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0435.<\/p>\n<p> \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 BT_0x0D \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c, \u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0451 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 2042 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 BT_0x0D__triple, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 3-\u0445 UINT \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0432\u0435\u0442\u043e\u0432 &#8212; \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430 \u0433\u043b\u0430\u0437 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u043e\u0441\u0435\u0434\u0435\u0439. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e 2024 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b, \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0430. (\u0412\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Variables \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e struct BT_0x0D block_0x0D, \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e \u0434\u043e\u0447\u0435\u0440\u043d\u044e\u044e struct BL_HEAD head, \u043a\u043b\u0438\u043a\u0430\u044e \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 uchar here_last_byte &#8212; \u0438 \u0444\u043e\u043a\u0443\u0441 \u0432 \u043e\u043a\u043d\u0435 hex \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u043d\u0435\u0446 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430. \u041c\u0435\u043d\u044f\u044e \u0447\u0438\u0441\u043b\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043d\u0430\u0436\u0438\u043c\u0430\u044e F5, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 &#8212; \u0437\u0430\u043a\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f hex \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043d\u0446\u0430, \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e, \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043a\u0440\u0430\u0441\u044f\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0435 \u0431\u0430\u0439\u0442\u044b.)<\/p>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e size &#8212; \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2042 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442, \u043a\u0430\u043a 0x7FA. \u0410 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430 head UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c = 0x0c07fa.<\/p>\n<p> \u041f\u0440\u0438\u0447\u0435\u043c, \u0438 \u043c\u0430\u0441\u0441\u0438\u0432 <code>array[0x7FA]<\/code> \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f 0x0c \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043b\u043e\u043a\u0430. \u041f\u0430\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0437\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u044f\u0432\u043d\u043e \u043d\u0435\u0441\u043f\u0440\u043e\u0441\u0442\u0430 \u0440\u044f\u0434\u043e\u043c.<\/p>\n<p> \u041d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 &#171;inc_common.bt&#187; PTR &#8212; \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438\u0449\u0435\u0442 \u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<code>exists(parentof(this).size)<\/code>, \u0438 \u0435\u0441\u043b\u0438 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 size, \u0446\u0432\u0435\u0442 \u0444\u043e\u043d\u0430 &#8212; \u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043b\u043e\u0433 \u043e \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u043c\u0443. \u0425\u043e\u0442\u044c \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430.<\/p>\n<p> \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442 <code>ushort ptr &lt;format=hex><\/code> &#8212; \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043b\u043e\u043a\u0430.<br \/> \u0415\u0441\u043b\u0438 ptr \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439, \u0438, \u0435\u0441\u043b\u0438 \u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c offset, \u043f\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u043c\u0443 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u0435\u0442\u043a\u0443 &#8212; \u0431\u0430\u0439\u0442\u0438\u043a here \u043d\u0430 \u0433\u043e\u043b\u0443\u0431\u0435\u043d\u044c\u043a\u043e\u043c \u0444\u043e\u043d\u0435, \u043a\u043b\u0438\u043a\u0430\u044f \u043d\u0430 \u043d\u0435\u0433\u043e \u0432 Variables &#8212; \u0432 \u043e\u043a\u043d\u0435 hex \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e. Read_PTR &#8212; \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Variables \u0432 \u043a\u043e\u043b\u043e\u043d\u043a\u0435 Values.<\/p>\n<pre><code class=\"cpp\">typedef struct{ if( exists(parentof(this).size) ){        if ( ReadUShort(FTell()) > parentof(this).size){     SetBackColor(cRed);  \/\/ wrong pointer when bigger block size Printf(\"ERR! hex off=%X PTR=0x%04X > block.size 0x%X\\n\",                  FTell(),                 ReadUShort(FTell()),                  parentof(this).size); \/\/ Log situation         } } ushort ptr &lt;format=hex>;        \/\/ relative offset pointer value     if(!ptr){        \/\/ do if ptr != 0         if( exists(parentof(this).offset) ){ \/\/ absolute block begin offset             local DWORD curr_position &lt;hidden=true> = FTell();             FSeek(parentof(this).offset + ptr); \/\/ jump to calc addr             byte here &lt;bgcolor=cAqua>;          \/\/ make bookark             FSeek(curr_position);               \/\/ return          }     } }PTR &lt;read = Read_PTR, fgcolor=cBlue, bgcolor=cAqua >; string Read_PTR(PTR &amp;a){ local string s; SPrintf(s, \"0x%04X (0x%04X)\",              a.ptr,      \/\/ value, relative offset             parentof(a).offset + a.ptr); \/\/ absolute address return s; } <\/code><\/pre>\n<p>\u041d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 &#171;inc_common.bt&#187; LIST &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 offset, size \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u043e\u043c \u0438\u0434\u0443\u0442 \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 PTR ptr, \u043d\u043e \u043f\u043e\u0442\u043e\u043c offset \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/p>\n<pre><code class=\"cpp\">typedef struct{ local uint offset, size ;   \/\/ block offset and size for next PTR ptr     if( exists(parentof(this).offset) ){         offset = parentof(this).offset; \/\/ start block offset      }     if( exists(parentof(this).size) ){         size = parentof(this).size; \/\/ parent block size      } PTR ptr&lt;bgcolor=cLtAqua>;\/\/ ptr to first list item offset = ptr.ptr + offset;\/\/ absolute addr of list begin ushortcnt &lt;fgcolor=cDkGreen>; \/\/ items quantity }LIST &lt;read=Read_LIST, bgcolor=cLtAqua>; string Read_LIST(LIST &amp;a){ local string s; SPrintf(s, \"0x%04X (0x%04X)  :cnt:%i(%Xh)\",          a.ptr.ptr, a.offset, a.cnt, a.cnt ); return s; } <\/code><\/pre>\n<p>\u0418 \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e UINT unknown \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c \u0437\u0430\u043c\u0435\u043d\u044f\u044e \u043d\u0430 LIST p_data, \u043f\u0440\u0430\u0432\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 <code>BT_0x0D__triple main_array[cnt]<\/code> \u043d\u0430 p_data.cnt, \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 optimize=false &#8212; \u0438\u043d\u0430\u0447\u0435 010Editor \u0441\u0445\u0438\u0442\u0440\u0438\u0442, \u0432\u0441\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e. \u0418 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0431\u043b\u043e\u043a\u0430 BT_0x0D \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u044f\u0440\u043a\u0438\u0439 byte after_parsed_block_info &#8212; \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0432 \u043e\u043a\u043d\u0435 hex \u0432\u0438\u0434\u043d\u043e, \u0433\u0434\u0435 \u043e\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433, \u0438 \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u0451 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0432 Variables \u043c\u043e\u0436\u043d\u043e.<\/p>\n<p> \u0412 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 BT_0x0D__triple \u0442\u043e\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0435:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 UINT unknown1 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 &#8212; BL_ADDR, \u043a\u0430\u043a \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u043b\u043e\u043a\u043e\u0432 \u043e\u043d\u0438 \u0432\u0441\u0435 \u0432\u0430\u043b\u0438\u0434\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0437\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043f\u043e\u0445\u043e\u0436\u0435, char ch, \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043b\u0435\u0436\u0430\u0442 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435, \u0447\u0442\u043e \u0438 ASCII \u043a\u043e\u0434\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043e\u0442 &#8216;0&#8217; \u0434\u043e &#8216;z&#8217;.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430 \u043d\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d char seems_always_eq_1 &#8212; \u0432\u0441\u0442\u0430\u0432\u043b\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0430 \u043f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 seems_always_eq_1 == 1<\/p>\n<\/li>\n<li>\n<p>UINT unknown3 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b 16\u0431\u0438\u0442\u043d\u044b\u0439 aligment: \u044f\u0432\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 32\u0431\u0438\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">typedef struct{     BL_ADDR   bl_type_0c;     char      ch;           \/\/ chars     ubyte      seems_always_eq_1;   \/\/         if(seems_always_eq_1 != 1) Printf(\"%X i!=1 %i( %X )\\n\",              FTell(), \/\/ offset where happened             seems_always_eq_1, seems_always_eq_1);     uint unknown3 &lt;bgcolor=cLtYellow>;      ushort    always_zero &lt;fgcolor=cLtGray>;  \/\/ 16bit = 0         if(always_zero)     \/\/ \u0442\u0443\u0442 \u043d\u043e\u043b\u044c \u043d\u0435 \u043d\u043e\u043b\u044c             Printf(\"%X always_zero = %i( %X )\\n\",              FTell(), \/\/ offset where happened             always_zero, always_zero); }BT_0x0D__triple &lt;read = Read_triple>; string Read_triple(BT_0x0D__triple &amp;a){     local string s;     SPrintf(s, \"%c %i %08X\",          a.ch, a.seems_always_eq_1,         a.unknown3         );     return s; } <\/code><\/pre>\n<figure class=\"full-width\"><figcaption>02-03<\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Output, &#8212; \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u043c\u0435\u043a\u043e\u0432, \u0447\u0442\u043e seems_always_eq_1 &#8212; \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u043d\u0430 1, \u0431\u044b\u0432\u0430\u0435\u0442 \u0438 0.<br \/> \u041f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438  <code>if((seems_always_eq_1 != 1)&amp;&amp;(seems_always_eq_1 != 0) ) <\/code>, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0431\u0435\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u0432 \u043b\u043e\u0433\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 always_zero, \u043f\u043e\u0445\u043e\u0436\u0435, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 32 \u0431\u0438\u0442\u0430. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 BT_0x0D__triple: BL_ADDR bl_type_0c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430 \u0442\u0438\u043f 0x0C? <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0435\u0442, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430, \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043d\u0441\u043e\u043b\u044c. \u0427\u0442\u043e\u0431\u044b \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0433\u0434\u0435 \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430 bl_type_0c \u043d\u0435 0xC, \u0430 0xD , \u0432\u044b\u0434\u0435\u043b\u044f\u044e \u044f\u0440\u043a\u0438\u043c \u043d\u0435\u0440\u0430\u0441\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u0439 seems_always_eq_1.<\/p>\n<pre><code class=\"cpp\">    if(bl_type_0c.type == 0xC)         ubyte     seems_always_eq_1 &lt;bgcolor=cLtYellow>;   \/\/ type 0xC     else         ubyte     seems_always_eq_1 &lt;bgcolor=cPurple>;   \/\/ type==0xD         if((seems_always_eq_1 != 1)&amp;&amp;(seems_always_eq_1 != 0) )              Printf(\"%X i!=1 %i( %X )\\n\",                  FTell(), \/\/ offset where shit happened                 seems_always_eq_1, seems_always_eq_1);  <\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0435\u043d: \u0432 \u0431\u043b\u043e\u043a\u0435 \u0442\u0438\u043f\u0430 0xD \u0432 BT_0x0D__triple seems_always_eq_1 <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> ==1, \u0435\u0441\u043b\u0438 bl_type_0c \u0432\u0435\u0434\u0451\u0442 &#171;\u043d\u0430\u0440\u0443\u0436\u0443&#187;, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c 0xC, \u0438 <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> ==0, \u0435\u0441\u043b\u0438 bl_type_0c.type == 0xD, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f bool &#8212; \u0441\u0441\u044b\u043b\u043a\u0430 &#171;\u043d\u0430\u0440\u0443\u0436\u0443&#187;, \u0438\u043b\u0438 &#171;\u0432\u043d\u0443\u0442\u0440\u044c&#187;, \u0441\u0430\u043c\u043e\u0435 \u0438\u043c\u044f \u0435\u0439 is_ptr_out.<\/p>\n<p> \u041d\u043e, \u0435\u0441\u043b\u0438 \u0447\u0430\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0435\u0434\u0451\u0442 \u0432\u043d\u0443\u0442\u0440\u044c, \u0442\u043e \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e<\/p>\n<\/div>\n<\/div>\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-327417","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/327417","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=327417"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/327417\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=327417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=327417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=327417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}