簡體   English   中英

Nashorn中的編碼/解碼Javascript

[英]Encoding/Decoding Javascript in Nashorn

我使用此處描述的技術: http : //scriptasylum.com/tutorials/encode-decode.html

簡而言之,有一個如下所示的javascript文件,其中實際的javascript編碼如下:

document.write( unescape( 'escaped string' ) ); dF('encoded javascript');

我現在想在Nashorn下運行相同的.js模塊,但是Nashorn沒有文檔對象。 因此,我不能執行document.write()。

注意:眾所周知,此技術很容易被繞開,人們只有中等技術才能仍然可以查看實際代碼。 我的用例不需要強大的安全性,因此不必擔心。 就是說,請考慮有關為什么不應該將此作為主題的答案。 謝謝。

基本上,該代碼分為兩部分:

  1. 通過unescape混淆字符串。

  2. 通過document.write.將字符串寫出document.write.

聽起來您出於某種原因想直接使用該字符串。

您至少有兩個選擇:

  1. 您可以使用接受字符串的write方法將document對象提供給腳本引擎。 然后,您可以隨心所欲地使用它。 (或者在使用您要調用的任何函數評估字符串之前,用document.write代替。)

  2. 最后刪除document.write(和相應的) ,讓引擎評估該字符串並將其作為ScriptEngine#eval的結果直接交給您。

無論哪種方式,您都將得到一個字符串,然后可以使用它進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM