No es posible codificar el exploit como codificarías una carga útil. La razón es que los datos que forman parte de un exploit son procesados directamente por la aplicación vulnerable (en este caso, Flash). La función dentro del binario Flash que procesa los datos de explotación no se decodificará primero. En el caso de cargas útiles, podemos codificarlo porque cuando se ejecuta la carga útil, ya tenemos privilegios de ejecución de código en el cuadro, por lo que primero podemos decodificar la carga útil y luego ejecutarla.
Hay muchas maneras de evitar las reglas de IDS basadas en firmas. No estoy seguro si tiene acceso al código de firma real (probablemente la expresión regular) pero si lo tiene, puede estudiarlo y ver qué está buscando. En mi experiencia anterior con Cisco ASA IDS, las firmas eran tan volcadas que prácticamente se puede reemplazar ' OR '1'='1' --
con ' OR '1000'='1000' --
y funcionaría.