В последнее время неоднократно сталкивался с просьбами снятия примитивной обфускации с .bat-файлов. Обфускация строится на разбивании команд на отдельные символы, создании алиасов для них и последующей записи их с использованием алиасов. Возьмем следующий незамысловатый код:
1 2 3 4 5 |
@echo off cls title SampleBatch echo Press any key... pause > nul |
После обфускации он будет выглядеть, например, следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
@echo off set ABC== set DEF%ABC% set%DEF%GHI%ABC%set %GHI%%DEF%JKL%ABC%s %GHI%%DEF%MNO%ABC%t %GHI%%DEF%PQR%ABC%e %JKL%%PQR%%MNO%%DEF%AAB%ABC%a %JKL%%PQR%%MNO%%DEF%ACD%ABC%b %JKL%%PQR%%MNO%%DEF%ADE%ABC%c %JKL%%PQR%%MNO%%DEF%SFS%ABC%S %JKL%%PQR%%MNO%%DEF%HJA%ABC%e %JKL%%PQR%%MNO%%DEF%WRT%ABC%P %JKL%%PQR%%MNO%%DEF%JSI%ABC%h %JKL%%PQR%%MNO%%DEF%KFO%ABC%k %JKL%%PQR%%MNO%%DEF%LWK%ABC%l %JKL%%PQR%%MNO%%DEF%ORP%ABC%m %JKL%%PQR%%MNO%%DEF%BGY%ABC%n %JKL%%PQR%%MNO%%DEF%WFT%ABC%p %JKL%%PQR%%MNO%%DEF%ZBF%ABC%r %JKL%%PQR%%MNO%%DEF%LAA%ABC%s %JKL%%PQR%%MNO%%DEF%PWO%ABC%t %JKL%%PQR%%MNO%%DEF%HFH%ABC%y %JKL%%PQR%%MNO%%DEF%HRE%ABC%i %JKL%%PQR%%MNO%%DEF%SDZ%ABC%o %JKL%%PQR%%MNO%%DEF%FDG%ABC%u %JKL%%PQR%%MNO%%DEF%QER%ABC%. %JKL%%PQR%%MNO%%DEF%RWW%ABC%B %ADE%%LWK%%LAA% %PWO%%HRE%%PWO%%LWK%%HJA% %SFS%%AAB%%ORP%%WFT%%LWK%%HJA%%RWW%%AAB%%PWO%%ADE%%JSI% %HJA%%ADE%%JSI%%SDZ% %WRT%%ZBF%%HJA%%LAA%%LAA% %AAB%%BGY%%HFH% %KFO%%HJA%%HFH%%QER%%QER%%QER% %WFT%%AAB%%FDG%%LAA%%HJA% > %BGY%%FDG%%LWK% |
Для таких случаев набросал простенький деобфускатор на C++. Исходный код и скомпилированный бинарник прилагаю. Если будут проблемы с запуском - попробуйте не использовать Windows XP или скачать Visual C++ Redistributable Packages for Visual Studio 2013, возможно, поможет.
Скачать: batch-deobfuscator
Скачать исходный код: batch-deobfuscator-source
GitHub: bat-static-deobfuscator
а чем можно добиться такого вида батника?
Не знаю, что использовалось. Можно самому написать подобный меньше чем за час.
Странно что на си это написал, тут перла на пару строк всего. Кстати у меня есть еще один вариант такого обусификатора, могу выложить если интересно)
Скрипт на перле не каждый запустить может, exe, как правило, удобнее, да и кода же тут тоже немного совсем.
Надо по всему сайту сделать поиск строки вида https://github.com/kaimi.io/*
И заменить во всех страницах сайта на строку https://github.com/kaimi-io/
Вроде везде поправил
У меня ваш обфускатор почемуто не запускается (Wind. 10 64 bit), запускал в sanbox - мигает окошко и больше ничего. Как мне запустить (только, если можно, подробней - как для "чайника"). И еще прошу посмотреть декодирунт ли он этот код (здесь часть кода):
@echo off
set inxksqylqc=s
%inxksqylqc%et auuemxktqy=e
%inxksqylqc%%auuemxktqy%t pdbjbjudfv=t
%inxksqylqc%%auuemxktqy%%pdbjbjudfv% yvzkwzwuxl=a
goto XKOVYAUHOP
%igpjcpveos%%vgukpdvixh%%wmxgubnore% utknuebvbb=a
:XKOVYAUHOP
%inxksqylqc%%auuemxktqy%%pdbjbjudfv% uyjeoelvzv=b
goto WVEQGCHUFY
%igpjcpveos%%ehavxusfes%%jqayaoxryo% uvjwretvnl=b
:WVEQGCHUFY
%inxksqylqc%%auuemxktqy%%pdbjbjudfv% smhsogkpge=c
goto ABCFCYNASI
%igpjcpveos%%zorihztnvb%%swobbgfwvy% gevhqspfku=c
:ABCFCYNASI
%inxksqylqc%%auuemxktqy%%pdbjbjudfv% omitnjpjtp=d
goto ZIKHRYQHUS
%igpjcpveos%%pwthlirwdl%%mhoidmqlch% onrejkhrwe=d
:ZIKHRYQHUS
%inxksqylqc%%auuemxktqy%%pdbjbjudfv% nwynvkcxky=e
goto LUELJNWYGA
%igpjcpveos%%lzdbcngxfv%%viutmdnijs% asuwpxsudo=e
:LUELJNWYGA
https://kaimi.io/2010/03/%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C/
только вместо скрипта - исполняемый файл из этого поста и интерпретатор не нужен
Спасибо попробую. И еще вопрос (если будет время ответить):
Чем отличаются друг от друга криптор,обфускатор,пртектор,паркер? Что лучше?
Криптор и протектор - обычно одно и то же по сути, только "криптор" - подразумевает некоторую нелегальную направленность софта, а "протектор" - легальную. Крипторы/протекторы обычно, в том числе, обфусцируют и пакуют код.
Обфускатор - https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%84%D1%83%D1%81%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)
Пакер - https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D1%85_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2
Смотря для чего лучше. Что защищаем то?
Майнер, RMS.
Если будет требоваться массовое распространение, то либо обращаться к людям с форумов, которые будут криптом заниматься.
Т.к. на лицензионном протекторе лицензия быстро в блеклист попадет, а крупные антивирусы частично сотрудничают с известными коммерческими протекторами.
Спасибо.