Малварь как искусство Генератор мусорного кода на Си

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 708
Репутация
240
Jabber
Telegram
#1
Всем привет !

Решил выложить в паблик, может пригодится кому.

В одном крипторе увидел неплохой генератор мусорного кода на си, генератор реально крутой, но детектился антивирусами.

Решил его немного модифицировать, что сделал:

1)Во первых генерируются inline функции, да увеличит вес, но почти 8К строк запутает реверсера и антивирус.)

2)Генерируется заголовочный файл, который можно подцепить куда-нужно.

3)Разное вхождение в ветки, в зависимости от параметра.

Как использовать:

1.В \super_gen_trash_c\super_tresh_c\Release запустить super_tresh_c.exe

2.Появится файл с мусором trash.h, его и можно использовать.

3.Пример использования:

Инициализация генератора случайных чисел:

srand(time(0));

Получение рандомного i, для случайного попадания в ветки:

int i = 1 + rand() % 255;

Запускаем мусорный код :)

int result_i = tresh_gen(i);

В репозитории есть пример:\super_gen_trash_c\super_tresh_c\Release\EXAMPLE.exe

Код тоже в репозитории.

Сам репозиторий:https://github.com/XShar/super_gen_trash_c

Детект на мусор:

1567961592284.png
 

Edith Wooten

Житель форума
Форумчанин
Регистрация
17.04.2019
Сообщения
82
Репутация
15
#2
Допустим на реальном примере с использованием витруализации, как использовать?
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
580
Репутация
193
Jabber
Telegram
#3
Допустим на реальном примере с использованием витруализации, как использовать?
Непонял вопрос, подключаешь заголовок, потом:

Получение рандомного i, для случайного попадания в ветки:

int i = 1 + rand() % 255;

Запускаем мусорный код:

int result_i = tresh_gen(i);
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
580
Репутация
193
Jabber
Telegram
#5
Ну-да, там можно доработать и использовать потом, я просто генератор вытащил, показался весьма неплохой, но можно доработать, добавить апи, что-то еще.

В крипторе он использовался что-бы убрать детекты той-же авиры например.)
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
580
Репутация
193
Jabber
Telegram
#6
переменная result_i по идее не будет использоваться ведь
По поводу result_i там можно генерировать по определенному алгоритму данные, необязательно одну переменную, а целый массив данных например, потом на основе этих данных использовать как ключ.

Короче смысл такой, что-бы реверсеру обязательнго нужно-было все ветки пройти, что-бы получить данные, там нехтило гавна получается разгребать.)))
 

Edith Wooten

Житель форума
Форумчанин
Регистрация
17.04.2019
Сообщения
82
Репутация
15
#7
По поводу result_i там можно генерировать по определенному алгоритму данные, необязательно одну переменную, а целый массив данных например, потом на основе этих данных использовать как ключ.

Короче смысл такой, что-бы реверсеру обязательнго нужно-было все ветки пройти, что-бы получить данные, там нехтило гавна получается разгребать.)))
все равно непонятно как в продакшене юзать с ключом
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
580
Репутация
193
Jabber
Telegram
#8
все равно непонятно как в продакшене юзать с ключом
Смысл в том-что каждый раз после генерации мусорного кода, будут разные результаты result_i, НО если не перегенерировать создание мусорного кода, то результат будет каждый раз одинаковый в зависимости от входного параметра i.

Код:
i = i + qrjaty+dimofu+gclqur+clqecd+rhvqsu+wbvntm+ryktdl+wixoql+dswtmh+mjxqed+qkprng+proxvf+peuagb+sxexje+gpqbgi+tobxmn+sheqip+oiefcg+xlvuyw+uecxwm+lpllfr+fygcaa+qyqfhq+hmhmdi+ujjivn+wvgfns+aqmfkj+ymxiuq+caqlyu+vvxysj+gjdysn+ancrds+xihvkr+nojqkb+aytgxd+yitjoc+ukssxm+odxais+fvxgox+jhwwnr+nephiq+pnglcj+wfdvml+aitrtq+gxwbvy+hbroam+akdtln+bofxck+hknbrh+hhtevo+besraf+jyqmuk+sdoxev+meymqy+suwqlf+nhfjob+qvlnnf+kdmihu+ngvivh+gtvwel+kaxqtj+rodyek+uylnyw+ssmfiq+cacooy+jywjiu+mwscxu+nsrkcf+nccyca+syxwlg+dhfsag+rrwloa+mknyuu+kilkvr+kaptuy+tabtic+vqdsbj+sotcam+kbkhup+bcsioj+hlpmcy+acedxu+cmxvml+uaokcq+fblvlw+dupynn+pbmean+idphca+iodkhy+cinmba+kdsjfp+lekgwa+xkgqbh+bhmvtl+vwrmrv+kqxeep+jhvfdm+jjewht+hnhilk+rxanxr+elqaja+vubjfi+axebsj+mjgsbf+mxganq+ffrmlc+ydcsvx+pnawsk+rhmutg+pnkpwo+pudobp+tikjrf+ogdeai+rwyglc+rqepny+bcpinr+ybrjud+cjalxu+mwedvn+gnkvop+ortnqe+shafao+dwxwjx+vonaum+vdtmtk+otppui+subxhw+cmunbd+xcatpp+dswnsm+jnygnr+ikvien+vpysfu+xrlikb+kndeyx+xjhqtf+sblafb+yvjpor+anrvxw+bgxeef+bmaspl+lqotgc+lnhfpg+fqalml+pamjsd+qcimie+djdgxy+rnjdaf+siaflo+dbsjcl+oxhdyu+cxgtdj+itvdug+erknxo+wnmklj+iljspt+mtiavo+rpfpfo+mnhekk+jyfpbq+pekxxn+chgoni+qpxndj+davkyv+irdusa+beaxjs+lfqyrd+eovfbq+qbqmgo+plvmvo+jpcxyq+umxggs+schhgm+lfojjg+psvceu+ixqmgo+oiweuc+tenxsq+jxlvmi+iwvrma+wichxf+radycx+hppamr+lwswdb+qfyaie+upkwmf+arlexv+ovntnn+apvapd+jufohm+lyytfx+aiakml+mdsloo+qykfme+mxouis+gkcxct+bbvwyp+ytslqo+tpfkqa+pjoqsy+jauxol+wsigsb+kwyekc+hquoyo+cfkywv+wwcofu+tasegm+wodmmr+ipixjj+eltiug+qarrmh+gywviw+gbixxh+sbulhg+paylct+sjcssq+vidcbv+wmdciu+iknmsn+badlay+retgpr+nsjwwf+brccuc+ogpxmx+eutcrk+hibmud+binkil+rkwdjq+sdrpng+haoxil+nghdok+pallik+fxdrip+qkkymr+hdcttt+icwhki+owsypq+oamxxb+yiqaep+wtfdgt+pmyain+rsclkj+pwkepf+qrkyde+vcxsuw+bbphdj+sojyyw+firicd+uhvywl+tlgpni+qhcqen+mvkpey+lfxhmj+prguqh;
Ну вот, кто будет использовать это в качестве ключа, должен закриптовать с этим значением (Да просто также вызывать мусор при криптовке например), ну и при раскриптовке то-же значение будет.

Как вариант, ну и можно доработать, можно кроме i возвращать что-то ещё...)
 
Вверх