#compdef msfencode # ------------------------------------------------------------------------------ # License # ------- # This file is part of the Metasploit Framework and is released under the MSF # License, please see the COPYING file for more details. # # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for the Metasploit Framework's msfencode command # (http://www.metasploit.com/). # # ------------------------------------------------------------------------------ # Authors # ------- # # * Spencer McIntyre # # ------------------------------------------------------------------------------ _msfencode_encoders_list=( 'cmd/generic_sh' 'cmd/ifs' 'cmd/powershell_base64' 'cmd/printf_php_mq' 'generic/eicar' 'generic/none' 'mipsbe/byte_xori' 'mipsbe/longxor' 'mipsle/byte_xori' 'mipsle/longxor' 'php/base64' 'ppc/longxor' 'ppc/longxor_tag' 'sparc/longxor_tag' 'x64/xor' 'x86/add_sub' 'x86/alpha_mixed' 'x86/alpha_upper' 'x86/avoid_underscore_tolower' 'x86/avoid_utf8_tolower' 'x86/bloxor' 'x86/call4_dword_xor' 'x86/context_cpuid' 'x86/context_stat' 'x86/context_time' 'x86/countdown' 'x86/fnstenv_mov' 'x86/jmp_call_additive' 'x86/nonalpha' 'x86/nonupper' 'x86/opt_sub' 'x86/shikata_ga_nai' 'x86/single_static_bit' 'x86/unicode_mixed' 'x86/unicode_upper' ) _msfencode_encoder() { _describe -t encoders 'available encoders' _msfencode_encoders_list || compadd "$@" } _arguments \ "-a[The architecture to encode as]:architecture:(cmd generic mipsbe mipsle php ppc sparc x64 x86)" \ "-b[The list of characters to avoid, example: '\x00\xff']:bad characters" \ "-c[The number of times to encode the data]:times" \ "-d[Specify the directory in which to look for EXE templates]:template file:_files -/" \ "-e[The encoder to use]:encoder:_msfencode_encoder" \ "-h[Help banner]" \ "-i[Encode the contents of the supplied file path]:input file:_files" \ "-k[Keep template working; run payload in new thread (use with -x)]" \ "-l[List available encoders]" \ "-m[Specifies an additional module search path]:module path:_files -/" \ "-n[Dump encoder information]" \ "-o[The output file]:output file" \ "-p[The platform to encode for]:target platform:(android bsd bsdi java linux netware nodejs osx php python ruby solaris unix win)" \ "-s[The maximum size of the encoded data]:maximum size" \ "-t[The output format]:output format:(bash c csharp dw dword java js_be js_le num perl pl powershell ps1 py python raw rb ruby sh vbapplication vbscript asp aspx aspx-exe dll elf exe exe-only exe-service exe-small loop-vbs macho msi msi-nouac osx-app psh psh-net psh-reflection vba vba-exe vbs war)" \ "-v[Increase verbosity]" \ "-x[Specify an alternate executable template]:template file:_files"