start: InstSehFrame ofs @ErrorWhileGettingArgs invoke GetMainArgs,ofs arg0,ofs arg2+4 KillSehFrame cmp arg1,0 je @F cmp arg2,0 je @F InstSehFrame ofs @ErrorWhileExtractOverlay ; проверка на наличие сертификата с ImageGetCertificateHeader, если есть, то создание копии файла, ; удаление сертификата с ImageRemoveCertificate, извлечение оверлея из копии и её удаление invoke CheckCert,arg1 .if eax==1 invoke SetFileAttributes,arg1,FILE_ATTRIBUTE_NORMAL invoke lstrcpy,ofs filetmp,arg1 invoke lstrcat,ofs filetmp,ofs szTmp invoke CopyFile,arg1,ofs filetmp,0 invoke DelCert,ofs filetmp invoke xExOverlay,ofs filetmp,arg2 invoke DeleteFile,ofs filetmp .else invoke xExOverlay,arg1,arg2 .endif KillSehFrame jmp @ExitProcess @@: set hConsole,$invoke(GetStdHandle,STD_OUTPUT_HANDLE) invoke lstrlen,ofs szHelp invoke WriteFile,hConsole,ofs szHelp,eax,ofs tmp,NULL @ExitProcess: invoke ExitProcess,0 |