import os
import xxtea
import base64
import json
from datetime import datetime
import requests
# raw_url = input("Input LINK URL: ")
# referer_url = input("Input Referral URL: ")
# headers = {
# 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
# 'Referer': referer_url,
# }
raw_url = input("Input LINK URL: ")
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
}
def base64_decode_and_xxtea_decrypt(encrypted_data, key):
decrypted_data = base64.b64decode(encrypted_data)
decrypted_data = xxtea.decrypt(decrypted_data, key)
return decrypted_data.decode('utf-8') # Decode the decrypted bytes to utf-8 format
def fetch_and_decode_raw_content(raw_link, headers):
try:
response = requests.get(raw_link, headers=headers)
response.raise_for_status() # Raise an HTTPError for bad responses
return response.text
except requests.RequestException as e:
print(f"Error fetching raw content: {e}")
return None
def add_info_to_data(data):
kmkz = "IHsKICAgICAgICAiWzwvPl0gW1NuaWZmZXJCeV0iOiAiRW56b1p4eCIsCiAgICAgICAgIls8Lz5dIFtUZWxlZ3JhbV0iOiAiaHR0cHM6Ly90Lm1lL1hEZWNyeXRvcklkIiwKICAgICAgICAiWzwvPl0gW1Rvb2xzXSI6ICJQeXRob24gRGVjcnlwdCB4IEtlZXAgSnNvbiAxLjAuMyDCqSIKICAgIH0="
decoded_data = base64.b64decode(kmkz).decode('utf-8')
try:
data["Info"] = json.loads(decoded_data)
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
def main():
enzo_password = "Zm95c29sQDEyMw=="
key = base64.b64decode(enzo_password).decode('utf-8')
try:
# Fetch and decode raw content
decrypted_text = fetch_and_decode_raw_content(raw_url, headers)
# Check if decryption is successful before proceeding
if decrypted_text:
encrypted_data = json.loads(base64_decode_and_xxtea_decrypt(decrypted_text, key))
decrypted_data = []
for network in encrypted_data.get("Networks", []):
if "SNIHost" in network:
network["SNIHost"] = base64_decode_and_xxtea_decrypt(network.get("SNIHost", ""), key)
if "Payload" in network:
network["Payload"] = base64_decode_and_xxtea_decrypt(network.get("Payload", ""), key)
if "ProxySettings" in network and "Squid" in network["ProxySettings"]:
network["ProxySettings"]["Squid"] = base64_decode_and_xxtea_decrypt(network["ProxySettings"].get("Squid", ""), key)
decrypted_data.append(encrypted_data)
folder_name = "/sdcard/EnzoSniffer/"
os.makedirs(folder_name, exist_ok=True)
# Define output file path
file_path = os.path.join(folder_name, "[Devmaster-DATA]SnifferBY_ENzoZxx.txt")
add_info_to_data(encrypted_data)
output_data = {"Info": encrypted_data.pop("Info"), **encrypted_data}
# Write decrypted data to the output file
with open(file_path, "w") as output_file:
json.dump(output_data, output_file, indent=4, ensure_ascii=False)
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
number_of_entries = sum(len(encrypted_data[key]) for key in ["Servers", "Networks", "SSLNetworks"])
success_message = (
f"* Decryption Successful for {number_of_entries} entries! Data\n"
f"* Timestamp: {timestamp}\n"
f"* SnifferBy: EnzoZxx\n"
f"* =========================================="
)
print(success_message)
else:
print("Error: Decryption failed or no content retrieved.")
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()