javascript => php

KOLANICH

Новичок
javascript => php

Код:
 r += "\\\\\"+" + gv + "._+" + n.toString(16).replace( /[0-9a-f]/gi, function(c){ return gv + "."+b[parseInt(c,16)]+"+"} );
надо перевести в php
 

weregod

unserializer
вроде не хватает информации, ибо n.toString(16) неканонично выглядит.

KOLANICH
свой код собрались обфусцировать?
 

KOLANICH

Новичок
обфускатор писал не я, код - свой, причём клиентам он должен идти уже в офусцированном виде (поэтому обфускацию решено было произвести на сервере)
код генерируется индивидуально для каждого клиента
так как обфускатор написан на js, а использовать node.js нельзя и не особо нужно, то возникла задача портировать обфускатор на пхп
n.toString(16) , если n - число, просто переводит его в hex (на выходе - строка без 0x)
если n- строка то ничего не происходит
у нас n- число

в пхп preg_replace нельзя передать функцию замены
в этом как раз проблема
 

freeek

Новичок
:D знакомый код,

пол года назад переписал его на php чисто из интереса, вопроса оптимизации не касался, просто и тупо:D

конкретно эта строчка

PHP:
$r .= ( '\\\\"+' . $gv . '._+' . preg_replace_callback('%[0-9a-f]%i', create_function('$matches', 'global $gv, $b; return ($gv . "." . $b[intval($matches[0], 16)] . "+");'), base_convert($n, 10, 16)) );

замечено, что не все работает коректно после обфускации, почему то
 

freeek

Новичок
ключевое слово
> я имел ввиду про исходный javascript обфускатор

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
цирк шапито с новой программой шоу трансвеститов
 
Сверху