les voy una de las tantas maneras de dejar atras la pseudo-inteligencia de los Av. su heuristica.
por ahora lo probe al encriptar un archivo, pero supongo que tendra varios usos.
por ejemplo en un cripter
una rutina de encriptacion barata seria ( en una suerte de pseudocodigo)
Código: Seleccionar todo
key = 38;
for i=0 to 1024
{
buf[i] = buf[i] xor key;
}
entonces, hasta donde llegaria el antivirus?
bueno no mas alla de algunas de las funciones de la biblioteca math.h o math en pascal, por decir un ejemplo
Código: Seleccionar todo
int cuentaMatematicaJodida()
{
int key;
key = sin(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(37))))))))));
return key;
}
for i=0 to 1024
{
key = cuentaMatematicaJodida();
buf[i] = xor key;
}
esto es un caso, puede variar dependiendo el tipo de antivirus, y la heuristica y el proceso.
pero es un inicio a las multiples y miles maneras que hay de engañar un antivirus.
este es un ejemplo que se me ocurrio ahora, si quieren despues les paso un ejemplo concreto en que use en un cripter mio hace un tiempo.
(obviamente esto se puede usar para todas las rutinas detectables de por ejemplo un stub)
el antivirus no puede emular todo el codigo, tiene sus limitaciones, ni se imaginan si creamos hilos sincronizados que vayan haciendo una desencriptacion cada uno paralelamente un segmento del buffer. ahi olvidense de los AV.
pero eso es un tema ya mas avanzadito. Algun dia explicare.
En fin.
Saludos y espero que les sirva, es mas para abrir cabezas que para decir uhh hago copy paste y empiezo a mandar virus ¬¬.
LeoS