Intereting Posts
Есть ли элегантный способ уменьшить структуру до простого массива? Проблема с кадрированием изображения из базы данных mysql с использованием PHP? Изображение отображается черным? php include_once не работает, несмотря на наличие файла и 777 разрешений Получить текст после иглы? php – перенаправление запросов ajax Как обрезать и выгружать фотографию с помощью плагина jQuery с помощью php Удаление последней запятой из цикла foreach Переменная Javascript внутри переменной php utf8_encode и Emoji проверка формы для различных условий в воспламенителе кода Превращение целого числа в случайную строку и обратно Взаимодействие доктрины «один-ко-многим» не спасет – нарушение ограничений целостности Нет почты, полученной во входящих почтовых ящиках с XAMPP 1.8.0, MercuryMail и mail () Ошибка анализа: синтаксическая ошибка, неожиданный T_OBJECT_OPERATOR Laravel, как запустить сервер в производстве

Как обфускать JavaScript с помощью PHP?

Например, как я мог бы запутать этот пример кода из:

/* The code below will write to a heading and to a paragraph, and will represent the start of my homepage: */ document.getElementById("myH1").innerHTML="Welcome to my Homepage"; document.getElementById("myP").innerHTML="This is my first paragraph."; 

в форму:

 var _0xcc34=["\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x6D\x79\x48\x31","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x57\x65\x6C\x63\x6F\x6D\x65\x20\x74\x6F\x20\x6D\x79\x20\x48\x6F\x6D\x65\x70\x61\x67\x65","\x6D\x79\x50","\x54\x68\x69\x73\x20\x69\x73\x20\x6D\x79\x20\x66\x69\x72\x73\x74\x20\x70\x61\x72\x61\x67\x72\x61\x70\x68\x2E"];document[_0xcc34[2]](_0xcc34[1])[_0xcc34[0]]=_0xcc34[3];document[_0xcc34[2]](_0xcc34[4])[_0xcc34[0]]=_0xcc34[5]; 

используя PHP?

Я знаю, что могу это сделать, используя http://javascriptobfuscator.com/, но мне нужно сделать это в моем PHP-файле, потому что он динамически изменяется.

ОК. О теории о том, как обмануть.

  • вам нужно знать язык, так как вам понадобится парсер для хороших результатов.
  • когда вы знаете, что к чему, тогда вы можете начать заменять вещи.

для очень глупого примера замените все экземпляры

document.getElementById('string'); с ab(cd('fgevat');

 function cd(s) { /* ROT13 implemented here*/ } function ab(s) { return document.getElementById(s); } ab(cd('fgevat'); 
  • вы можете использовать eval, чтобы избежать распаковки для очистки текста. и тогда вы можете пойти

как это

 function h(s) { /*implement hexdecode in an ugly way, and run eval() on the resulting string */} h('2020202066756e6374696f6e206364287329207b202f2a20524f54313320696d706c656d656e74656420686572652a2f207d2066756e6374696f6e206162287329207b2072657475726e20646f63756d656e742e676574456c656d656e74427949642873293b207d206162286364282766676576617427293b'); // which is the above code. 

это все r = 1 материал. И можно сделать лучше, с более глубоким пониманием языка, также это абсолютно тривиально, чтобы обратить вспять