{"id":325970,"date":"2021-07-05T09:00:32","date_gmt":"2021-07-05T09:00:32","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=325970"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=325970","title":{"rendered":"\u0412\u0441\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u043e\u043a\u0430\u0436\u0435\u0442: \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 Windows x64, \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 VMProtect"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fab\/1fd\/9a2\/fab1fd9a27ea1e0cc4376d2bd75390cb.jpg\" width=\"1680\" height=\"900\"><figcaption><\/figcaption><\/figure>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0437\u0430\u0449\u0438\u0449\u0430\u044e\u0449\u0438\u0445 \u0441\u0435\u0431\u044f \u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u2014 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0432\u0438\u0440\u0443\u0441\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u0438 \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043e\u0432 \u0438\u043b\u0438 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443 \u0435\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437. \u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u043d\u043e \u0438 \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0412\u041f\u041e \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0437\u0430\u0449\u0438\u0442\u044b. \u0412 \u043e\u0431\u0449\u0435\u043c, \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0431\u043e\u0440\u044c\u0431\u0430. \u0417\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442 \u0438 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438, \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438. \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0438\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0432\u0437\u043b\u043e\u043c\u0430.<\/p>\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440 <a href=\"https:\/\/vmpsoft.com\/\">VMProtect<\/a>. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u0438\u0440\u0443\u0441\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0438  \u0441\u0442\u0430\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u044b, \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 &#171;\u0447\u0435\u0440\u043d\u044b\u0435&#187; \u0438 &#171;\u0441\u0435\u0440\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438&#187; \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437\u0446\u044b \u043f\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0432\u043e\u043b\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f VMProtect \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u041f\u041e \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u041d\u043e \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u0441\u0442\u043e\u044f\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435: \u0435\u0441\u0442\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e \u0434\u0435\u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 VMProtect. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0438\u0437 \u043d\u0438\u0445 \u2014 <a href=\"https:\/\/github.com\/vtil-project\">VTIL Project<\/a> \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f Can B\u00f6l\u00fck. \u041d\u043e \u0438 \u043e\u043d\u043e, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439.<\/p>\n<p>\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u043e\u043b\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f VMProtect \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0432\u0438\u0440\u0443\u0441\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0441\u0432\u043e\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 Windows x64. \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u043b\u043e\u0432\u043d\u0430\u044f \u0431\u043e\u043b\u044c \u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0445 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432. \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0437, <strong>\u0410\u043d\u0434\u0440\u0435\u0439 \u0416\u0434\u0430\u043d\u043e\u0432,<\/strong> <strong>\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u043f\u0440\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443 \u043a\u0438\u0431\u0435\u0440\u0443\u0433\u0440\u043e\u0437 Group-IB<\/strong>, \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u044d\u0442\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<blockquote>\n<p><strong>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f:<\/strong><\/p>\n<p>1. The Interactive Disassembler (IDA) 7.0 \u0438 \u0432\u044b\u0448\u0435<\/p>\n<p>2. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u2014  \u0433\u043e\u0441\u0442\u0435\u0432\u0430\u044f \u041e\u0421 Windows 7 x64 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435<\/p>\n<p>3. Python<\/p>\n<p>4. Volatility (\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <a href=\"https:\/\/github.com\/volatilityfoundation\/volatility3\">Volatility 3) <\/a><\/p>\n<p>5. <a href=\"https:\/\/www.unicorn-engine.org\/download\/\">Unicorn<\/a><\/p>\n<\/blockquote>\n<h2>\u042d\u0442\u0430\u043f 1: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043c\u043f\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430<\/h2>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 sc.exe:  <\/p>\n<p><code>sc create &lt;svc_name&gt; binpath= &lt;driver_path&gt; type= kernel start= demand<\/code><\/p>\n<p>\u0418\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b <a href=\"https:\/\/github.com\/GitMirar\/DriverLoader\">DriverLoader<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e NtLoadDriver:<\/p>\n<p><code>DriverLoader_x86-64.exe &lt;driver_path&gt; &lt;svc_name&gt;<\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u2014 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 dseo013b.exe (<a href=\"https:\/\/www.ngohq.com\/driver-signature-enforcement-overrider.html\">Driver Signature Enforcement Overrider<\/a>).<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u043f\u0430\u043c\u044f\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, VMware) \u043f\u0440\u0438 \u0441\u043d\u0438\u043c\u043a\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0438 \u0441\u043d\u0438\u043c\u043a\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Volatility \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430 \u0438\u0437 \u0434\u0430\u043c\u043f\u0430:<\/p>\n<p><code>vol -f &lt;dump_path&gt; -o &lt;dest_dir&gt; Modules --dump<\/code><\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0441\u0440\u0435\u0434\u0438 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0438 \u043d\u0430\u0448 \u0434\u0440\u0430\u0439\u0432\u0435\u0440, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u2014 \u043e\u043d\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430\u043c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>\u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0430\u043c\u043f \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430. \u042d\u0442\u043e \u043d\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e VMProtect \u2014 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0442\u0435\u0440\u044f\u043d\u044b \u2014 \u043d\u043e \u0435\u0433\u043e \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 IDA \u0438 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0435\u0440\u0435.<\/p>\n<h2>\u042d\u0442\u0430\u043f 2. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/60b\/fe9\/c09\/60bfe9c09533794d0e6848a2803c0e14.png\" width=\"817\" height=\"301\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u0434\u0430\u043c\u043f\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u044b\u0437\u043e\u0432\u044b, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 <code>call&nbsp;sub_F88004CFEFE9<\/code>. \u0422\u0435\u043b\u043e \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 <code>.vmp0<\/code> \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0438 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u044f\u043c\u0438 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c VMProtect \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 &#171;\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u043c&#187; \u0444\u0430\u0439\u043b\u0435. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0437\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p><code>FF 15 08 2A 00 00        call&nbsp; &nbsp; cs:LoadLibraryA<\/code><\/p>\n<p>VMProtect \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0437\u043e\u0432:<\/p>\n<p><code>E8 08 72 03 00call&nbsp; &nbsp; vmp_LoadLibraryA<\/code><\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>vmp_LoadLibraryA<\/code> \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>LoadLibraryA<\/code> \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041d\u043e, \u043a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u0442\u0430\u043a\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0432 IDA. \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/273\/c69\/5eb\/273c695ebf072490fb88584537621f7e.png\" width=\"547\" height=\"333\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0442\u0430\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 IDAPython \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 <code>.vmp0<\/code>, \u0432\u044b\u0437\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u0432\u043d\u0435, \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438.<\/p>\n<pre><code class=\"python\">def get_vmp_import_func_list():     segm = ida_segment.get_segm_by_name('.vmp0')     if (segm is None) or (segm.sclass != SEG_CODE):         return None      func_list = []      ea = segm.start_ea     while True:         func = ida_funcs.get_next_func(ea)         if (func is None):             break          ea = func.start_ea         if (ea &gt;= segm.end_ea):             break          xref = ida_xref.get_first_fcref_to(ea)         if (xref == ida_idaapi.BADADDR):             continue          while (xref != ida_idaapi.BADADDR):             if (xref &gt;= segm.start_ea) and (xref &lt; segm.end_ea):                 break             xref = ida_xref.get_next_fcref_to(ea, xref)         else:             func_list.append(ea)      return func_list<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a RVA (Relative Virtual Address) \u0442\u0430\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u0430\u0439\u043b\u0435:<\/p>\n<p><code>0002C130<\/code><\/p>\n<p><code>0002C29D<\/code><\/p>\n<p><code>0002C449<\/code><\/p>\n<p><code>0002C51C<\/code><\/p>\n<p><code>0002C58E<\/code><\/p>\n<p><code>0002C5D3<\/code><\/p>\n<p><code>0002C65E<\/code><\/p>\n<p><code>0002C668<\/code><\/p>\n<p><code>\u2026<\/code><\/p>\n<h2>\u042d\u0442\u0430\u043f 3. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \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<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439,&nbsp;\u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u0434\u043e\u043c \u0441\u0430\u043c\u0438\u0445 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 VMProtect. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043a\u0430\u043a shellcode \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 x64dbg \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 shellcode \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0432\u043e\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0430\u043c\u044f\u0442\u044c (VirtualAlloc), \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0442\u0443\u0434\u0430 shellcode \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u0434\u0430\u043c\u043f\u0430, \u0433\u0434\u0435 RVA \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0434\u0430\u043c\u043f \u043a\u0430\u043a PE-\u0444\u0430\u0439\u043b, \u043f\u043e \u0441\u0435\u043a\u0446\u0438\u044f\u043c.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a MZ \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u0430 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u043d\u0430 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u043a\u043e\u0434 \u0432\u044b\u0437\u043e\u0432\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0411\u0443\u0434\u0435\u043c \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0435\u0435 \u043a\u043e\u0434 \u0438 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e x64dbgpy \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Python \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0441\u043f\u0438\u0441\u043e\u043a RVA \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0430 \u043f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0443\u0436\u0435 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u043f\u0438\u0441\u043e\u043a RVA \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0438\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \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:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C130<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C29D<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C449<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002BEECC0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C51C<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C58E<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002D1FAC4<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C5D3<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A400<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C65E<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A48330<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C668<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A97718<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>...<\/code><\/p>\n<\/td>\n<td>\n<p><code>...<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0435\u043a\u0441\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c x64dbgpy:<\/p>\n<pre><code class=\"python\">def get_original_import_addr(vmp_import_addr):     start_addr = GetRIP()     save_rsp = GetRSP()      # call $+vmp_import_addr     WriteByte(start_addr, 0xE8)     WriteDword(start_addr + 1, vmp_import_addr - 5)      orig_import_addr = None      for _ in range(MAX_STEPS):         StepIn()         rip = GetRIP()         inst = ReadByte(rip)         # retn ?         if (inst == 0xC3) or (inst == 0xC2):             rsp = GetRSP()             orig_import_addr = ReadQword(rsp)             break      SetRIP(start_addr)     SetRSP(save_rsp)      return orig_import_addr<\/code><\/pre>\n<p>\u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043c\u043f\u0430 \u043a\u0430\u043a shellcode.<\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Python \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 Unicorn:<\/p>\n<pre><code class=\"python\"># callback for tracing instructions def hook_code(uc, address, size, orig_addr_wrapper):      inst = uc.mem_read(address, 1)      # retn ?     if (inst[0] != 0xC3) and (inst[0] != 0xC2):         return      esp = uc.reg_read(UC_X86_REG_ESP)      addr_size = 0     if (UC_MODE == UC_MODE_64):         addr_size = 8         fmt = '&lt;Q'     elif (UC_MODE == UC_MODE_32):         addr_size = 4         fmt = '&lt;L'      if (addr_size != 0):         addr = uc.mem_read(esp, addr_size)         orig_addr_wrapper[0], = struct.unpack(fmt, addr)      uc.emu_stop()   def get_orig_import_func_list(dump_data, vmp_func_list):      orig_addr_wrapper = [0]      image_size = (len(dump_data) + 0xFFFF) &amp; ~0xFFFF      try:         # Initialize emulator         mu = Uc(UC_ARCH_X86, UC_MODE)          # tracing all instructions with customized callback         mu.hook_add(UC_HOOK_CODE, hook_code, orig_addr_wrapper)          # map memory for this emulation         mu.mem_map(BASE_ADDR, image_size + STACK_SIZE)          # write machine code to be emulated to memory         mu.mem_write(BASE_ADDR, dump_data)      except UcError as e:         print('Unicorn Engine Error: %s' % e)         return None      orig_func_list = []      for vmp_func_rva in vmp_func_list:          try:             # write vmp function call code             call_code = b'\\xE8' + struct.pack('&lt;L', vmp_func_rva - 5)             mu.mem_write(BASE_ADDR, call_code)              # initialize stack             mu.reg_write(UC_X86_REG_ESP,                          BASE_ADDR + image_size + STACK_SIZE \/\/ 2)              orig_addr_wrapper[0] = 0              # emulate machine code in infinite time             mu.emu_start(BASE_ADDR, BASE_ADDR + len(dump_data))              if (orig_addr_wrapper[0] != 0):                 orig_func_list.append((vmp_func_rva,                                                            orig_addr_wrapper[0]))          except UcError as e:             print('Unicorn Engine Error: %s' % e)      return orig_func_list<\/code><\/pre>\n<h2>\u042d\u0442\u0430\u043f 4. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0438\u043c\u0435\u043d \u0432 IDA<\/h2>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430: \u043e\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Python \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014D2D50<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdjustBufferLength<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014AD370<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdjustNetBufferCurrentMdl<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014AD240<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdvanceNetBufferDataStart<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014E9910<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdvanceNetBufferListDataStart<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014B65C0<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAllocateBuffer<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014B6630<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAllocateBufferPool<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>...<\/code><\/p>\n<\/td>\n<td>\n<p><code>...<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0432 \u0444\u043e\u0440\u043c\u0435 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u044d\u0442\u0430\u043f\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>F880014D2D50<\/code> \u0438 <code>FFFFF880014D2D50<\/code>, \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u0430\u043d\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u044b \u0430\u0434\u0440\u0435\u0441\u0430, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 47-\u0439 \u0431\u0438\u0442 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 48-63 \u0431\u0438\u0442\u044b (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u043a\u0430). \u041f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043d\u0430\u0434\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0444\u0430\u043a\u0442 \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043a\u0430\u043d\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 Python \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f IDA:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p><code>0002C130<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>KeReleaseSpinLock<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C29D<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>KeReleaseSpinLock<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C449<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>ExFreePoolWithTag<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C51C<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>KeReleaseSpinLock<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C58E<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>PsLookupProcessByProcessId<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C5D3<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>KeAcquireSpinLockRaiseToDpc<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C65E<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>IofCompleteRequest<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>0002C668<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>_strnicmp<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><code>...<\/code><\/p>\n<\/td>\n<td>\n<p><code>...<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0410 \u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 IDAPython \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u044d\u0442\u0438\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0438\u043c\u0435\u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 IDA.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b\u0439 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430.<\/p>\n<h4><\/h4>\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\/company\/group-ib\/blog\/564738\/\"> https:\/\/habr.com\/ru\/company\/group-ib\/blog\/564738\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0437\u0430\u0449\u0438\u0449\u0430\u044e\u0449\u0438\u0445 \u0441\u0435\u0431\u044f \u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u2014 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0432\u0438\u0440\u0443\u0441\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u0438 \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043e\u0432 \u0438\u043b\u0438 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443 \u0435\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437. \u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u043d\u043e \u0438 \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0412\u041f\u041e \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0437\u0430\u0449\u0438\u0442\u044b. \u0412 \u043e\u0431\u0449\u0435\u043c, \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0431\u043e\u0440\u044c\u0431\u0430. \u0417\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442 \u0438 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438, \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438. \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0438\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0432\u0437\u043b\u043e\u043c\u0430.<\/p>\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440 <a href=\"https:\/\/vmpsoft.com\/\">VMProtect<\/a>. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u0438\u0440\u0443\u0441\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0438  \u0441\u0442\u0430\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u044b, \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 &#171;\u0447\u0435\u0440\u043d\u044b\u0435&#187; \u0438 &#171;\u0441\u0435\u0440\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438&#187; \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437\u0446\u044b \u043f\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0432\u043e\u043b\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f VMProtect \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u041f\u041e \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u041d\u043e \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u0441\u0442\u043e\u044f\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435: \u0435\u0441\u0442\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e \u0434\u0435\u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 VMProtect. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0438\u0437 \u043d\u0438\u0445 \u2014 <a href=\"https:\/\/github.com\/vtil-project\">VTIL Project<\/a> \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f Can B\u00f6l\u00fck. \u041d\u043e \u0438 \u043e\u043d\u043e, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439.<\/p>\n<p>\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u043e\u043b\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f VMProtect \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0432\u0438\u0440\u0443\u0441\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0441\u0432\u043e\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 Windows x64. \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u043b\u043e\u0432\u043d\u0430\u044f \u0431\u043e\u043b\u044c \u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0445 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432. \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0437, <strong>\u0410\u043d\u0434\u0440\u0435\u0439 \u0416\u0434\u0430\u043d\u043e\u0432,<\/strong> <strong>\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u043f\u0440\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443 \u043a\u0438\u0431\u0435\u0440\u0443\u0433\u0440\u043e\u0437 Group-IB<\/strong>, \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u044d\u0442\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<blockquote>\n<p><strong>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f:<\/strong><\/p>\n<p>1. The Interactive Disassembler (IDA) 7.0 \u0438 \u0432\u044b\u0448\u0435<\/p>\n<p>2. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u2014  \u0433\u043e\u0441\u0442\u0435\u0432\u0430\u044f \u041e\u0421 Windows 7 x64 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435<\/p>\n<p>3. Python<\/p>\n<p>4. Volatility (\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <a href=\"https:\/\/github.com\/volatilityfoundation\/volatility3\">Volatility 3) <\/a><\/p>\n<p>5. <a href=\"https:\/\/www.unicorn-engine.org\/download\/\">Unicorn<\/a><\/p>\n<\/blockquote>\n<h2>\u042d\u0442\u0430\u043f 1: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043c\u043f\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430<\/h2>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 sc.exe:  <\/p>\n<p><code>sc create &lt;svc_name&gt; binpath= &lt;driver_path&gt; type= kernel start= demand<\/code><\/p>\n<p>\u0418\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b <a href=\"https:\/\/github.com\/GitMirar\/DriverLoader\">DriverLoader<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e NtLoadDriver:<\/p>\n<p><code>DriverLoader_x86-64.exe &lt;driver_path&gt; &lt;svc_name&gt;<\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u2014 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 dseo013b.exe (<a href=\"https:\/\/www.ngohq.com\/driver-signature-enforcement-overrider.html\">Driver Signature Enforcement Overrider<\/a>).<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u043f\u0430\u043c\u044f\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, VMware) \u043f\u0440\u0438 \u0441\u043d\u0438\u043c\u043a\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0438 \u0441\u043d\u0438\u043c\u043a\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Volatility \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430 \u0438\u0437 \u0434\u0430\u043c\u043f\u0430:<\/p>\n<p><code>vol -f &lt;dump_path&gt; -o &lt;dest_dir&gt; Modules --dump<\/code><\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0441\u0440\u0435\u0434\u0438 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0438 \u043d\u0430\u0448 \u0434\u0440\u0430\u0439\u0432\u0435\u0440, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u2014 \u043e\u043d\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430\u043c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>\u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0430\u043c\u043f \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430. \u042d\u0442\u043e \u043d\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e VMProtect \u2014 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0442\u0435\u0440\u044f\u043d\u044b \u2014 \u043d\u043e \u0435\u0433\u043e \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 IDA \u0438 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0435\u0440\u0435.<\/p>\n<h2>\u042d\u0442\u0430\u043f 2. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/h2>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u0434\u0430\u043c\u043f\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u044b\u0437\u043e\u0432\u044b, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 <code>call&nbsp;sub_F88004CFEFE9<\/code>. \u0422\u0435\u043b\u043e \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 <code>.vmp0<\/code> \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0438 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u044f\u043c\u0438 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c VMProtect \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 &#171;\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u043c&#187; \u0444\u0430\u0439\u043b\u0435. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0437\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p><code>FF 15 08 2A 00 00        call&nbsp; &nbsp; cs:LoadLibraryA<\/code><\/p>\n<p>VMProtect \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0437\u043e\u0432:<\/p>\n<p><code>E8 08 72 03 00call&nbsp; &nbsp; vmp_LoadLibraryA<\/code><\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>vmp_LoadLibraryA<\/code> \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>LoadLibraryA<\/code> \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041d\u043e, \u043a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u0442\u0430\u043a\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0432 IDA. \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0442\u0430\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 IDAPython \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 <code>.vmp0<\/code>, \u0432\u044b\u0437\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u0432\u043d\u0435, \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438.<\/p>\n<pre><code class=\"python\">def get_vmp_import_func_list():     segm = ida_segment.get_segm_by_name('.vmp0')     if (segm is None) or (segm.sclass != SEG_CODE):         return None      func_list = []      ea = segm.start_ea     while True:         func = ida_funcs.get_next_func(ea)         if (func is None):             break          ea = func.start_ea         if (ea &gt;= segm.end_ea):             break          xref = ida_xref.get_first_fcref_to(ea)         if (xref == ida_idaapi.BADADDR):             continue          while (xref != ida_idaapi.BADADDR):             if (xref &gt;= segm.start_ea) and (xref &lt; segm.end_ea):                 break             xref = ida_xref.get_next_fcref_to(ea, xref)         else:             func_list.append(ea)      return func_list<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a RVA (Relative Virtual Address) \u0442\u0430\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u0430\u0439\u043b\u0435:<\/p>\n<p><code>0002C130<\/code><\/p>\n<p><code>0002C29D<\/code><\/p>\n<p><code>0002C449<\/code><\/p>\n<p><code>0002C51C<\/code><\/p>\n<p><code>0002C58E<\/code><\/p>\n<p><code>0002C5D3<\/code><\/p>\n<p><code>0002C65E<\/code><\/p>\n<p><code>0002C668<\/code><\/p>\n<p><code>\u2026<\/code><\/p>\n<h2>\u042d\u0442\u0430\u043f 3. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \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<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439,&nbsp;\u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u0434\u043e\u043c \u0441\u0430\u043c\u0438\u0445 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 VMProtect. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u043c\u043f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043a\u0430\u043a shellcode \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 x64dbg \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 shellcode \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0432\u043e\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0430\u043c\u044f\u0442\u044c (VirtualAlloc), \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0442\u0443\u0434\u0430 shellcode \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u0434\u0430\u043c\u043f\u0430, \u0433\u0434\u0435 RVA \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0434\u0430\u043c\u043f \u043a\u0430\u043a PE-\u0444\u0430\u0439\u043b, \u043f\u043e \u0441\u0435\u043a\u0446\u0438\u044f\u043c.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a MZ \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u0430 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u043d\u0430 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u043a\u043e\u0434 \u0432\u044b\u0437\u043e\u0432\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0411\u0443\u0434\u0435\u043c \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0435\u0435 \u043a\u043e\u0434 \u0438 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e x64dbgpy \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Python \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0441\u043f\u0438\u0441\u043e\u043a RVA \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0430 \u043f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0443\u0436\u0435 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u043f\u0438\u0441\u043e\u043a RVA \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0438\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \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:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C130<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C29D<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C449<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002BEECC0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C51C<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A6C0<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C58E<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002D1FAC4<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C5D3<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A4A400<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C65E<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A48330<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>0002C668<\/code>    <\/p>\n<\/td>\n<td>\n<p><code>FFFFF80002A97718<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"206\" width=\"206\">\n<p><code>...<\/code><\/p>\n<\/td>\n<td>\n<p><code>...<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0435\u043a\u0441\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c x64dbgpy:<\/p>\n<pre><code class=\"python\">def get_original_import_addr(vmp_import_addr):     start_addr = GetRIP()     save_rsp = GetRSP()      # call $+vmp_import_addr     WriteByte(start_addr, 0xE8)     WriteDword(start_addr + 1, vmp_import_addr - 5)      orig_import_addr = None      for _ in range(MAX_STEPS):         StepIn()         rip = GetRIP()         inst = ReadByte(rip)         # retn ?         if (inst == 0xC3) or (inst == 0xC2):             rsp = GetRSP()             orig_import_addr = ReadQword(rsp)             break      SetRIP(start_addr)     SetRSP(save_rsp)      return orig_import_addr<\/code><\/pre>\n<p>\u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043c\u043f\u0430 \u043a\u0430\u043a shellcode.<\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Python \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 Unicorn:<\/p>\n<pre><code class=\"python\"># callback for tracing instructions def hook_code(uc, address, size, orig_addr_wrapper):      inst = uc.mem_read(address, 1)      # retn ?     if (inst[0] != 0xC3) and (inst[0] != 0xC2):         return      esp = uc.reg_read(UC_X86_REG_ESP)      addr_size = 0     if (UC_MODE == UC_MODE_64):         addr_size = 8         fmt = '&lt;Q'     elif (UC_MODE == UC_MODE_32):         addr_size = 4         fmt = '&lt;L'      if (addr_size != 0):         addr = uc.mem_read(esp, addr_size)         orig_addr_wrapper[0], = struct.unpack(fmt, addr)      uc.emu_stop()   def get_orig_import_func_list(dump_data, vmp_func_list):      orig_addr_wrapper = [0]      image_size = (len(dump_data) + 0xFFFF) &amp; ~0xFFFF      try:         # Initialize emulator         mu = Uc(UC_ARCH_X86, UC_MODE)          # tracing all instructions with customized callback         mu.hook_add(UC_HOOK_CODE, hook_code, orig_addr_wrapper)          # map memory for this emulation         mu.mem_map(BASE_ADDR, image_size + STACK_SIZE)          # write machine code to be emulated to memory         mu.mem_write(BASE_ADDR, dump_data)      except UcError as e:         print('Unicorn Engine Error: %s' % e)         return None      orig_func_list = []      for vmp_func_rva in vmp_func_list:          try:             # write vmp function call code             call_code = b'\\xE8' + struct.pack('&lt;L', vmp_func_rva - 5)             mu.mem_write(BASE_ADDR, call_code)              # initialize stack             mu.reg_write(UC_X86_REG_ESP,                          BASE_ADDR + image_size + STACK_SIZE \/\/ 2)              orig_addr_wrapper[0] = 0              # emulate machine code in infinite time             mu.emu_start(BASE_ADDR, BASE_ADDR + len(dump_data))              if (orig_addr_wrapper[0] != 0):                 orig_func_list.append((vmp_func_rva,                                                            orig_addr_wrapper[0]))          except UcError as e:             print('Unicorn Engine Error: %s' % e)      return orig_func_list<\/code><\/pre>\n<h2>\u042d\u0442\u0430\u043f 4. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0438\u043c\u0435\u043d \u0432 IDA<\/h2>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430: \u043e\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Python \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014D2D50<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdjustBufferLength<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014AD370<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>NdisAdjustNetBufferCurrentMdl<\/code>  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"242\" width=\"242\">\n<p><code>F880014AD240<\/code>  <\/p>\n<\/td>\n<td>\n<p><code>Ndis<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-325970","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325970","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=325970"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325970\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}