четверг, 15 марта 2012 г.

nod32 посылаем его по дальше

И так была такая интересная ситуация , сижу я и смотрю что мой безобидный локер ( для чего , как я его писал и т.д. это нас не интересует ) палит
nod32  probably a variant of Win32/LockScreen.AKE trojan.
Ну не годно такой твари как Nod  палить мое чудо , вот и я начал искать  за чего может он его палить. На это ушло минут 50 ну час максимум , как я заметил что он ругается на слова константы.
Пример:
Program Manager
mini
net
Minimal
Network
System\\CurrentControlSet\\Control\\SafeBoot
Software\\Microsoft\\Windows\\CurrentVersion\\Run
cmd.exe
и т.д.

Ну как  видно , он орет на слова которые относятся к системным  типа пути к реестру , пути к системным папкам и т.д.
И тогда я решил взять и написать маленькую функцию для шифрование строк.
char *  crp(char *s)
{
char* str=(char *)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,255);
strcpy(str, s);
for (int i = 0; i < strlen(s); i++)
{
str[i] = str[i] ^ 2;
}
             HeapFree(GetProcessHeap(),0,str);
return str;
}

Это простой метод шифрование данных XOR.  Кто не знает что такое XOR курите матчасть. 
В двух словах эта функа шифрует строки  , после чего Nod умолкает :) и это меня радует. Эта функция двусторонняя, при 1 вызове шифрует , тогда берем этот шифрований текст и снова передаем функе она его дешифрует. Можно было и заюзать другие методы шифрования , но это уже зависит от вас и вашей фантазии. 
Дерзайте. 
П.С. Я думаю так можно не только один NOD послать по дальше. Удачи!