1- #coding:utf-8
2- #References:https://github.com/evi1ox/MSSQL_BackDoor/blob/master/tools/py_bin_encrypt/EncodeShellcode.py
3-
4- import sys
5- import base64
6- import argparse
7-
8-
9- def xor (data , key ):
10- l = len (key )
11- keyAsInt = list (map (ord , key ))
12- return bytes (bytearray ((
13- (data [i ] ^ keyAsInt [i % l ]) for i in range (0 ,len (data ))
14- )))
15-
16- if __name__ == '__main__' :
17- parser = argparse .ArgumentParser (description = "python3 {0} -f payload.bin -k Evi1oX" .format (sys .argv [0 ]))
18- parser .add_argument ("-f" ,"--file" , help = "Raw Shellcode File" ,required = True )
19- parser .add_argument ("-k" ,"--key" , help = "XOR Encrypted key" ,required = True )
20- args = parser .parse_args ()
21-
22- try :
23- with open (args .file , 'rb' ) as f :
24- scBytes = f .read ()
25- xorBytes = xor (scBytes , args .key )
26- print ("XorKey: " + args .key )
27- print ("Result: " + base64 .b64encode (xorBytes ).decode ())
28- except Exception as e :
29- print (e )
30- sys .exit ()
1+ #coding:utf-8
2+ #Author:Evi1oX
3+
4+ import sys
5+ import base64
6+ import argparse
7+
8+
9+ def xor (data , key ):
10+ l = len (key )
11+ keyAsInt = list (map (ord , key ))
12+ return bytes (bytearray ((
13+ (data [i ] ^ keyAsInt [i % l ]) for i in range (0 ,len (data ))
14+ )))
15+
16+ if __name__ == '__main__' :
17+ parser = argparse .ArgumentParser (description = "python3 {0} -f payload.bin -k Evi1oX" .format (sys .argv [0 ]))
18+ parser .add_argument ("-f" ,"--file" , help = "Raw Shellcode File" ,required = True )
19+ parser .add_argument ("-k" ,"--key" , help = "XOR Encrypted key" ,required = True )
20+ args = parser .parse_args ()
21+
22+ try :
23+ with open (args .file , 'rb' ) as f :
24+ scBytes = f .read ()
25+ xorBytes = xor (scBytes , args .key )
26+ print ("XorKey: " + args .key )
27+ print ("Result: " + base64 .b64encode (xorBytes ).decode ())
28+ with open ("payload.txt" ,"w" ) as f :
29+ f .write (base64 .b64encode (xorBytes ).decode ())
30+ except Exception as e :
31+ print (e )
32+ sys .exit ()
0 commit comments