日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)...

發布時間:2023/12/19 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在使用Javascript編寫應用程序.我正在尋找一種隱藏代碼的方法,我想我已經找到了一個使用Java Applet的代碼.

無論如何,我認為只有在評估js匿名函數的代碼后仍然無法以任何方式訪問它時,才應該可行.

(function(){...}).call(obj)

小程序可以獲取對它們所在的瀏覽器窗口的引用,并調用其eval方法來評估js代碼:

// java code

JSObject window = JSObject.getWindow(this);

window.eval( "(function(){"

+ ...

+ "}).call("

+ thisObjectName

+ ")" );

因此,我可以通過以下方式更改我的js代碼,即一些函數而不是將它們的代碼放入內部,而是調用applet函數,該函數要求窗口評估原始js函數代碼,并將一個匿名函數傳遞給窗口,因此功能參考仍然存在.當然,js函數必須為java函數指定對象的名稱(this),并且java函數必須組成匿名函數,將一個調用添加到call(objectName)方法中,以正確使用this引用.

MyJsClass.prototype.func = function() { ... };

成為:

MyJsClass.prototype.func = function()

{

...

myApplet.evalJsCode(thisObjectName);

...

};

[更新]我的主意不好有兩個原因

> Java字節碼(.class)易于反編譯(感謝Pointy)

> Applet調用的window.eval函數與您可以通過javascript覆蓋的完全相同(感謝Yoshi)

解決方法:

您是否考慮過以下可能性?

?window.eval = function (code) {

console.log('code');

};

eval('alert(1)');

意思是,幾乎不需要費力就可以覆蓋eval函數.

標簽:applet,javascript

來源: https://codeday.me/bug/20191101/1984840.html

總結

以上是生活随笔為你收集整理的java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。