Para que é utilizada a função personalizada(p,A,c,k,E,d)?
já vi muitos sites com algum {[[1]} no seu código javascript. Os diferentes sites podem ter corpo diferente desta função, mas por que todos eles usam este parâmetro Nomes (p,a,c,k,e,d)
? Quero dizer, é um padrão ou algo assim ou uma biblioteca, que eles sigam a mesma convenção.
Em segundo lugar, parece que esta função deve ser executada assim que a página carregar.Como o seguinte trecho de um site.
Pode ajudar-me a entender este código? usado para avaliar expressões como2+3
mas como o seguinte código está passando uma função para ele?
try{
eval(
function(p,a,c,k,e,d)
{
//some code goes here
}
}catch(err){}
Esta pergunta pode parecer estúpida,mas a sério, quero entender o mistério de, por isso, não menosprezes.
3 answers
Por isso, se utilizar http://matthewfl.com/unPacker.html como postei nos comentários, ele "desempacota" o código nisto:
(function()
{
var b="some sample packed code";
function something(a)
{
alert(a)
}
something(b)
}
)();
Não parece ser malicioso. Para um argumento suave sobre o porquê de usar isto, veja packer javascript versus minifier:
Embalado é menor, mas é mais lento.
E ainda mais difícil de depurar.A maioria dos quadros e plugins bem conhecidos são apenas minificados.
O Packer faz mais do que isso. mudar o nome de vars e argumentos, ele realmente mapeia o código fonte usando Base62 que então deve ser reconstruído no cliente lado via eval () para ser utilizável. O lado que pisa o eval() é o mal aqui, isso também pode criar um grande quantidade de despesas gerais no cliente durante a carga da página quando você começa empacotando bibliotecas JS maiores, como jQuery. É por isso que só faço minify em sua produção JS é recomendado, uma vez que se você tem Código suficiente para precisa de fazer a embalagem ou minify, você tem o suficiente código para fazer eval () sufocar o cliente durante a carga da página.
O Minifier só remove coisas desnecessárias, como caracteres de espaço em branco onde como um Packer vai um passo mais longe e faz tudo o que pode fazer para minimizar o tamanho do javascript. Por exemplo, muda o nome das variáveis para nomes mais pequenos.
Existem ferramentas online onde pode embalar e desfazer o código através do navegador, que usam a função.
Como já vi que eval(function(p,a,c,k,e,d){})
é usado em http://www.indiabix.com que o usa para esconder todo o conteúdo quando o utilizador obtém a página e a Abre . Talvez seja esse o funcionamento interno do código em particular.