//
// main.swift
// malware
//
// Created by Johan origua on 6/09/24.
//

import Foundation

// Función para ejecutar un comando en el shell
func runCommand(cmd: String, args: [String]) {
let task = Process()
task.executableURL = URL(fileURLWithPath: cmd)
task.arguments = args

let pipe = Pipe()
task.standardOutput = pipe
task.standardError = pipe

do {
try task.run()
} catch {
print("Error al ejecutar \(cmd): \(error)")
}
}

// Ejecutar ssldump en un hilo separado
let ssldumpQueue = DispatchQueue(label: "com.example.ssldump", qos: .background)
ssldumpQueue.async {
print("starting listening...")
runCommand(cmd: "/usr/local/bin/ssldump", args: [])
}

// Ejecutar sslscan cada segundo
let sslscanQueue = DispatchQueue(label: "com.example.sslscan", qos: .background)
sslscanQueue.async {
while true {
print("starting the attack...")
runCommand(cmd: "/usr/local/bin/sslscan", args: ["localhost"]) // Cambia "localhost" por la dirección o puerto que desees escanear

}
}

// Mantener el programa corriendo para que ambos procesos continúen
RunLoop.current.run()