git clone https://github.com/blacknbunny/Shellcode-Encrypter-Decrypter.git && cd Shellcode-Encrypter-Decrypter/python encdecshellcode.py --help
示例
Encryption:python encdecshellcode.py --shellcode \x41\x41\x42\x42 --key SECRETKEY --option encryptDecryption:python encdecshellcode.py --shellcode \x41\x41\x42\x42 --key SECRETKEY --option decrypt
各种shellcode
http://shell-storm.org/shellcode/
import argparsefrom sys import argv, stdout, exitparser = argparse.ArgumentParser(description="Encrypting & Decrypting Shellcode")parser.add_argument('-s', '--shellcode', help='Shellcode To Encrypt & Decrypt')parser.add_argument('-k', '--key', help='Key Of The Shellcode To Encrypt & Decrpyt', default='key')parser.add_argument('-o', '--option', help='Argument For Encrypting or Decrypting The Shellcode')args = parser.parse_args()def EncryptShellcode(shellcode, key):shellcode_encrypted_hex = []shellcode_decrypted_hex = []shellcode_replaced_hex = ''count = 0for d in range(0, len(shellcode) / 4):count += 4shellcode_decrypted_hex.append(shellcode[count-4:count].replace(r'\x', ''))for x in range(0, len(shellcode_decrypted_hex)):for d in range(0, len(key)):shellcode_encrypted_hex.append(hex(ord(shellcode_decrypted_hex[x].decode('hex')) ^ ord(key[d])))for y in range(0, len(shellcode_encrypted_hex)):shellcode_replaced_hex += shellcode_encrypted_hex[y].replace('0x', r'\x')return shellcode_replaced_hexdef DecryptShellcode(shellcode, key):shellcode_decrypted = []shellcode_xor_headers = []shellcode_replaced_hex = ''string = ''for x in shellcode:string += shellcode.replace(r'\x', '')breakcount = 0for y in string:shellcode_xor_headers.append(string[count:count+2])count += 6while '' in shellcode_xor_headers:shellcode_xor_headers.remove('')for z in range(len(shellcode_xor_headers)):shellcode_decrypted.append(hex(ord(shellcode_xor_headers[z].decode('hex')) ^ ord(key[0])))for h in range(0, len(shellcode_decrypted)):shellcode_replaced_hex += shellcode_decrypted[h].replace('0x', r'\x')return shellcode_replaced_hexdef PrintHelp():parser.print_help()exit(1)def main():try:shellcode = args.shellcodekey = args.keyif args.option == "encrypt":print( "Encrypted Shellcode = " + EncryptShellcode(shellcode, key) )elif args.option == "decrypt":print( "\nDecrypted Shellcode = " + DecryptShellcode(shellcode, key) )else:PrintHelp()except Exception as e:PrintHelp()print(e)if __name__ == '__main__':exit(main())
项目地址:https://github.com/blacknbunny/encdecshellcode
如有侵权,请联系删除
好文推荐