Code/DLL injection techniques allow malicious code to be inserted into other running programs. There are two main types: static injection modifies the target program's code prior to execution, while dynamic injection inserts code during runtime. Attackers use these methods to evade firewalls by hijacking trusted processes. Defenses include anti-hook tools to restrict DLL loading and memory scanning to detect rogue code. The document discusses these injection methods and demonstrates examples using malware samples in a lab environment.