package main import ( "flag" "fmt" "os" "path/filepath" "time" "github.com/lukaszraczylo/go-obfuscation/internal/transform" ) func main() { srcDir := flag.String("src", "", "Source directory to transform") dstDir := flag.String("dst", "", "Destination directory for transformed source") encryptStrings := flag.Bool("strings", true, "Encrypt string literals") opaquePreds := flag.Bool("opaque", true, "Inject opaque predicates") deadCode := flag.Bool("deadcode", true, "Inject dead code") randomize := flag.Bool("randomize", true, "Randomize declaration order") indirectDispatch := flag.Bool("indirect", true, "Indirect function dispatch") bogusCFG := flag.Bool("bogus-cfg", true, "Bogus control-flow injection") flatten := flag.Bool("flatten", true, "Control-flow flattening") seed := flag.Int64("seed", 0, "Build seed for polymorphic output (0 = use current timestamp)") injectBuildID := flag.Bool("buildid", true, "Inject unique build ID constant") virtualizeVM := flag.Bool("vm", true, "Virtualize simple functions into VM bytecode") antiDisasm := flag.Bool("anti-disasm", true, "Inject anti-disassembly patterns") junkStrings := flag.Bool("junk-strings", true, "Inject junk string constants") spliceCode := flag.Bool("splice", true, "Splice function bodies into fragments") constBlind := flag.Bool("constblind", true, "Replace integer constants with XOR-decrypted expressions") mba := flag.Bool("mba", true, "Apply Mixed Boolean-Arithmetic substitutions") fakeSigs := flag.Bool("fakesigs", true, "Inject fake function signatures") funcSplit := flag.Bool("funcsplit", true, "Split eligible functions into state-machine fragments") bbReorder := flag.Bool("bbreorder", true, "Reorder basic blocks (swap if/else, shuffle switch cases)") flag.Parse() if *srcDir == "" || *dstDir == "" { fmt.Fprintf(os.Stderr, "Usage: transformer -src