Реклама на сайте Advertise with us

Как раскодировать javascript?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 18/03/16 в 01:04       Ответить с цитатойцитата 

Вида:
Код: [развернуть]


Можно привести код к нормальному виду?
Это скрипт попандера экзоклика после выполнения eval(), а дальше что с этим сделать, чтобы привести к виду, как тут: Нужен скрипт попандера. ?

2
 



С нами с 22.05.04
Сообщения: 268
Рейтинг: 251

Ссылка на сообщениеДобавлено: 18/03/16 в 02:08       Ответить с цитатойцитата 

де-обфускация нужна

причем скорее всего "ручками" т.е. последовательно собирая деобфускатор именно под этот код, т.к. нестандартно сделано и, опять же судя по коду, броузер-зависимо и событийно, так что мониторящие JS плагины в файрфоксе/хроме не увидят всей картины

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

Нестандартные задачи. Кастом программинг на ПХП. Оптимизация стороннего кода. Недорого, недешево.

7
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 18/03/16 в 02:27       Ответить с цитатойцитата 

rx писал:
де-обфускация нужна

причем скорее всего "ручками" т.е. последовательно собирая деобфускатор именно под этот код, т.к. нестандартно сделано и, опять же судя по коду, броузер-зависимо и событийно, так что мониторящие JS плагины в файрфоксе/хроме не увидят всей картины

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


Готовый код уже есть в теме, которую я указал. Но он не совсем понятен, люди как раз пишут, что непонятно, куда вставлять URL ссылки.
Мне интересно это именно с точки зрения прокачки моих скиллов в JS (которые стремятся к нулю), я расчитываю, что кто-то из JS-кодеров подскажет мне буквально "делай то-то и то-то, чтобы последовательно выполнить все эти функции и получить код". Я бы это проделал в свободное время и полученный понятный код выложил бы сюда. icon_smile.gif

2
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 18/03/16 в 08:11       Ответить с цитатойцитата 

дебажить и руками править
больше никак

3
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 18/03/16 в 18:31       Ответить с цитатойцитата 

тут даже не обфускация, а простая минификация кода. Немного нетривиальная.
к пример участок кода после
Код:
var exoWrap = (function () {

заменяй в текстовом редакторе значения на слова в кавычках. Уже более читабельно будет. Потихой можно восстановить.

2
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 18/03/16 в 21:57       Ответить с цитатойцитата 

Ailk писал:
тут даже не обфускация, а простая минификация кода. Немного нетривиальная.
к пример участок кода после
Код:
var exoWrap = (function () {

заменяй в текстовом редакторе значения на слова в кавычках. Уже более читабельно будет. Потихой можно восстановить.


Да, с этим я уже сам догадался, к примеру D1o.O2 (в самом начале) заменяем на d и так далее.

А что делать к примеру с этим:

'E9': function (o, X) { return o != X; }

Это же бессмысленная функция, и я поискал поиском, переменная D1o.E9 нигде не используется, т.е. это вставки, чтоб запутать деобфускатора?

И дальше, вот ты пишешь, меняй значения на слова в кавычках, а что делать к примеру с этим:

l4 = ((0xC4, 0x15E) > 31.1E1 ? (1.082E3, "A") : (7.83E2, 0x248) < 65 ? 139 : (0x159, 54.80E1) >= 0x238 ? (58., 'q') : (0x209, 0xCD)),


Что это за белиберда?

2
 



С нами с 22.05.04
Сообщения: 268
Рейтинг: 251

Ссылка на сообщениеДобавлено: 18/03/16 в 22:22       Ответить с цитатойцитата 

минификация это немного не так trollface.png

если образно - D1o.E9 нет, а вот blabla.e9 может быть, где blabla=D1o немного выше по коду

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

математические с константами - вычислять

Нестандартные задачи. Кастом программинг на ПХП. Оптимизация стороннего кода. Недорого, недешево.

7
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 19/03/16 в 00:01       Ответить с цитатойцитата 

dimm писал:
И дальше, вот ты пишешь, меняй значения на слова в кавычках, а что делать к примеру с этим:

l4 = ((0xC4, 0x15E) > 31.1E1 ? (1.082E3, "A") : (7.83E2, 0x248) < 65 ? 139 : (0x159, 54.80E1) >= 0x238 ? (58., 'q') : (0x209, 0xCD)),


Что это за белиберда?
числа в разных представлениях например 1.082E3 это 1.082 *10 в третьей степени. т.е. 1082. А формат 0x209 предполагает восьмиричную систему счислениня. Т.е. 521 в 10чной. оператор 1>0 ? true : false; это укороченный if else.

Код:
((0xC4, 0x15E) > 31.1E1 ? (1.082E3, "A") : (7.83E2, 0x248) < 65 ? 139 : (0x159, 54.80E1) >= 0x238 ? (58., 'q') : (0x209, 0xCD))


тоже что:
Код:

if ((0xC4, 0x15E) > 31.1E1) {
   l4 = (1.082E3, "A");
} else {
   if ( (7.83E2, 0x248) < 65) {
       l4 = 139;
   } else {
       if ((0x159, 54.80E1) >= 0x238) {
           l4 = (58., 'q');
       } else {
           l4 = (0x209, 0xCD);
       }
   }
}

А вот че значит эта поибень (0x209, 0xCD) я не в курсе. В жс сам ни бум бум smail101.gif
ага, подсказали. Тут работает оператор запятая. Т.е. вернет последнее значение из ряда в скобках.

5
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 19/03/16 в 00:28       Ответить с цитатойцитата 

еще момент по этой длинной херне.
заходишь на https://jsfiddle.net/

и прям вводишь в окошке для жс
Код:
var o = ((73, 0x1D9) >= 121. ? (2.530E2, 10000000) : (141.0E1, 43));
alert (o);

жмешь ран.
получится число там. Можно в скрипте подставлять.
var o = 10000000;

это чтоб не ебаццо с переводами smail101.gif

5
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 19/03/16 в 01:21       Ответить с цитатойцитата 

Отлично, спс! технологию понял, ща попробуем чучуть подсократить. ))

0
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 20/03/16 в 00:42       Ответить с цитатойцитата 

Тег code вставляет смайлы icon_surprised.gif

Вот сырой код http://pastebin.com/raw/aKHMX4jW

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

7
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 20/03/16 в 00:59       Ответить с цитатойцитата 

johndoe2 писал:
Вот сырой код http://pastebin.com/raw/aKHMX4jW


Спасибо тебе, добрый человек! smail54.gif
И это реально работает, в отличие от другого варианта (я давал ссылку в первом посте).

Офигеть, единственное, чего не понимаю, неужели реально руками разбирал? Или возможно как то это автоматизировать? Я вчера за час осилил раскодировать наверное пару процентов кода, после чего забил.

0
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 20/03/16 в 01:18       Ответить с цитатойцитата 

Можно сказать полуавтоматом.

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

9
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 25/03/16 в 03:53       Ответить с цитатойцитата 

Продолжаем интеллектуальные упражнения по выявлению идеального кода попандера (у меня экзокликовский не срабатывает в хроме вообще, например).

Есть код, который вроде бы правильно работает во всех браузерах, даже в Хроме открытая вкладка оказывается позади родительской.

Его нужно только привести в божеский вид и посмотреть что там (т.к. он обращается к какой-то лицензии в виде .swf объекта, я думаю это нужно убрать).

Я знаю, что можно простеньким скриптом с использованием регулярных выражений заменить обращения к элементам массива на их значения.

Ну и после этого можно будет переименовать переменные и будет уже совсем красиво.

Кто поможет?

Код: [развернуть]

1
 



С нами с 05.09.14
Сообщения: 53
Рейтинг: 85

Ссылка на сообщениеДобавлено: 25/03/16 в 10:47       Ответить с цитатойцитата 

dimm: Думаю, что так долго можно мучиться)
Хочу закинуть задачу на фрилансер куда-нибудь, тк самому хороший код нужен. Только ТЗ надо правильно сформулировать.

Я так понимаю приведенный код это весь код попандера? Значит надо:
1. Путем использованием регулярных выражений заменить обращения к элементам массива на их значения, те привести код в "читабельный" вид.
2. Переименовать переменные (здесь не понял что и зачем). Ведь, возможно, после первого пункта и так будет все понятно.

2
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 25/03/16 в 13:15       Ответить с цитатойцитата 

@dimm такую кучу кода лучше вставлять с pastebin. Парсер постов может вставить смайл и испортить код

Приведение в божеский вид делается совсем не так как вы думаете [

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

0
 



С нами с 05.09.14
Сообщения: 53
Рейтинг: 85

Ссылка на сообщениеДобавлено: 25/03/16 в 14:19       Ответить с цитатойцитата 

johndoe2: Так и напрашивается вопрос: "А как?")

0
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 25/03/16 в 14:37       Ответить с цитатойцитата 

johndoe2 писал:
@dimm такую кучу кода лучше вставлять с pastebin. Парсер постов может вставить смайл и испортить код

Приведение в божеский вид делается совсем не так как вы думаете [


Есть галочка "отключить смайлики" под формой для поста icon_wink.gif

А как?!

0
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 25/03/16 в 14:42       Ответить с цитатойцитата 

Seba писал:
dimm: Думаю, что так долго можно мучиться)
Хочу закинуть задачу на фрилансер куда-нибудь, тк самому хороший код нужен. Только ТЗ надо правильно сформулировать.

Я так понимаю приведенный код это весь код попандера? Значит надо:
1. Путем использованием регулярных выражений заменить обращения к элементам массива на их значения, те привести код в "читабельный" вид.
2. Переименовать переменные (здесь не понял что и зачем). Ведь, возможно, после первого пункта и так будет все понятно.


1) Это лишь мои мысли по приведению в божеский вид, говорят, что неправильные.

2) Ну потому что сейчас там автором скрипта целенаправленно создано награмождение символов, типа:

function() {
function _0xc221x1(_0xc221x2, _0xc221x3, _0xc221x4)

Это могло бы выглядеть например как:

function() {
function a(b, c, d)

Главное чтоб после всех этих преобразований это работало icon_biggrin.gif

1
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 25/03/16 в 15:43       Ответить с цитатойцитата 

dimm писал:
Есть галочка "отключить смайлики" под формой для поста icon_wink.gif

А как?!


Например вот так http://pastebin.com/raw/sU9umxdB -- тут ошибка

Вот исправленный вариант http://pastebin.com/raw/2TcyVhLP

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

8
 



С нами с 27.03.04
Сообщения: 2494
Рейтинг: 585

Ссылка на сообщениеДобавлено: 25/03/16 в 18:40       Ответить с цитатойцитата 

Работает!!!

И в Хроме работает!! Ты просто волшебник, самый лучший! smail54.gif

Спасибо!

1
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »