{"id":308454,"date":"2020-08-13T21:00:57","date_gmt":"2020-08-13T21:00:57","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=308454"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2020-08-13T21:00:57","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=308454","title":{"rendered":"\u0421\u043e\u0437\u0434\u0430\u0435\u043c EXE"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/515058\/\">\u0421\u0430\u043c\u043e\u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0441\u0438\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u0435\u043c, \u0447\u0435\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. <\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0441\u043e\u0431\u0440\u0430\u0442\u044c Hello World, \u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043f\u0440\u043e \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0430 \u043f\u0440\u043e \u0442\u0430\u043a\u0443\u044e \u0432\u0430\u0436\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 exe \u0444\u0430\u0439\u043b\u0430.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u041d\u0430\u0447\u0430\u043b\u043e<\/h2>\n<p>  \u0425\u043e\u0442\u0438\u0442\u0435 \u0441\u043f\u043e\u0439\u043b\u0435\u0440? \u041d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c 2048 \u0431\u0430\u0439\u0442.<\/p>\n<p>  \u041e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 exe \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0421\u0430\u043c\u0438 \u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b, \u0438 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>  \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c!<\/p>\n<p>  \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u044e\u0431\u043e\u0439 HEX \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 (\u043b\u0438\u0447\u043d\u043e \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b HxD).<\/p>\n<p>  \u0414\u043b\u044f \u0441\u0442\u0430\u0440\u0442\u0430 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">func MessageBoxA(u32 handle, PChar text, PChar caption, u32 type) i32 ['user32.dll'] func ExitProcess(u32 code) ['kernel32.dll']  func main() { \tMessageBoxA(0, 'Hello World!', 'MyApp', 64) \tExitProcess(0) } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/\">WinAPI<\/a>. \u0424\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/api\/winuser\/nf-winuser-messagebox\">MessageBoxA<\/a> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0441 \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0430 <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/api\/processthreadsapi\/nf-processthreadsapi-exitprocess\">ExitProcess<\/a> \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>  \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e main \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043d\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435.<\/p>\n<h2>DOS Header<\/h2>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 DOS Header, \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0434\u043b\u044f DOS \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0438 \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a exe \u043f\u043e\u0434 Windows \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d.<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u044f \u043e\u0442\u043c\u0435\u0442\u0438\u043b, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043d\u0443\u043b\u044f\u043c\u0438.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u0442\u0443\u043a\u0442\u0443\u0440\u0430 IMAGE_DOS_HEADER<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"rust\">Struct IMAGE_DOS_HEADER {      u16 e_magic\t\/\/ 0x5A4D\t&quot;MZ&quot;      u16 e_cblp\t\t\/\/ 0x0080\t128      u16 e_cp\t\t\/\/ 0x0001\t1      u16 e_crlc      u16 e_cparhdr\t\/\/ 0x0004\t4      u16 e_minalloc\t\/\/ 0x0010\t16      u16 e_maxalloc\t\/\/ 0xFFFF\t65535      u16 e_ss      u16 e_sp\t\t\/\/ 0x0140\t320      u16 e_csum\t\t      u16 e_ip      u16 e_cs      u16 e_lfarlc\t\/\/ 0x0040\t64      u16 e_ovno      u16[4] e_res      u16 e_oemid      u16 e_oeminfo      u16[10] e_res2      u32 e_lfanew\t\/\/ 0x0080\t128 } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043b\u0435 e_magic \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435, \u0447\u0442\u043e \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b, \u0438 e_lfanew \u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043d\u0430 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 PE-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0430\u0439\u043b\u0430 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0444\u0430\u0439\u043b\u0435 \u044d\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u043e 0x80 = 128 \u0431\u0430\u0439\u0442).<\/p>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 DOS Header \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0435\u0435 \u0432 \u043d\u0430\u0448 \u0444\u0430\u0439\u043b.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(1) RAW DOS Header (Offset 0x00000000)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">4D 5A 80 00 01 00 00 00  04 00 10 00 FF FF 00 00 40 01 00 00 00 00 00 00  40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 80 00 00 00 <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/n1\/gs\/t4\/n1gst4-ov6jug2b58toflbcy1to.png\"\/>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<blockquote><p><b>\u0423\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435<\/b><\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043b\u0435\u0432\u0443\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443 \u043a\u0430\u043a \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0431\u0440\u0435\u0437\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 <i>\u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u043a\u043e\u0431\u043a\u0435<\/i> \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0443\u043a\u0430\u0437\u0430\u043d <i>\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <\/i> \u0432 \u0444\u0430\u0439\u043b, \u0430 <i>\u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435<\/i> (Offset) \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a. <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u043e\u043a \u043c\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e 0x00000000, \u0438 \u043e\u043d \u0437\u0430\u0439\u043c\u0435\u0442 64 \u0431\u0430\u0439\u0442\u0430 (0x40 \u0432 16-\u0440\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435), \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u043a \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0436\u0435 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e 0x00000040 \u0438 \u0442.\u0434.  <\/p><\/blockquote>\n<p> \u0413\u043e\u0442\u043e\u0432\u043e, \u043f\u0435\u0440\u0432\u044b\u0435 64 \u0431\u0430\u0439\u0442\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 64, \u044d\u0442\u043e \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 DOS Stub (\u0417\u0430\u0433\u043b\u0443\u0448\u043a\u0430). \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0437-\u043f\u043e\u0434 DOS, \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. <\/p>\n<p>  \u041d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c, \u044d\u0442\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0434 DOS \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. <br \/>  \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0430\u0448 Stub \u0432 \u0444\u0430\u0439\u043b \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0435\u0433\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(2) RAW DOS Stub (Offset 0x00000040)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">0E 1F BA 0E 00 B4 09 CD  21 B8 01 4C CD 21 54 68 69 73 20 70 72 6F 67 72  61 6D 20 63 61 6E 6E 6F 74 20 62 65 20 72 75 6E  20 69 6E 20 44 4F 53 20 6D 6F 64 65 2E 0D 0A 24  00 00 00 00 00 00 00 00 <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mi\/ez\/je\/miezjequd4s8ntvk-zyd0z9arig.png\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u0434, \u043d\u043e \u0443\u0436\u0435 \u0432 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Asm DOS Stub<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">0000\tpush cs\t\t\t; \u0417\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c Code Segment(CS) (\u0433\u0434\u0435 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438) 0001\tpop ds\t\t\t; \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e Data Segment(DS) = CS 0002\tmov dx, 0x0E\t; \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 DS+DX, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 $(\u041a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u043e\u043a\u0438)  0005\tmov ah, 0x09\t; \u041d\u043e\u043c\u0435\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u0412\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438) 0007\tint 0x21\t\t; \u0412\u044b\u0437\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f 0x21 0009\tmov ax, 0x4C01\t; \u041d\u043e\u043c\u0435\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 0x4C (\u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b)  \t\t\t\t\t\t; \u041a\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b 0x01 (\u041d\u0435\u0443\u0434\u0430\u0447\u0430) 000c\tint 0x21\t\t; \u0412\u044b\u0437\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f 0x21 000e\t&quot;This program cannot be run in DOS mode.\\x0D\\x0A$&quot; ; \u0412\u044b\u0432\u043e\u0434\u0438\u043c\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0430\u043a: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u043a\u043e\u0434\u043e\u043c 1. \u0427\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f (\u041a\u043e\u0434 0).<\/p>\n<p>  \u041a\u043e\u0434 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u0441\u044f (\u043e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443) \u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b gcc \u0438 delphi, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439. <\/p>\n<p>  \u0410 \u0435\u0449\u0435 \u0437\u0430\u0431\u0430\u0432\u043d\u043e, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \\x0D\\x0D\\x0A$. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e c++ \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0441\u0438\u043c\u0432\u043e\u043b \\x0A \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \\x0D\\x0A. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 3 \u0431\u0430\u0439\u0442\u0430: 2 \u0431\u0430\u0439\u0442\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043a\u0430\u0440\u0435\u0442\u043a\u0438 Carriage Return (0x0D) \u0447\u0442\u043e \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e, \u0438 1 \u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 Line Feed (0x0A). \u0412 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 (std::ios::binary) \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u043c\u0435\u043d\u044b \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Far \u0441 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c ImpEx:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/j3\/h6\/wd\/j3h6wd5lqzy8zruvwbj9sbvu06u.png\"\/><\/p>\n<h2>NT Header<\/h2>\n<p>  \u0421\u043f\u0443\u0441\u0442\u044f 128 (0x80) \u0431\u0430\u0439\u0442 \u043c\u044b \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u043e NT \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 (IMAGE_NT_HEADERS64), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0438 PE \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a (IMAGE_OPTIONAL_HEADER64). \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 IMAGE_OPTIONAL_HEADER64 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x64 \u0438 x86.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 IMAGE_NT_HEADERS64<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"rust\">Struct IMAGE_NT_HEADERS64 { \tu32 Signature\t\/\/ 0x4550 &quot;PE&quot; \t \tStruct IMAGE_FILE_HEADER  \t{ \t\tu16 Machine\t\/\/ 0x8664 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 x86-64 \t\tu16 NumberOfSections\t\/\/ 0x03 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u043a\u0446\u0438\u0439 \u0432 \u0444\u0430\u0439\u043b\u0435  \t\tu32 TimeDateStamp\t\t\/\/ \u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \t\tu32 PointerToSymbolTable \t\tu32 NumberOfSymbols \t\tu16 SizeOfOptionalHeader \/\/ \u0420\u0430\u0437\u043c\u0435\u0440 IMAGE_OPTIONAL_HEADER64 (\u041d\u0438\u0436\u0435) \t\tu16 Characteristics\t\/\/ 0x2F  \t} \t \tStruct IMAGE_OPTIONAL_HEADER64 \t{ \t\tu16 Magic\t\/\/ 0x020B \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0447\u0442\u043e \u043d\u0430\u0448 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0434\u043b\u044f PE64 \t\tu8 MajorLinkerVersion \t\tu8 MinorLinkerVersion \t\tu32 SizeOfCode \t\tu32 SizeOfInitializedData \t\tu32 SizeOfUninitializedData\t \t\tu32 AddressOfEntryPoint\t\/\/ 0x1000  \t\tu32 BaseOfCode\t\/\/ 0x1000  \t\tu64 ImageBase\t\/\/ 0x400000  \t\tu32 SectionAlignment\t\/\/ 0x1000 (4096 \u0431\u0430\u0439\u0442) \t\tu32 FileAlignment\t\/\/ 0x200 \t\tu16 MajorOperatingSystemVersion\t\/\/ 0x05\tWindows XP \t\tu16 MinorOperatingSystemVersion\t\/\/ 0x02\tWindows XP \t\tu16 MajorImageVersion \t\tu16 MinorImageVersion \t\tu16 MajorSubsystemVersion\t\/\/ 0x05\tWindows XP \t\tu16 MinorSubsystemVersion\t\/\/ 0x02\tWindows XP \t\tu32 Win32VersionValue \t\tu32 SizeOfImage\t\/\/ 0x4000 \t\tu32 SizeOfHeaders \/\/ 0x200 (512 \u0431\u0430\u0439\u0442) \t\tu32 CheckSum \t\tu16 Subsystem\t\/\/ 0x02 (GUI) \u0438\u043b\u0438 0x03 (Console) \t\tu16 DllCharacteristics \t\tu64 SizeOfStackReserve\t\/\/ 0x100000 \t\tu64 SizeOfStackCommit\t\/\/ 0x1000 \t\tu64 SizeOfHeapReserve\t\/\/ 0x100000 \t\tu64 SizeOfHeapCommit\t\/\/ 0x1000 \t\tu32 LoaderFlags \t\tu32 NumberOfRvaAndSizes \/\/ 0x16  \t\t \t\tStruct IMAGE_DATA_DIRECTORY [16]  \t\t{ \t\t\tu32 VirtualAddress \t\t\tu32 Size \t\t} \t} } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 IMAGE_NT_HEADERS64<\/b>                         <\/p>\n<div class=\"spoiler_text\">Signature \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b PE \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a IMAGE_FILE_HEADER \u043e\u0431\u0449\u0438\u0439 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x86 \u0438 x64. <\/p>\n<p>  Machine \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u043a\u043e\u0434 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043b\u044f x64<br \/>  NumberOfSections \u2014 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u043a\u0446\u0438\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 (\u041e \u0441\u0435\u043a\u0446\u0438\u044f\u0445 \u0447\u0443\u0442\u044c \u043d\u0438\u0436\u0435)<br \/>  TimeDateStamp \u2014 \u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430<br \/>  SizeOfOptionalHeader \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 IMAGE_OPTIONAL_HEADER64, \u0432\u0435\u0434\u044c \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c IMAGE_OPTIONAL_HEADER32.<\/p>\n<p>  Characteristics \u2014 \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e \u043e\u043d\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c (EXECUTABLE_IMAGE) \u0438 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0441 2 \u0413\u0431 RAM (LARGE_ADDRESS_AWARE), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430) \u0432 \u0444\u0430\u0439\u043b (RELOCS_STRIPPED | LINE_NUMS_STRIPPED | LOCAL_SYMS_STRIPPED).<\/p>\n<p>  SizeOfCode \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 (\u0441\u0435\u043a\u0446\u0438\u044f .text)<br \/>  SizeOfInitializedData \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u0435\u043a\u0446\u0438\u044f .rodata)<br \/>  SizeOfUninitializedData \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u043d\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u0435\u043a\u0446\u0438\u044f .bss)<br \/>  BaseOfCode \u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u0435\u043a\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u0431\u043b\u043e\u043a<br \/>  SectionAlignment \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u0441\u0435\u043a\u0446\u0438\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 <br \/>  FileAlignment \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u0441\u0435\u043a\u0446\u0438\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430<br \/>  SizeOfImage \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u0432\u0441\u0435\u0445 \u0441\u0435\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br \/>  SizeOfHeaders \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u0432\u0441\u0435\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u0435 (IMAGE_DOS_HEADER, DOS Stub, IMAGE_NT_HEADERS64, IMAGE_SECTION_HEADER[IMAGE_FILE_HEADER.NumberOfSections]) \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043e FileAlignment<br \/>  Subsystem \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0438\u043f \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b GUI \u0438\u043b\u0438 Console<br \/>  MajorOperatingSystemVersion, MinorOperatingSystemVersion, MajorSubsystemVersion, MinorSubsystemVersion \u2014 \u0413\u043e\u0432\u043e\u0440\u044f\u0442 \u043e \u0442\u043e\u043c \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 exe, \u0438 \u0447\u0442\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0431\u0435\u0440\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 5.2 \u043e\u0442 Windows XP (x64).<br \/>  SizeOfStackReserve \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0434 \u0441\u0442\u0435\u043a. \u042d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 1 \u041c\u0431, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c 1\u0413\u0431. \u0412\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0443\u043c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Rust \u0443\u043c\u0435\u044e\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0435\u043a\u0430, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430 C++ \u0433\u0434\u0435 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e.<br \/>  SizeOfStackCommit \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 4 \u041a\u0431. \u041a\u0430\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f. <br \/>  SizeOfHeapReserve \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0434 \u043a\u0443\u0447\u0443. \u0420\u0430\u0432\u0435\u043d 1 \u041c\u0431 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<br \/>  SizeOfHeapCommit \u2014 \u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0432\u0435\u043d 4 \u041a\u0431. \u041f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e SizeOfStackCommit, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043a\u0430\u043a.<\/p>\n<p>  IMAGE_DATA_DIRECTORY \u2014 \u043c\u0430\u0441\u0441\u0438\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u0445. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c, \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0432 \u043f\u0430\u0440\u0443 \u0431\u0430\u0439\u0442, \u043d\u043e \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 16 \u043f\u043e\u043b\u0435\u0439 \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b. \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435.<\/p>\n<p>  \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u043d\u043e\u043c\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435. \u041f\u0440\u0438\u043c\u0435\u0440:<br \/>  Export(0) \u2014 \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u0440\u0430\u043d\u0438\u0442 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0414\u043b\u044f \u043d\u0430\u0441 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 DLL. \u041a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430.<\/p>\n<p>  <b>Import(1)<\/b> \u2014 \u042d\u0442\u043e\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0441 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 DLL. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f VirtualAddress = 0x3000 \u0438 Size = 0xB8. \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043e\u043f\u0438\u0448\u0435\u043c.<\/p>\n<p>  Resource(2) \u2014 \u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0422\u0435\u043a\u0441\u0442, \u0424\u0430\u0439\u043b\u044b \u0438 \u0442.\u0434.)<br \/>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.  <\/div>\n<\/p><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0438\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 NT-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0438 \u0435\u0433\u043e \u0432 \u0444\u0430\u0439\u043b \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x80.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(3) RAW NT-Header (Offset 0x00000080)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">50 45 00 00 64 86 03 00  F4 70 E8 5E 00 00 00 00 00 00 00 00 F0 00 2F 00  0B 02 00 00 3D 00 00 00 13 00 00 00 00 00 00 00  00 10 00 00 00 10 00 00 00 00 40 00 00 00 00 00  00 10 00 00 00 02 00 00 05 00 02 00 00 00 00 00  05 00 02 00 00 00 00 00 00 40 00 00 00 02 00 00  00 00 00 00 02 00 00 00 00 00 10 00 00 00 00 00  00 10 00 00 00 00 00 00 00 00 10 00 00 00 00 00  00 10 00 00 00 00 00 00 00 00 00 00 10 00 00 00  00 00 00 00 00 00 00 00 00 30 00 00 B8 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434 IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER64 \u0438 IMAGE_DATA_DIRECTORY \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ze\/jq\/h1\/zejqh1olrq2airy5m5bvuipxykq.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ya\/vw\/ar\/yavware22eycufrhlxp6pzvzoqu.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ez\/fv\/ig\/ezfvigak7vbfalpigl28qezwohy.png\"\/><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0441\u0435\u043a\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 IMAGE_SECTION_HEADER<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 IMAGE_SECTION_HEADER<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"rust\">Struct IMAGE_SECTION_HEADER { \ti8[8] Name \tu32 VirtualSize \tu32 VirtualAddress \tu32 SizeOfRawData \tu32 PointerToRawData \tu32 PointerToRelocations \tu32 PointerToLinenumbers \tu16 NumberOfRelocations \tu16 NumberOfLinenumbers \tu32 Characteristics } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 IMAGE_SECTION_HEADER<\/b>                         <\/p>\n<div class=\"spoiler_text\">Name \u2014 \u0438\u043c\u044f \u0441\u0435\u043a\u0446\u0438\u0438 \u0438\u0437 8 \u0431\u0430\u0439\u0442, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c<br \/>  VirtualSize \u2014 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0439\u0442 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c<br \/>  VirtualAddress \u2014 \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u043a\u0446\u0438\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043e SectionAlignment<br \/>  SizeOfRawData \u2014 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0445 \u043f\u043e FileAlignment<br \/>  PointerToRawData \u2014 \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u043a\u0446\u0438\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043e FileAlignment<br \/>  Characteristics \u2014 \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0441\u0435\u043a\u0446\u0438\u044f (\u041a\u043e\u0434, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u043d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0434\u0440.)  <\/div>\n<\/p><\/div>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443 \u043da\u0441 \u0431\u0443\u0434\u0435\u0442 3 \u0441\u0435\u043a\u0446\u0438\u0438. <\/p>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 Virtual Address (VA) \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 1000, \u0430 \u043d\u0435 \u0441 \u043d\u0443\u043b\u044f \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u043d\u043e \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u044e\u0442 \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 1000 + 3 \u0441\u0435\u043a\u0446\u0438\u0438 * 1000 (SectionAlignment) = 4000 \u0447\u0442\u043e \u043c\u044b \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 SizeOfImage. \u042d\u0442\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<pre><code class=\"plaintext\"> Name\t| RAW Addr\t| RAW Size\t| VA\t| VA Size | Attr --------+---------------+---------------+-------+---------+-------- .text\t| 200\t\t| 200\t\t| 1000\t| 3D\t  |   CER .rdata\t| 400\t\t| 200\t\t| 2000\t| 13\t  | I   R .idata\t| 600\t\t| 200\t\t| 3000\t| B8\t  | I   R <\/code><\/pre>\n<p>  \u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432:<\/p>\n<p>  I \u2014 Initialized data, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<br \/>  U \u2014 Uninitialized data, \u043d\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<br \/>  C \u2014 Code, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434<br \/>  E \u2014 Execute, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u0434 <br \/>  R \u2014 Read, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438<br \/>  W \u2014 Write, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u044e<\/p>\n<p>  .text (.code) \u2014 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 (\u0441\u0430\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443), \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b CE<br \/>  .rdata (.rodata) \u2014 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0442.\u043f., \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b IR<br \/>  .data \u2014 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b IRW<br \/>  .bss \u2014 \u0445\u0440\u0430\u043d\u0438\u0442 \u043d\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u043c\u0435\u0435\u0442 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 RAW \u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439 VA Size, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435. \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b URW<br \/>  .idata \u2014 \u0441\u0435\u043a\u0446\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u0432 \u0441\u0435\u0431\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b IR<\/p>\n<p>  \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0441\u0435\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u043c. \u041f\u0440\u0438 \u0447\u0435\u043c \u043a\u0430\u043a \u0432 \u0444\u0430\u0439\u043b\u0435, \u0442\u0430\u043a \u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043a\u043e\u0433\u0434\u0430 \u044f \u043c\u0435\u043d\u044f\u043b \u0438\u0445 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043a\u0430\u043a\u0438\u0435 \u0441\u0435\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0438\u0445 \u0432 \u043d\u0430\u0448 \u0444\u0430\u0439\u043b. \u0422\u0443\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 8 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c\u0441\u044f \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u0444\u0430\u0439\u043b\u0430. <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(4) RAW Sections (Offset 0x00000188)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">                         2E 74 65 78 74 00 00 00 3D 00 00 00 00 10 00 00  00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00  00 00 00 00 20 00 00 60 2E 72 64 61 74 61 00 00  13 00 00 00 00 20 00 00 00 02 00 00 00 04 00 00  00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 40  2E 69 64 61 74 61 00 00 B8 00 00 00 00 30 00 00  00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00  00 00 00 00 40 00 00 40 <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gb\/lt\/pu\/gbltpurtitw4zdhhezxyiupzacy.png\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0435\u0442 00000200 \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u043b\u044e SizeOfHeaders PE-\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430. \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0441\u0435\u043a\u0446\u0438\u044e, \u0430 \u044d\u0442\u043e \u043f\u043b\u044e\u0441 40 \u0431\u0430\u0439\u0442, \u0442\u043e \u043d\u0430\u0448\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u043d\u0435 \u0443\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u0431\u044b \u0432 512 (0x200) \u0431\u0430\u0439\u0442 \u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 512+40 = 552 \u0431\u0430\u0439\u0442\u0430 \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0435 \u043f\u043e FileAlignment, \u0442\u043e \u0435\u0441\u0442\u044c 1024 (0x400) \u0431\u0430\u0439\u0442\u0430. \u0410 \u0432\u0441\u0435 \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043e\u0442 0x228 (552) \u0434\u043e \u0430\u0434\u0440\u0435\u0441\u0430 0x400 \u043d\u0443\u0436\u043d\u043e \u0447\u0435\u043c-\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u043b\u0443\u0447\u0448\u0435 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0443\u043b\u044f\u043c\u0438.<\/p>\n<p>  \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0431\u043b\u043e\u043a \u0441\u0435\u043a\u0446\u0438\u0439 \u0432 Far:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lp\/6n\/6m\/lp6n6mtudw2pvtrjpjgumjijx2g.png\"\/><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u043d\u0430\u0448 \u0444\u0430\u0439\u043b \u0441\u0430\u043c\u0438 \u0441\u0435\u043a\u0446\u0438\u0438, \u043d\u043e \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u043d\u044e\u0430\u043d\u0441.<\/p>\n<p>  \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 SizeOfHeaders, \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430. \u0422\u0430\u043a \u043a\u0430\u043a \u0447\u0442\u043e \u0431\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u043d\u0430\u0442\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0439\u043c\u0443\u0442 \u0432\u0441\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0432\u043c\u0435\u0441\u0442\u0435. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0441\u0442\u0430, \u043b\u0438\u0431\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u0435 (\u043d\u0443\u043b\u0435\u0432\u044b\u0435) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u0441\u0435\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0436\u0435 \u0438\u0445 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0435\u043a\u0446\u0438\u044f .rdata \u0438\u0434\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0441\u0435\u043a\u0446\u0438\u0438 .text, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432 .rdata, \u0432\u0435\u0434\u044c \u0435\u0441\u043b\u0438 \u0441\u0435\u043a\u0446\u0438\u044f .text \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043d\u0430 0x1000 (SectionAlignment) \u0431\u0430\u0439\u0442, \u043e\u043d\u0430 \u0437\u0430\u0439\u043c\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 0x2000 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430. \u0418 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0435\u043a\u0446\u0438\u044f .rdata \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0443\u0436\u0435 \u043d\u0435 \u0432 \u0430\u0434\u0440\u0435\u0441\u0435 0x2000, \u0430 \u0432 \u0430\u0434\u0440\u0435\u0441\u0435 0x3000. \u0418 \u043d\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 .text \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434 .rdata.<\/p>\n<p>  \u041d\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0443\u0436\u0435 \u0432\u0441\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438 \u043a\u043e\u0434\u0430.<\/p>\n<h2>\u0421\u0435\u043a\u0446\u0438\u044f .text<\/h2>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Asm segment .text<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">0000\tpush rbp 0001\tmov rbp, rsp 0004\tsub rsp, 0x20 0008\tmov rcx, 0x0 000F\tmov rdx, 0x402000 0016\tmov r8, 0x40200D 001D\tmov r9, 0x40 0024\tcall QWORD PTR [rip + 0x203E] 002A\tmov rcx, 0x0 0031\tcall QWORD PTR [rip + 0x2061] 0037\tadd rsp, 0x20 003B\tpop rbp 003C\tret <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0441\u0442\u0440\u043e\u043a\u0438, \u0440\u043e\u0432\u043d\u043e, \u043a\u0430\u043a \u0438 3 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b.<br \/>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 3 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0435\u0449\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 call.<\/p>\n<p>  \u041d\u043e \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u0435\u0441\u043b\u0438 \u0431\u044b \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f main, \u0430 \u043f\u043e\u0434\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a.<\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b, \u043d\u043e \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u0435 MessageBoxA, \u0430 printf \u0442\u043e \u0431\u0435\u0437 \u044d\u0442\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u044b \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044e \u043e \u0432\u044b\u0437\u043e\u0432\u0430\u0445 \u0434\u043b\u044f 64-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c MSDN, \u043f\u0435\u0440\u0432\u044b\u0435 4 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 RCX, RDX, R8, R9. \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u0442\u0443\u0434\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0447\u0438\u0441\u043b\u043e\u043c \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439. \u0410 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043a. <\/p>\n<p>  \u041f\u043e \u0438\u0434\u0435\u0435 \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c 2 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0438 \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043d\u0438\u0445 \u0434\u0432\u0430 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0441\u0442\u0435\u043a\u0435, \u0447\u0442\u043e \u0431\u044b \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0433\u043b\u0430 \u0441\u043a\u0438\u043d\u0443\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0432 \u0441\u0442\u0435\u043a. \u0422\u0430\u043a \u0436\u0435 \u043c\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u043c \u0432\u0435\u0440\u043d\u0443\u0442 \u044d\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.<\/p>\n<p>  \u0422\u0430\u043a \u0432\u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 printf \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0435\u0439 \u0432\u0441\u0435\u0433\u043e 1 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u043e\u043d\u0430 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u0442 \u0432\u0441\u0435 4 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0441\u0442\u0435\u043a\u0435, \u0445\u043e\u0442\u044f \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e, \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0435\u0431\u044f \u0441\u0442\u0440\u0430\u043d\u043d\u043e \u0432\u0435\u043b\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c 8 \u0431\u0430\u0439\u0442 * 4 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 = 32(0x20) \u0431\u0430\u0439\u0442, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0445\u043e\u0442\u044f \u0431\u044b 1 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430 \u0441 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<pre><code class=\"plaintext\">MessageBoxA(0, 'Hello World!', 'MyApp', 64) ExitProcess(0) <\/code><\/pre>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043d\u0430\u0448\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:<\/p>\n<p>  rcx = 0 <br \/>  rdx = \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 ImageBase + Sections[&quot;.rdata&quot;].VirtualAddress + \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0435\u043a\u0446\u0438\u0438, \u0441\u0442\u0440\u043e\u043a\u0430 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430<br \/>  r8 = \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443<br \/>  r9 = 64(0x40) MB_ICONINFORMATION, \u0437\u043d\u0430\u0447\u043e\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438<\/p>\n<p>  \u0410 \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 MessageBoxA, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0441\u0442\u0430\u0440\u0430\u044e\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432\u043b\u0435\u0437\u0435\u0442 \u0432 \u043a\u044d\u0448 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432 \u043a\u044d\u0448\u0430, \u043f\u043e\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0438 \u0432\u044b\u0448\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Intel 64 and IA-32 Architectures Software Developer\u2019s Manuals.<\/p>\n<p>  \u041c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443, \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c (1 \u043e\u043f\u043a\u043e\u0434 + 8 \u0430\u0434\u0440\u0435\u0441 = 9 \u0431\u0430\u0439\u0442), \u0430 \u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 call \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 6 \u0431\u0430\u0439\u0442.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u044d\u0442\u0443 \u043c\u0430\u0433\u0438\u044e \u043f\u043e\u0431\u043b\u0438\u0436\u0435: rip + 0x203E, \u044d\u0442\u043e \u043d\u0438 \u0447\u0442\u043e \u0438\u043d\u043e\u0435, \u043a\u0430\u043a \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u0448\u0438\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c. <\/p>\n<p>  \u042f \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u043f\u0435\u0440\u0435\u0434 \u0438 \u0443\u0437\u043d\u0430\u043b \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0443\u0436\u043d\u044b\u0445 \u043d\u0430\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0439. \u0414\u043b\u044f MessageBoxA \u044d\u0442\u043e 0x3068, \u0430 \u0434\u043b\u044f ExitProcess \u044d\u0442\u043e 0x3098. <\/p>\n<p>  \u041f\u043e\u0440\u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043c\u0430\u0433\u0438\u044e \u0432 \u043d\u0430\u0443\u043a\u0443. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u043e\u043f\u043a\u043e\u0434 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043e\u043d \u0432\u044b\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443 \u0438 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (RIP). \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c RIP \u0432\u043d\u0443\u0442\u0440\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \/ \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439. <br \/>  \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e call \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u043a\u043e\u043c\u0430\u043d\u0434\u044b call \u044d\u0442\u043e 002A \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e Sections[&quot;.text&quot;].VirtualAddress, \u0442.\u0435. 0x1000. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, RIP \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e call \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d 102A. \u041d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f MessageBoxA \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x3068. \u0421\u0447\u0438\u0442\u0430\u0435\u043c 0x3068 \u2014 0x102A = <b>0x203E<\/b>. \u0414\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0441\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e 0x1000 + 0x0037 = 0x1037, 0x3098 \u2014 0x1037 = <b>0x2061<\/b>.<\/p>\n<p>  \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043c\u044b \u0438 \u0432\u0438\u0434\u0435\u043b\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430.<\/p>\n<pre><code class=\"plaintext\">0024\tcall QWORD PTR [rip + 0x203E] 002A\tmov rcx, 0x0 0031\tcall QWORD PTR [rip + 0x2061] 0037\tadd rsp, 0x20 <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u043d\u0430\u0448 \u0444\u0430\u0439\u043b \u0441\u0435\u043a\u0446\u0438\u044e .text, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0443\u043b\u044f\u043c\u0438 \u0434\u043e \u0430\u0434\u0440\u0435\u0441\u0430 0x400:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(5) RAW .text section (Offset 0x00000200-0x00000400)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">55 48 89 E5 48 83 EC 20  48 C7 C1 00 00 00 00 48 C7 C2 00 20 40 00 49 C7  C0 0D 20 40 00 49 C7 C1 40 00 00 00 FF 15 3E 20  00 00 48 C7 C1 00 00 00 00 FF 15 61 20 00 00 48  83 C4 20 5D C3 00 00 00 ........ 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 <\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u0425\u043e\u0447\u0435\u0442\u0441\u044f \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0447\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 4 \u0441\u0442\u0440\u043e\u043a\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0432\u0435\u0441\u044c \u043d\u0430\u0448 \u043a\u043e\u0434 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435. \u0410 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0443\u043b\u0438 \u0447\u0442\u043e \u0431\u044b \u043d\u0430\u0431\u0440\u0430\u0442\u044c FileAlignment. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0439 \u043d\u0443\u043b\u044f\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 0x000003F0, \u043f\u043e\u0441\u043b\u0435 \u0438\u0434\u0435\u0442 0x00000400, \u043d\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u043a. \u0418\u0442\u043e\u0433\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 \u0443\u0436\u0435 1024 \u0431\u0430\u0439\u0442\u0430, \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u0435\u0441\u0438\u0442 \u0443\u0436\u0435 \u0446\u0435\u043b\u044b\u0439 \u041a\u0438\u043b\u043e\u0431\u0430\u0439\u0442! \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438 \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p><\/blockquote>\n<p> <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cv\/is\/vo\/cvisvow7zibzutnlszki7nxnwy4.png\"\/>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h2>\u0421\u0435\u043a\u0446\u0438\u044f .rdata<\/h2>\n<p>  \u042d\u0442\u043e, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f. \u041c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0441\u044e\u0434\u0430 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u0431\u0438\u0432 \u043d\u0443\u043b\u044f\u043c\u0438 \u0434\u043e 512 \u0431\u0430\u0439\u0442.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">.rdata<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">0400\t&quot;Hello World!\\0&quot; 040D\t&quot;MyApp\\0&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(6) RAW .rdata section (Offset 0x00000400-0x00000600)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">48 65 6C 6C 6F 20 57 6F  72 6C 64 21 00 4D 79 41 70 70 00 00 00 00 00 00  00 00 00 00 00 00 00 00 ........ 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h2>\u0421\u0435\u043a\u0446\u0438\u044f .idata<\/h2>\n<p>  \u041d\u0443 \u0432\u043e\u0442 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0435\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u043d\u0430\u0441 \u0436\u0434\u0435\u0442 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 IMAGE_IMPORT_DESCRIPTOR<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 IMAGE_IMPORT_DESCRIPTOR<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"rust\">Struct IMAGE_IMPORT_DESCRIPTOR { \tu32 OriginalFirstThunk (INT) \tu32 TimeDateStamp \tu32 ForwarderChain \tu32 Name \tu32 FirstThunk (IAT) } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 IMAGE_IMPORT_DESCRIPTOR<\/b>                         <\/p>\n<div class=\"spoiler_text\">OriginalFirstThunk \u2014 \u0410\u0434\u0440\u0435\u0441 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u043c\u0435\u043d \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043e\u043d \u0436\u0435 Import Name Table (INT)<br \/>  Name \u2014 \u0410\u0434\u0440\u0435\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<br \/>  FirstThunk \u2014 \u0410\u0434\u0440\u0435\u0441 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043e\u043d \u0436\u0435 Import Address Table (IAT)  <\/div>\n<\/p><\/div>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c 2 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c:<\/p>\n<pre><code class=\"plaintext\">func MessageBoxA(u32 handle, PChar text, PChar caption, u32 type) i32 ['user32.dll'] func ExitProcess(u32 code) ['kernel32.dll'] <\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(7) RAW IMAGE_IMPORT_DESCRIPTOR (Offset 0x00000600)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">58 30 00 00 00 00 00 00  00 00 00 00 3C 30 00 00 68 30 00 00 88 30 00 00  00 00 00 00 00 00 00 00 48 30 00 00 98 30 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0423 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 2 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0430 \u0447\u0442\u043e \u0431\u044b \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u0438\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0442\u044c. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0443\u043b\u044f\u043c\u0438.<\/p>\n<pre><code class=\"plaintext\"> INT\t| Time\t | Forward  | Name   | IAT --------+--------+----------+--------+-------- 0x3058\t| 0x0    | 0x0      | 0x303C | 0x3068 0x3088\t| 0x0    | 0x0      | 0x3048 | 0x3098 0x0000\t| 0x0    | 0x0      | 0x0000 | 0x0000 <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0438\u043c\u0435\u043d\u0430 \u0441\u0430\u043c\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0418\u043c\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">063\u0421\t&quot;user32.dll\\0&quot; 0648\t&quot;kernel32.dll\\0&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(8) RAW \u0438\u043c\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (Offset 0x0000063\u0421)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">                                     75 73 65 72 33 32 2E 64 6C 6C 00 00  6B 65 72 6E 65 6C 33 32 2E 64 6C 6C 00 00 00 00 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 user32:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(9) RAW user32.dll (Offset 0x00000658)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">                         78 30 00 00 00 00 00 00  00 00 00 00 00 00 00 00  78 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 4D 65 73 73 61 67  65 42 6F 78 41 00 00 00 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u043e\u043b\u0435 Name \u043f\u0435\u0440\u0432\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 0x303C \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0443\u0442\u044c \u0432\u044b\u0448\u0435, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c \u0447\u0442\u043e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x063C \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u00abuser32.dll\\0\u00bb. <\/p>\n<p>  \u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430, \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0447\u0442\u043e \u0441\u0435\u043a\u0446\u0438\u044f .idata \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u0432 \u0444\u0430\u0439\u043b\u0435 0x0600, \u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 0x3000. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 INT \u0440\u0430\u0432\u0435\u043d 3058, \u0437\u043d\u0430\u0447\u0438\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 0x0658. \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0432\u0438\u0434\u0438\u043c \u0437\u0430\u043f\u0438\u0441\u044c 0x3078 \u0438 \u0432\u0442\u043e\u0440\u0443\u044e \u043d\u0443\u043b\u0435\u0432\u0443\u044e. \u041e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0435\u0446 \u0441\u043f\u0438\u0441\u043a\u0430. 3078 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 0x0678 \u044d\u0442\u043e RAW-\u0441\u0442\u0440\u043e\u043a\u0430 <\/p>\n<p>  \u00ab00 00 4D 65 73 73 61 67 65 42 6F 78 41 00 00 00\u00bb<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0435 2 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430\u0441 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u0438 \u0440\u0430\u0432\u043d\u044b \u043d\u0443\u043b\u044e. \u0410 \u0432\u043e\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438\u0434\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u043d\u0443\u043b\u0435\u043c. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0451 \u043a\u0430\u043a &quot;\\0\\0MessageBoxA\\0&quot;.<\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c IAT \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 IAT \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0435\u0435 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 0x3068 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 0x0668 \u0432 \u0444\u0430\u0439\u043b\u0435. \u0422\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 MessageBoxA \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u0437\u043e\u0432 call \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>  \u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043f\u0430\u0437\u043b\u0430, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 kernel32. \u0418 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u0431\u0438\u0442\u044c \u043d\u0443\u043b\u044f\u043c\u0438 \u0434\u043e SectionAlignment.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">(10) RAW kernel32.dll (Offset 0x00000688-0x00000800)<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">                         A8 30 00 00 00 00 00 00  00 00 00 00 00 00 00 00  A8 30 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 45 78 69 74 50 72  6F 63 65 73 73 00 00 00  00 00 00 00 00 00 00 00  ........ 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ye\/jq\/ti\/yejqtiv32kkvhucn0xoenukgmhu.png\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e Far \u0441\u043c\u043e\u0433 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u044b \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rh\/jr\/xy\/rhjrxy882ctr-ot2f2edmomvb3m.png\"\/><\/p>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u0412\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u043e\u0441\u044c, \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448 \u0444\u0430\u0439\u043b \u0433\u043e\u0442\u043e\u0432 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443.<br \/>  \u0411\u0430\u0440\u0430\u0431\u0430\u043d\u043d\u0430\u044f \u0434\u0440\u043e\u0431\u044c\u2026<\/p>\n<h2>\u0424\u0438\u043d\u0430\u043b<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hv\/bc\/zm\/hvbczmi7_0tr9ajuhb_iysitmp0.png\"\/><\/p>\n<p>  \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c!<\/p>\n<p>  \u0424\u0430\u0439\u043b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 2 \u041a\u0431 = \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 512 \u0431\u0430\u0439\u0442 + 3 \u0441\u0435\u043a\u0446\u0438\u0438 \u043f\u043e 512 \u0431\u0430\u0439\u0442. <\/p>\n<p>  \u0427\u0438\u0441\u043b\u043e 512(0x200) \u043d\u0435 \u0447\u0442\u043e \u0438\u043d\u043e\u0435 \u043a\u0430\u043a FileAlignment \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:<br \/>  \u0415\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0447\u0443\u0442\u044c \u0433\u043b\u0443\u0431\u0436\u0435, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0434\u043f\u0438\u0441\u044c \u00abHello World!\u00bb \u043d\u0430 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0434\u0440\u0443\u0433\u043e\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0441\u0435\u043a\u0446\u0438\u044f .text). \u0410\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 0x00402000, \u043d\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442 00 20 40 00.<\/p>\n<p>  \u0418\u043b\u0438 \u043a\u0432\u0435\u0441\u0442 \u0447\u0443\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043a\u043e\u0434 \u0432\u044b\u0437\u043e\u0432 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e\u0433\u043e MessageBox. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0432\u044b\u0437\u043e\u0432, \u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043d\u0435\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 (0x3068 \u2014 RIP).<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043a\u043e\u043c\u043a\u0430\u043d\u043d\u043e\u0439, \u0435\u0439 \u0431\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 3 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439: \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0439 exe \u0437\u043d\u0430\u0447\u0438\u0442 \u043c\u043e\u0439 \u0442\u0440\u0443\u0434 \u0431\u044b\u043b \u043d\u0435 \u043d\u0430\u043f\u0440\u0430\u0441\u0435\u043d.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e \u0432 \u0441\u043a\u043e\u0440\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c ELF \u0444\u0430\u0439\u043b \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f?)<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<\/p>\n<ul>\n<li> <a href=\"https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/articles\/intel-sdm.html\">Intel 64 and IA-32 Architectures Software Developer\u2019s Manuals <\/a><br \/>  \u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.  <\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/post\/266831\/\">PE (Portable Executable): \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0440\u0435\u0433\u0430\u0445<\/a> <br \/>  \u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 exe \u0444\u0430\u0439\u043b\u043e\u0432.<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\">\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442 <\/a><br \/>  \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u044e\u0431\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c, \u0442\u0438\u043f\u0430\u043c \u0438 \u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/li>\n<\/ul>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/515058\/\"> https:\/\/habr.com\/ru\/post\/515058\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/515058\/\">\u0421\u0430\u043c\u043e\u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0441\u0438\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u0435\u043c, \u0447\u0435\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. <\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0441\u043e\u0431\u0440\u0430\u0442\u044c Hello World, \u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043f\u0440\u043e \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0430 \u043f\u0440\u043e \u0442\u0430\u043a\u0443\u044e \u0432\u0430\u0436\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 exe \u0444\u0430\u0439\u043b\u0430.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-308454","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/308454","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=308454"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/308454\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=308454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=308454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=308454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}