{"id":177625,"date":"2013-04-23T11:26:04","date_gmt":"2013-04-23T07:26:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=177625"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=177625","title":{"rendered":"<span class=\"post_title\">\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043d\u0438\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430 \u0438 \u0443\u0445\u043e\u0434 \u043e\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 CreateFile()<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0431\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u0445\u0430\u0431\u0440\u0435, \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u0438\u043d \ud83d\ude42<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d\u0430 \u043d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u0431\u043b\u043e\u0433\u0430: <a href=\"http:\/\/alexander-bagel.blogspot.ru\/\">alexander-bagel.blogspot.ru\/<\/a><br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u043e\u0442\u0441\u044b\u043b\u043a\u0438 \u043a \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0443, \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432.<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e:<\/p>\n<p>  \u041a\u0430\u043a \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u043d\u0435\u0435, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0435\u043c\u043e\u043c, \u043e\u0441\u043b\u043e\u0436\u043d\u044f\u044e\u0449\u0438\u043c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f API \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u0438\u0439 \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f BP \u043d\u0430 API \u0444\u0443\u043d\u043a\u0446\u0438\u044e CreateFile(), \u0433\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0436\u0434\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0441 \u043f\u0443\u0442\u0435\u043c \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u043c \u0434\u043e \u043a\u043e\u0434\u0430, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u0434\u0430\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443.<\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435, \u0432\u0437\u044f\u0432 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <a href=\"http:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb896645\">Process Monitor<\/a>, \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0431\u0435\u0437\u044b\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u041c\u0430\u0440\u043a\u0430 \u0420\u0443\u0441\u0441\u0438\u043d\u043e\u0432\u0438\u0447\u0430 \u0438 \u0411\u0440\u044e\u0441\u0430 \u041a\u043e\u0433\u0441\u0432\u0435\u043b\u0430.<\/p>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/4.bp.blogspot.com\/-Yp0PFm_HVKM\/UDO06rSeiXI\/AAAAAAAAABM\/tcsycqmydZo\/s1600\/1.png\" alt=\"image\"\/><\/p>\n<p>  \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c BP \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-JRi9YZpkXf8\/UDO1AdNzBsI\/AAAAAAAAABU\/44xYACKD5-w\/s1600\/2.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u0440\u0430\u0432\u0434\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0436\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430, \u0430 \u043d\u0435 \u0441\u0430\u043c \u0430\u0434\u0440\u0435\u0441 \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u0442\u0435\u043b\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e. \u0421\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u0445\u043e\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 lpFileName \u0432 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFile() \u043d\u0430 \u043f\u0443\u0442\u044c \u043a \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0435\u043b\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b, \u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438, MD5 \u0445\u044d\u0448 \u0438\u043b\u0438 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u0430\u044f CRC32. \u0422.\u043a. \u0434\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0435\u043b\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u044b.<\/p>\n<p>  \u0421\u0442\u0430\u043b\u043e \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0442\u0430\u043a: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0445 \u0437\u0430\u0449\u0438\u0442 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0441\u043f\u0430\u0441\u0435\u0442, \u0442.\u043a. \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFile(), \u0442\u0435\u043b\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043c\u044f\u0433\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e (\u0442\u0443\u0442 \u0441 \u043d\u044e\u0430\u043d\u0441\u043e\u043c, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0435 \u0437\u0430\u0449\u0438\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0435\u0447\u044c \u043d\u0435 \u043e \u043d\u0438\u0445).<\/p>\n<p>  \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0431\u0445\u043e\u0434\u0430 CreateFile() \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u044b\u0437\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0434\u0440\u0430, \u0432 \u043e\u0431\u0445\u043e\u0434 kernel32-&gt;kernelbase-&gt;ntdll. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-0Pa4ouW5oZE\/UDO7q5MgEAI\/AAAAAAAAABk\/fFjxxbeVQWQ\/s1600\/3.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u0440\u0438 \u043f\u0440\u044f\u043c\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u0443\u0436\u0435 \u043d\u0435 \u0438\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 BP \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u0431\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442.\u043a. \u0442\u0430\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442. \u0414\u0430, \u0443 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u043d\u043e \u043d\u044e\u0430\u043d\u0441 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u043b\u043a\u043e\u0432\u043e \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u043e\u0434 \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 \u043a\u043e\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0432\u044b\u0437\u043e\u0432\u0430 \u0435\u0449\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0441 \u0446\u0435\u043b\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 (delphi7 + Windows 7 32\u0431\u0438\u0442):<\/p>\n<pre><code class=\"cpp\">hFile := CreateFile(PChar(ParamStr(0)), GENERIC_READ,     FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,     FILE_ATTRIBUTE_NORMAL, 0); <\/code><\/pre>\n<p>  1. \u041f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0430<br \/>  2. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFileA() \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 kernel32.dll<br \/>  3. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFileW() \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 kernel32.dll<br \/>  4. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFileW() \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 KernelBase.dll <br \/>  5. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 ZwCreateFile() \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 ntdll.dll<br \/>  6. \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u044f\u0434\u0440\u043e<\/p>\n<p>  \u041c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u0439\u0442\u0438 \u043e\u0442 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u044f\u0442\u0438 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0443\u043d\u043a\u0442 \u21166.<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 ZwCreateFile \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 ntdll.dll, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043b\u0438\u043a\u0431\u0435\u0437 \ud83d\ude42<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e ZwCreateFile \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043e\u043b\u044c\u0446\u0430 (UserMode) \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438.<br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 MOV.<\/p>\n<p>  Windows Vista \u2014 32 \u0431\u0438\u0442\u0430 (6.0.6002.18005)  <\/p>\n<pre><code class=\"delphi\">.text:77F343D4                                         public ZwCreateFile .text:77F343D4                         ZwCreateFile    proc near .text:77F343D4 B8 3C 00 00 00                          mov     eax, 3Ch .text:77F343D9 BA 00 03 FE 7F                          mov     edx, 7FFE0300h .text:77F343DE FF 12                                   call    dword ptr [edx] .text:77F343E0 C2 2C 00                                retn    2Ch .text:77F343E0                         ZwCreateFile    endp <\/code><\/pre>\n<p>  Windows 7 \u2014 32 \u0431\u0438\u0442\u0430 (6.1.7601.17725)  <\/p>\n<pre><code class=\"delphi\">.text:77F055C8                                         public ZwCreateFile .text:77F055C8                         ZwCreateFile    proc near .text:77F055C8 B8 42 00 00 00                          mov     eax, 42h .text:77F055CD BA 00 03 FE 7F                          mov     edx, 7FFE0300h .text:77F055D2 FF 12                                   call    dword ptr [edx] .text:77F055D4 C2 2C 00                                retn    2Ch .text:77F055D4                         ZwCreateFile    endp  <\/code><\/pre>\n<p>  Windows 8 \u2014 32 \u0431\u0438\u0442\u0430 (6.2.8400.0)  <\/p>\n<pre><code class=\"delphi\">.text:6A21629C                                         public ZwCreateFile .text:6A21629C                         ZwCreateFile    proc near .text:6A21629C B8 64 01 00 00                          mov     eax, 164h .text:6A2162A1 E8 03 00 00 00                          call    sub_6A2162A9 .text:6A2162A6 C2 2C 00                                retn    2Ch .text:6A2162A6                         ZwCreateFile    endp <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435. \u041d\u0430 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u044d\u0442\u043e \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 EAX \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0435\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 \u043d\u0435\u043a\u043e\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f KiFastSystemCall \u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c (\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u041e\u0421):<\/p>\n<pre><code class=\"cpp\">mov edx, esp sysenter ret <\/code><\/pre>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e SYSENTER \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432 INT 0x2E, \u043d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<br \/>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434 64-\u0431\u0438\u0442\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438:<\/p>\n<p>  Windows 8 \u2014 64 \u0431\u0438\u0442\u0430, 32-\u0431\u0438\u0442\u043d\u0430\u044f ntdll (6.2.8400.0)  <\/p>\n<pre><code class=\"delphi\">.text:6B2BF470                                         public ZwCreateFile .text:6B2BF470                         ZwCreateFile    proc near .text:6B2BF470 B8 53 00 00 00                          mov     eax, 53h .text:6B2BF475 64 FF 15 C0 00 00 00                    call    large dword ptr fs:0C0h .text:6B2BF47C C2 2C 00                                retn    2Ch .text:6B2BF47C                         ZwCreateFile    endp <\/code><\/pre>\n<p>  \u0422.\u043a. \u043a\u043e\u0434 \u0443 \u043d\u0430\u0441 32-\u0431\u0438\u0442\u043d\u044b\u0439, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 64-\u0431\u0438\u0442\u043d\u0430\u044f, \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u044b\u0437\u043e\u0432 \u0448\u043b\u044e\u0437\u0430 FS:0C0h \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0440\u043e\u0434\u043d\u043e\u0439 64-\u0431\u0438\u0442\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0449\u0435\u0439 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<p>  Windows 8 \u2014 64 \u0431\u0438\u0442\u0430, 64-\u0431\u0438\u0442\u043d\u0430\u044f ntdll (6.2.8400.0)  <\/p>\n<pre><code class=\"delphi\">.text:0000000180003110                                         public NtOpenFile .text:0000000180003110                         NtOpenFile      proc near .text:0000000180003110 4C 8B D1                                mov     r10, rcx .text:0000000180003113 B8 31 00 00 00                          mov     eax, 31h .text:0000000180003118 0F 05                                   syscall .text:000000018000311A C3                                      retn .text:000000018000311A                         NtOpenFile      endp <\/code><\/pre>\n<p>  \u041d\u043e, \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u044e\u0430\u043d\u0441, \u0440\u0435\u0433\u0438\u0441\u0442\u0440 EAX \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.<\/p>\n<p>  \u0427\u0438\u0441\u043b\u043e, \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c\u043e\u0435 \u0432 EAX \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b KeServiceDescriptorTable, \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0434\u0440\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0443\u044e \u0438\u043c\u0435\u043d\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0414\u0430\u043d\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432\u0448\u0438\u0442\u044b \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043a\u043e\u0434 NTDLL, \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 (\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0434\u0430\u0436\u0435 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u0438\u043d\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0447\u0430), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f:  <\/p>\n<pre><code class=\"delphi\">type   \/\/ \u0442\u0438\u043f\u044b STD \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432   TSDTIndex = (     sdtNtSetInformationThread,     sdtZwOpenFile,     sdtNtQueryObject,     WOW64ReservedAddr);   var   FunctionSDTIndex: array [TSDTIndex] of DWORD = (0, 0, 0, 0);    procedure InitSDTTable; const   \/\/ \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c   ApiNames: array [TSDTIndex] of string =     (       'NtSetInformationThread',       'ZwOpenFile',       'NtQueryObject',       ''     );   const   KSEG0_BASE = $80000000;   MM_HIGHEST_USER_ADDRESS = $7FFEFFFF;   MM_USER_PROBE_ADDRESS = $7FFF0000;   MM_SYSTEM_RANGE_START = KSEG0_BASE;   MustWrite = PAGE_READWRITE or PAGE_WRITECOPY or     PAGE_EXECUTE_READWRITE or PAGE_EXECUTE_WRITECOPY;   OBJ_CASE_INSENSITIVE = $00000040;   FILE_SYNCHRONOUS_IO_NONALERT = $00000020;   FILE_READ_DATA = 1; var   pSectionAddr, dwLength: DWORD;   lpBuffer: TMemoryBasicInformation;   pNtHeaders: PImageNtHeaders;   ExportAddr: TImageDataDirectory;   ProcessExport: Boolean;   ImageBase: DWORD;   IED: PImageExportDirectory;   I: Integer;   FuntionAddr: Pointer;   NamesCursor: PDWORD;   OrdinalCursor: PWORD;   Ordinal: DWORD;   CurrentFuncName: string;   SDT: TSDTIndex; begin   \/\/ \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u0441 \u0430\u0434\u0440\u0435\u0441\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 NTDLL   pSectionAddr := GetModuleHandle('ntdll.dll');   ImageBase := 0;   ExportAddr.VirtualAddress := 0;   ExportAddr.Size := 0;   dwLength := SizeOf(TMemoryBasicInformation);     \/\/ \u0437\u0430\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c WOW \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0432 \u043d\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438,   \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0432\u043c\u0435\u0441\u0442\u043e sysenter   \/\/ \u0434\u043b\u044f 32-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043e\u0431\u043d\u0438\u043b\u0435\u043d   asm     push eax     mov  eax, fs:[$c0]     mov  I, eax     pop  eax   end;     FunctionSDTIndex[WOW64ReservedAddr] := I;     _Write(Format('WOW64Reserved: %d', [FunctionSDTIndex[WOW64ReservedAddr]]));     \/\/ \u0431\u0435\u0436\u0438\u043c \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430   while pSectionAddr &lt; MM_USER_PROBE_ADDRESS do   begin       \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435     if VirtualQuery(Pointer(pSectionAddr), lpBuffer, dwLength) &lt;&gt; dwLength then       RaiseLastOSError;       try       \/\/ \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f - \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0435       if (lpBuffer.State = MEM_FREE) or (lpBuffer.State = MEM_RESERVE) then         Continue;         \/\/ \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u0430 - \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0435       if (lpBuffer.Protect and PAGE_GUARD) = PAGE_GUARD then         Continue;       if (lpBuffer.Protect and PAGE_NOACCESS) = PAGE_NOACCESS then         Continue;         _Write(Format('\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441: %x', [pSectionAddr]));         \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 - \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0420\u0415 \u0444\u0430\u0439\u043b\u0430?       if PWord(lpBuffer.BaseAddress)^ = IMAGE_DOS_SIGNATURE then       begin         \/\/ \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u041d\u0422 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430         pNtHeaders := Pointer(Integer(lpBuffer.BaseAddress) +           PImageDosHeader(lpBuffer.BaseAddress)^._lfanew);         ExportAddr.VirtualAddress := 0;         ExportAddr.Size := 0;         ImageBase := DWORD(lpBuffer.BaseAddress);         if (pNtHeaders^.Signature = IMAGE_NT_SIGNATURE) and           (pNtHeaders^.FileHeader.Machine = IMAGE_FILE_MACHINE_I386) then         begin             _Write('\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d PE \u043e\u0431\u0440\u0430\u0437.');             \/\/ \u0444\u0430\u0439\u043b \u0432\u0430\u043b\u0438\u0434\u0435\u043d - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430           ExportAddr := pNtHeaders.OptionalHeader.DataDirectory[             IMAGE_DIRECTORY_ENTRY_EXPORT];           if ExportAddr.VirtualAddress &lt;&gt; 0 then             Inc(ExportAddr.VirtualAddress, ImageBase)           else             ExportAddr.Size := 0;         end;           _Write(Format('\u0410\u0434\u0440\u0435\u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430: %x', [ExportAddr.VirtualAddress]));         _Write(Format('\u0420\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430: %x', [ExportAddr.Size]));         end;         \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b       ProcessExport := False;       if ExportAddr.Size &lt;&gt; 0 then         if ExportAddr.VirtualAddress &gt;= DWORD(lpBuffer.BaseAddress) then           ProcessExport :=             ExportAddr.VirtualAddress + ExportAddr.Size &lt;             DWORD(lpBuffer.BaseAddress) + lpBuffer.RegionSize;         \/\/ \u043c\u044b \u043d\u0430\u0448\u043b\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 - \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e       if ProcessExport then       begin         if (ImageBase = 0) or (ExportAddr.VirtualAddress = 0) then Exit;         IED := PImageExportDirectory(ExportAddr.VirtualAddress);           _Write(Format('\u0418\u043c\u044f \u043c\u043e\u0434\u0443\u043b\u044f: %s', [string(PAnsiChar(ImageBase + IED^.Name))]));           \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043b\u0438 \u044d\u0442\u043e \u043d\u0430\u0448\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438?         if LowerCase(string(PAnsiChar(ImageBase + IED^.Name))) = 'ntdll.dll' then         begin             _Write('\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430');             \/\/ \u0434\u0430, \u044d\u0442\u043e \u043d\u0430\u0448\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0442\u0435\u0431\u0435\u0440\u044c \u0438\u0449\u0435\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439           I := 1;           NamesCursor := Pointer(ImageBase + DWORD(IED^.AddressOfNames));           OrdinalCursor := Pointer(ImageBase + DWORD(IED^.AddressOfNameOrdinals));           while I &lt; Integer(IED^.NumberOfNames) do           begin             \/\/ \u043f\u043e\u0438\u0441\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438             CurrentFuncName := string(PAnsiChar(ImageBase + PDWORD(NamesCursor)^));             for SDT := sdtNtSetInformationThread to sdtNtQueryObject do               if ApiNames[SDT] = CurrentFuncName then               begin                 \/\/ \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u043e\u043c\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u0440\u0434\u0438\u043d\u0430\u043b\u043e\u0432                 Ordinal := OrdinalCursor^ + IED^.Base;                 \/\/ \u0427\u0435\u0440\u0435\u0437 \u043e\u0440\u0434\u0438\u043d\u0430\u043b \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438                 FuntionAddr := Pointer(ImageBase + DWORD(IED^.AddressOfFunctions));                 FuntionAddr := Pointer(ImageBase +                   PDWORD(DWORD(FuntionAddr) + (Ordinal - 1) * 4)^);                 \/\/ \u0414\u0435\u043b\u0430\u0435\u043c \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0443 \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e MOV                 FuntionAddr := Pointer(DWORD(FuntionAddr) + 1);                 \/\/ \u0427\u0438\u0442\u0430\u0435\u043c SDT \u0438\u043d\u0434\u0435\u043a\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438                 FunctionSDTIndex[SDT] := PDWORD(FuntionAddr)^;                   _Write(Format('\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f %s - SDT \u0438\u043d\u0434\u0435\u043a\u0441 %d',                   [CurrentFuncName, FunctionSDTIndex[SDT]]));                 end;             Inc(I);             Inc(NamesCursor);             Inc(OrdinalCursor);           end;         end;         ImageBase := 0;       end;         \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043d\u0430\u0448\u043b\u0438 \u043b\u0438 \u0432\u0441\u0435 \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b\u0438?       if FunctionSDTIndex[sdtNtSetInformationThread] &lt;&gt; 0 then         if FunctionSDTIndex[sdtZwOpenFile] &lt;&gt; 0 then           if FunctionSDTIndex[sdtNtQueryObject] &lt;&gt; 0 then             Exit;     finally       \/\/ \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0447\u0442\u043e \u0438\u0441\u043a\u0430\u0442\u044c, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.       Inc(pSectionAddr, lpBuffer.RegionSize);     end;     end; end; <\/code><\/pre>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 NTDLL.DLL, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0438\u0449\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u043d\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f NtSetInformationThread, ZwOpenFile \u0438 NtQueryObject), \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0445 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 SDT \u0438\u043d\u0434\u0435\u043a\u0441 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 FunctionSDTIndex.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u0438\u043c\u0435\u044f \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 SDT \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044e \u0441\u0430\u043c\u043e\u0439 ZwOpenFile, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0432\u044b\u0437\u0432\u0430\u0442\u044c. <\/p>\n<pre><code class=\"cpp\">NTSTATUS ZwOpenFile(   _Out_  PHANDLE FileHandle,   _In_   ACCESS_MASK DesiredAccess,   _In_   POBJECT_ATTRIBUTES ObjectAttributes,   _Out_  PIO_STATUS_BLOCK IoStatusBlock,   _In_   ULONG ShareAccess,   _In_   ULONG OpenOptions ); <\/code><\/pre>\n<p>  \u0428\u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c\u044b\u0445 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435. \u041f\u0435\u0440\u0432\u044b\u0439 \u0438 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044b\u0439 \u0438\u0434\u0443\u0442 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435, \u0442\u0440\u0435\u0442\u0438\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c. \u041d\u0443 \u0447\u0442\u043e-\u0436, \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u044b\u0437\u043e\u0432:    <\/p>\n<pre><code class=\"delphi\"> \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435   \/\/ ZwOpenFile   \/\/ ===========================================================================   _Write('\u042d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c \u0432\u044b\u0437\u043e\u0432 ZwOpenFile');   _Write('\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435');   SysCallArgument := FunctionSDTIndex[sdtZwOpenFile];     oa.Length := SizeOf(TObjectAttributes);   oa.RootDirectory := 0;   oa.ObjectName := @UnicodeStr;   oa.Attributes := OBJ_CASE_INSENSITIVE;   oa.SecurityDescriptor := nil;   oa.SecurityQualityOfService := nil;     UnicodeStr.Buffer := StringToOleStr('??' + ParamStr(0));   UnicodeStr.Length := Length(UnicodeStr.Buffer) * SizeOf(WideChar);   UnicodeStr.MaximumLength := UnicodeStr.Length + SizeOf(WideChar);   asm     \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432     mov   SAVED_EBP, ebp     mov   SAVED_ESP, esp       \/\/ \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b     \/\/ \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u043e \u043f\u0435\u0440\u0432\u044b\u0439       push FILE_SYNCHRONOUS_IO_NONALERT \/\/ OpenOptions     push FILE_SHARE_READ + FILE_SHARE_WRITE + FILE_SHARE_DELETE \/\/ ShareAccess     lea  eax, iosb \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 OUT \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 IoStatusBlock     push eax       \/\/ \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u043d\u0430 \u0441\u0442\u0435\u043a\u0435     lea  eax, oa   \/\/ ObjectAttributes \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441     push eax       \/\/ \u0438 \u0442\u0430\u043a-\u0436\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u043d\u0430 \u0441\u0442\u0435\u043a\u0435     push FILE_READ_DATA + SYNCHRONIZE \/\/ DesiredAccess     lea  eax, hFile \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 OUT \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 FileHandle     push eax       \/\/ \u0438 \u043e\u043f\u044f\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a       \/\/ \u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c,      \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0441\u044f \u043a\u0430\u043a \u0435\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c,      \/\/ \u0438\u0431\u043e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u041e\u0421 \u043a\u043e\u0434 \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f       movzx eax, IsWOW64     or   eax, eax     jz   @32Bit       \/\/ \u0432\u044b\u0437\u043e\u0432 \u0434\u043b\u044f 64-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c       lea  eax, @64bit     push eax     push eax     mov  eax, WOW64Addr     push eax     mov eax, SysCallArgument     xor ecx, ecx     lea edx, dword ptr ss:[esp+4*3]     ret     @64bit:     add esp, 4     jmp @FINALIZE     @32Bit:       \/\/ \u0432\u044b\u0437\u043e\u0432 \u0434\u043b\u044f 32-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c (XP \u0438 \u0432\u044b\u0448\u0435)       lea  eax, @FINALIZE     push eax     push eax     movzx eax, NeedInt2E     or   eax, eax     jnz  @NT_CODE     mov edx, esp     mov eax, SysCallArgument     sysenter     @NT_CODE:       \/\/ \u0432\u044b\u0437\u043e\u0432 \u0434\u043b\u044f W2K \u0438 \u043d\u0438\u0436\u0435       pop eax     lea edx, esp + 4     mov eax, SysCallArgument     int $2E     nop     @FINALIZE:     \/\/ \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442     mov Status, eax     \/\/ \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432     mov   ebp, SAVED_EBP     mov   esp, SAVED_ESP   end;   if Status &lt;&gt; 0 then     hFile := 0;   _Write(Format('\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0437\u043e\u0432\u0430 %x', [Status]));   _Write(Format('\u0425\u044d\u043d\u0434\u043b %d', [hFile])) <\/code><\/pre>\n<p>;<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u044e\u0430\u043d\u0441\u044b: \u043a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n<p>  SYSENTER, INT2E \u0438 WOW64 \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0438\u0445 \u0431\u0438\u0442\u043d\u043e\u0441\u0442\u044c\u044e. \u0412\u0442\u043e\u0440\u043e\u0439 \u043d\u044e\u0430\u043d\u0441, \u044d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 EBP\/ESP. \u0421\u0432\u044f\u0437\u0430\u043d\u043e \u0432 \u0442\u0435\u043c \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434 64-\u0431\u0438\u0442\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0430\u0431\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0443\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0412\u044b\u0437\u043e\u0432\u044b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0432\u0443\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0437\u0434\u0435\u0441\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442, \u043d\u043e \u0432 \u043a\u0440\u0430\u0442\u0446\u0435 \u2014 NtSetInformationThread \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 \u0435\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 BP \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Delphi 7 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u0435\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/1.bp.blogspot.com\/-ZndUJyuLVuU\/UDPPEcSs6_I\/AAAAAAAAAB0\/qR2bcq7xNtw\/s1600\/4.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0440\u0435\u0434\u0443 \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<p>  \u0412 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u043e\u0439 DISABLE_HIDEFROMDEBUGGER \u0432\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435, \u0435\u0441\u043b\u0438-\u0436\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0443, \u0437\u0430\u043a\u043e\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u0438 \u043f\u0435\u0440\u0435\u0431\u0438\u043b\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440<\/p>\n<p>  \u0412\u0442\u043e\u0440\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f NtQueryObject \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0445\u044d\u043d\u0434\u043b\u043e\u043c \u0444\u0430\u0439\u043b\u0430 (\u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440).<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0435\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/4.bp.blogspot.com\/-vxgxurUVakQ\/UDPQvVY_qeI\/AAAAAAAAAB8\/0Iv5G40hrUg\/s1600\/5.png\" alt=\"image\"\/><\/p>\n<p>  \u0417\u0430\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"http:\/\/rouse.drkb.ru\/blog\/createfile.zip\">\u043c\u043e\u0436\u043d\u043e \u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u041d\u0443 \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0441\u0442\u0441\u043a\u0440\u0438\u043f\u0442\u0443\u043c\u0430. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u043f\u0430\u043d\u0430\u0446\u0435\u044f, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u0437\u0430\u0449\u0438\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0435 \u0441\u043f\u0430\u0441\u0435\u0442 \u0432\u0430\u0441 \u043e\u0442 \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041e\u0431\u043e\u0439\u0442\u0438 \u0434\u0430\u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0442\u0440\u0435\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043d\u0430 \u0432\u0441\u043a\u0438\u0434\u043a\u0443:<\/p>\n<p>  1. \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0435<br \/>  2. \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u043f\u0443\u0442\u0438 \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0432 \u0431\u043b\u043e\u043a\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430<br \/>  3. \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u0432\u0441\u0442\u0440\u043e\u0438\u0432 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a \u043d\u0430 \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0442\u043e\u0442-\u0436\u0435 Process Monitor.<\/p>\n<p>  \u041d\u043e \u043e\u0442\u043f\u0443\u0433\u043d\u0443\u0442\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u041f\u041e \u043f\u043e\u043c\u043e\u0436\u0435\u0442, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u043e\u0437\u0430\u0434\u0430\u0447\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430, \u0430 \u043e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u0430 \u0441\u043f\u0430\u0441\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u0432\u0438\u0434\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \ud83d\ude09 \t\t\t \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/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=\"http:\/\/habrahabr.ru\/post\/177625\/\"> http:\/\/habrahabr.ru\/post\/177625\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0431\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u0445\u0430\u0431\u0440\u0435, \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u0438\u043d \ud83d\ude42<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d\u0430 \u043d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u0431\u043b\u043e\u0433\u0430: <a href=\"http:\/\/alexander-bagel.blogspot.ru\/\">alexander-bagel.blogspot.ru\/<\/a><br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u043e\u0442\u0441\u044b\u043b\u043a\u0438 \u043a \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0443, \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432.<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e:<\/p>\n<p>  \u041a\u0430\u043a \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u043d\u0435\u0435, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0435\u043c\u043e\u043c, \u043e\u0441\u043b\u043e\u0436\u043d\u044f\u044e\u0449\u0438\u043c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f API \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u0438\u0439 \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f BP \u043d\u0430 API \u0444\u0443\u043d\u043a\u0446\u0438\u044e CreateFile(), \u0433\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0436\u0434\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0441 \u043f\u0443\u0442\u0435\u043c \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u043c \u0434\u043e \u043a\u043e\u0434\u0430, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u0434\u0430\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443.<\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435, \u0432\u0437\u044f\u0432 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <a href=\"http:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb896645\">Process Monitor<\/a>, \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0431\u0435\u0437\u044b\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u041c\u0430\u0440\u043a\u0430 \u0420\u0443\u0441\u0441\u0438\u043d\u043e\u0432\u0438\u0447\u0430 \u0438 \u0411\u0440\u044e\u0441\u0430 \u041a\u043e\u0433\u0441\u0432\u0435\u043b\u0430.<\/p>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/4.bp.blogspot.com\/-Yp0PFm_HVKM\/UDO06rSeiXI\/AAAAAAAAABM\/tcsycqmydZo\/s1600\/1.png\" alt=\"image\"\/><\/p>\n<p>  \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c BP \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-JRi9YZpkXf8\/UDO1AdNzBsI\/AAAAAAAAABU\/44xYACKD5-w\/s1600\/2.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u0440\u0430\u0432\u0434\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0436\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430, \u0430 \u043d\u0435 \u0441\u0430\u043c \u0430\u0434\u0440\u0435\u0441 \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u0442\u0435\u043b\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e. \u0421\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u0445\u043e\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 lpFileName \u0432 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFile() \u043d\u0430 \u043f\u0443\u0442\u044c \u043a \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0435\u043b\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b, \u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438, MD5 \u0445\u044d\u0448 \u0438\u043b\u0438 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u0430\u044f CRC32. \u0422.\u043a. \u0434\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0435\u043b\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u044b.<\/p>\n<p>  \u0421\u0442\u0430\u043b\u043e \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u0442\u0430\u043a: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0445 \u0437\u0430\u0449\u0438\u0442 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0441\u043f\u0430\u0441\u0435\u0442, \u0442.\u043a. \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 CreateFile(), \u0442\u0435\u043b\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043c\u044f\u0433\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e (\u0442\u0443\u0442 \u0441 \u043d\u044e\u0430\u043d\u0441\u043e\u043c, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0435 \u0437\u0430\u0449\u0438\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0435\u0447\u044c \u043d\u0435 \u043e \u043d\u0438\u0445).<\/p>\n<p>  \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0431\u0445\u043e\u0434\u0430 CreateFile() \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u044b\u0437\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0434\u0440\u0430, \u0432 \u043e\u0431\u0445\u043e\u0434 kernel32-&gt;kernelbase-&gt;ntdll. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/3.bp.blogspot.com\/-0Pa4ouW5oZE\/UDO7q5MgEAI\/AAAAAAAAABk\/fFjxxbeVQWQ\/s1600\/3.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u0440\u0438 \u043f\u0440\u044f\u043c\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u0443\u0436\u0435 \u043d\u0435 \u0438\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 BP \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u0431\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442.\u043a. \u0442\u0430\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442. \u0414\u0430, \u0443 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u043d\u043e \u043d\u044e\u0430\u043d\u0441 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u043b\u043a\u043e\u0432\u043e \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u043e\u0434 \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 \u043a\u043e\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0432\u044b\u0437\u043e\u0432\u0430 \u0435\u0449\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0441 \u0446\u0435\u043b\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.<\/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-177625","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/177625","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=177625"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/177625\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}