Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

132
Visualizações
Cómo convertir una función en una cadena sin activación/uso de ningún módulo en javascript

Aparentemente, esto podría parecer un duplicado... pero déjame explicarte el problema.
Por el bien de la pregunta, TODO lo que puedo suponer es que mi código se ejecutará, no sé nada sobre los módulos (si son falsos o algo así) y solo puedo confiar en las cosas que se configuran en instancias que solo mi código controlará (o establecerá originalmente que no se pueden configurar)

Lo que quiero hacer es, como dice mi encabezado, convertir una función en una cadena. Sin embargo, todos mis intentos de conversión dependen de un módulo que el cliente puede sobrescribir.

 Function.prototype.toString=()=>"pwned" //work of the client //failed attempts to convert to string below console.log(`${Object.keys}`) //"pwned" console.log(Object.keys+'') //"pwned" console.log(Object.keys.toLocaleString()) //"pwned"

Comenzando con la única suposición que estoy haciendo (que mi código se está ejecutando), probé esto a continuación, sin embargo, devuelve indefinido (pensé que devolver nada de alguna manera lo convertiría en la cadena predeterminada)

 //infinityLoop is a function I write(all this is inside another self calling function) and the name suggests what it does //the concept in this example is to run the code and if it smells anything suspicious, infinite loop try{(function(href){ var symbol=Symbol.toPrimitive, c=1, here=arguments.callee var testObj={[symbol]:function(){return here===arguments.callee.caller?c++:infinityLoop()}} if(testObj-0!==1 || c!==2){throw "bruh"} function str(item){ var measure=null, unit={}, count=0 function verifier(hint){ const condition=hint!=="default" || this!==item || verifier.caller!==str || count!==0 if(condition){infinityLoop()} else{ measure=unit; count++ } } item[symbol]=verifier; const string=item+'' if(measure!==unit || count !==1){throw "bruh"} delete item[symbol]; return string } str(Object.keys) //"undefined" //I get to control the conversion but I still can't convert it ;-; })()}catch{infinityLoop()}

¿Es posible convertir una función en una cadena sin módulos sobrescribibles o es una pregunta ridícula e imposible?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esto no es posible.

Si no controla ni confía en el entorno que ejecuta el código, tampoco puede controlar ni confiar en lo que hace el código.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda