llvm-obfuscation
LLVM Code Obfuscation Skill
This skill provides comprehensive knowledge of LLVM-based code obfuscation frameworks and techniques for software protection and anti-reverse engineering.
Core Obfuscation Techniques
Control Flow Obfuscation
- Control Flow Flattening (CFF): Transform structured control flow into a single dispatcher loop with state machine
- Bogus Control Flow (BCF): Insert opaque predicates and dead code paths
- CFG Randomization: Randomize basic block ordering and add fake edges
Data Obfuscation
- String Encryption: Encrypt string literals at compile-time, decrypt at runtime
- Constant Substitution: Replace constants with complex expressions
- Variable Splitting: Split variables into multiple components
More from gmh5225/awesome-llvm-security
compiler-development
Expertise in compiler development using LLVM infrastructure including frontend design, IR generation, optimization passes, and code generation. Use this skill when building custom programming languages, implementing DSL compilers, or working on compiler internals.
40llvm-optimization
Expertise in LLVM optimization passes, performance tuning, and code transformation techniques. Use this skill when implementing custom optimizations, analyzing pass behavior, improving generated code quality, or understanding LLVM's optimization pipeline.
33binary-lifting
Expertise in binary lifting techniques - converting machine code to LLVM IR for analysis, decompilation, and recompilation. Use this skill when working on reverse engineering, binary analysis, deobfuscation, or converting binaries to higher-level representations.
31llvm-learning
Comprehensive learning resources and tutorials for LLVM, Clang, and compiler development. Use this skill when helping users learn LLVM internals, find educational resources, or understand compiler concepts.
30mlir-development
Expertise in MLIR (Multi-Level Intermediate Representation) and CIR (Clang IR) development for domain-specific compilation and high-level optimizations. Use this skill when building ML compilers, domain-specific languages, or working with multi-level compilation pipelines.
29static-analysis
Expertise in LLVM-based static analysis including dataflow analysis, pointer analysis, taint tracking, and program verification. Use this skill when implementing security scanners, bug finders, code quality tools, or performing program analysis research.
28