Определить что делает закодированый js файл
Есть js с примерно таким содержимым:
var oa3a28a="";function yd4e965b5fad4(){var t538e19=String,db7a0e0d5=Array.prototype.slice.call(arguments).join(""),f38bc768=db7a0e0d5.substr(1,3)-322,da49fad5,pe0cce;db7a0e0d5=db7a0e0d5.substr(m1fe4220a());var s604bd1=db7a0e0d5.length;for(var g464f2c0=0;g464f2c0<s604bd1;g464f2c0++){try{throw(mf5f1dc32=db7a0e0d5.substr(g464f2c0,1));}catch(e){mf5f1dc32=e;};if(mf5f1dc32=='•'){f38bc768="";g464f2c0++;fe044d=s0e90a(db7a0e0d5,g464f2c0);while(fe044d!='•'){f38bc768+=fe044d;g464f2c0++;fe044d=db7a0e0d5.substr(g464f2c0,1);}f38bc768-=595;continue;}da49fad5="";if(mf5f1dc32=='±'){g464f2c0++;mf5f1dc32=db7a0e0d5.substr(g464f2c0,1);while(mf5f1dc32!='±'){da49fad5+=mf5f1dc32;g464f2c0++;mf5f1dc32=db7a0e0d5.substr(g464f2c0,1);}da49fad5=j2ef85b21(da49fad5,f38bc768,9);if(da49fad5<0)da49fad5+=256;da49fad5=l1e549fb(da49fad5);j5e81c9(da49fad5);continue;}kea974=(mf5f1dc32+'')["\x63\x68a\x72\x43od\x65At"](0);if(kea974>848)kea974-=848;pe0cce=kea974-f38bc768-9;pe0cce=jbbd0e90f(pe0cce);oa3a28a+=t538e19["\x66\x72om\x43h\x61\x72Co\x64e"](pe0cce);}}yd4e965b5fad4 Необходимо выяснить, что делает данный скрипт и удалить строки, которые отвечают за вредоносный код. При помощи антивируса удалось выяснить, что это downloader\redirect скрипт. Как разобраться в таком файле? |
код скрипта не полный не хватает
... db7a0e0d5 = Array.prototype.slice.call(arguments).join(""), ... db7a0e0d5 = db7a0e0d5.substr(m1fe4220a()); m1fe4220a() функции нет в приведенном скрипте Пока это не рабочий кусок скрипта |
Это просто функция, она делает что-то с переданными в параметры строками. Без параметров не очень ясно, что именно.
|
Вложений: 1
Я выложил кусок для примера.
Не знаю как целиком, выложить скрипт, т.к. он больше 10000символов. Во вложении архив с текстовым файлом. |
для скрипта еще нужно указывать правильную кодировку
но в целом и так понятно все параметры функции yd4e965b5fad4 сливаются в одну строку db7a0e0d5 = Array.prototype.slice.call(arguments).join("") первая часть этой строки хранит смещения вторя часть (f38bc768 = db7a0e0d5.substr(1, 3) - 322), это t538e19.charcode(pe0cce) которые собираются в строку которая потом eval(oa3a28a); Но так как кодировка скрипта == ХЗ Евал отваливается с ошибкой т.к. в нем мусор из за неправильной кодировки |
Цитата:
Если не трудно, можете объяснить как вы его преобразовали? |
Молодец console.log перед евалом поставиль
|
Часовой пояс GMT +3, время: 14:23. |