草庐IT

Javascript eval - 混淆?

coder 2024-07-22 原文

我遇到了一些评估代码:

eval('[+!+[]+!+[]+!+[]+!+[]+!+[]]');

此代码等于整数 5。

这种东西叫什么?我试过在网上搜索,但我似乎无法弄清楚这指的是什么。我觉得这很有趣,想知道在哪里/如何学习如何打印不同的东西,而不仅仅是整数 5。字母、符号等。因为我无法在该代码中指出一个模式,所以我有 0成功从中获取并添加到它以产生不同的结果。

这是某种混淆吗?

最佳答案

除了 eval() 之外,这种类型的混淆被称为非字母数字混淆。 要完全非字母数字,eval 必须由 Array 构造函数原型(prototype)函数和下标符号执行:

[]["sort"]["constructor"]("string to be evaled");

然后将这些字符串转换为非字母数字形式。

AFAIK,它是 Yosuke Hosogawa 于 2009 年左右首次提出的。 如果您想实际查看它,请查看此工具:http://www.jsfuck.com/

它不被认为是一种好的混淆类型,因为它很容易逆向回到原始源代码,甚至不必(静态)运行代码。此外,它还会极大地增加文件大小。

但它是一种有趣的混淆形式,用于探索 JavaScript 类型强制转换。要了解更多信息,我推荐此演示文稿,幻灯片 33: http://www.slideshare.net/auditmark/owasp-eu-tour-2013-lisbon-pedro-fortuna-protecting-java-script-source-code-using-obfuscation

关于Javascript eval - 混淆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878349/

有关Javascript eval - 混淆?的更多相关文章

  1. ruby - 关于 Ruby 中 Dir[] 和 File.join() 的混淆 - 2

    我在Ruby中遇到了一个关于Dir[]和File.join()的简单程序,blobs_dir='/path/to/dir'Dir[File.join(blobs_dir,"**","*")].eachdo|file|FileUtils.rm_rf(file)ifFile.symlink?(file)我有两个困惑:首先,File.join(@blobs_dir,"**","*")中的第二个和第三个参数是什么意思?其次,Dir[]在Ruby中有什么用?我只知道它等价于Dir.glob(),但是,我对Dir.glob()确实不是很清楚。 最佳答案

  2. ruby - RVM Gemsets 和 Ruby Gemfile 混淆 - 2

    请有人帮助我了解ruby​​应用程序如何管理应用程序的gemfile和rvmgemsets。如果我当前使用的是Gemset,安装了一堆gem,并且我的gemfile中也有gems,那么Ruby应用程序是使用gemfile中的gem还是应用程序的gemset中的gem? 最佳答案 要理解这一点,您需要退后一步,了解ruby​​gems的一般工作原理。让我们从一个没有rvm或Gemfile的系统开始。当您通过“geminstall”安装gem时,它会进入系统gem位置。每当您编写ruby​​脚本并需要gem时,它就会从那里获取。现在假设

  3. Ruby - 数组方法混淆 - 2

    我们可以像这样在顶层调用Array方法Array(something)这对我来说很有意义,它是一个没有显式接收者的方法调用,并且在本例中是main的self被插入到方法调用的前面。但这不是等同于:Kernel.Array(something)这对我来说没有意义。由于在第一种情况下,对象main属于Object类,其中混入了Kernel模块,因此具有Array方法。但是在第二种情况下,我们在内核模块对象本身而不是主对象上调用Array方法,它们不是一回事吗?抱歉我的英语不好。 最佳答案 Kernel.Array是所谓的模块函数。模块函

  4. ruby - 与 Ruby 的 <=> 运算符混淆 - 2

    我对Ruby的运算符感到困惑。它与==或===有何不同?任何综合示例/用例?谢谢。 最佳答案 是组合比较运算符。如果LHS等于RHS,则返回0;如果LHS大于RHS,则返回1;如果LHS小于RHS,则返回-1 关于ruby-与Ruby的运算符混淆,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4746129/

  5. Ruby 代码混淆 - 2

    这个问题在这里已经有了答案:Rubyobfuscator[duplicate](3个答案)关闭9年前。我必须混淆ruby​​代码以隐藏敏感源。我需要朝着正确的方向前进才能实现我想要的,所以:是否有Python的pyc的Ruby替代品?,我在许多gem中看到了version.rbc文件。它是如何产生的?此过程是否适用于其他(复杂的,而不仅仅是简单的版本声明)类型的Ruby文件?RubyEncoder可以完成这项工作(可以吗?帮我解决这个问题),但它需要购买许可证。这就是为什么我会将其视为最后的手段。任何其他建议

  6. Ruby 的 String#hex 混淆 - 2

    我发现Ruby中的String#hex没有为给定的字符返回正确的十六进制值很奇怪。我可能误解了这个方法,但举个例子:'a'.hex=>10而“a”的正确十六进制值是61:'a'.unpack('H*')=>61我错过了什么吗?什么是十六进制?任何提示表示赞赏!谢谢 最佳答案 String#hex不会为您提供字符的ASCII索引,它用于将base-16数字(hexadecimal)从字符串转换为整数:%riString\#hexString#hex(fromrubysite)------------------------------

  7. ruby-on-rails - Ruby on Rails 源代码安全/混淆 - 2

    这个问题在这里已经有了答案:EncodingRubyonRailscode?(5个答案)关闭3年前。我刚刚开始使用RubyonRails开发,我有一个关于源代码“隐私”的问题。据我所知(我还没有做过部署,只是在本地开发环境中使用了RoR),当部署RoR应用程序时,所有源代码都是“可见的”"在服务器上?我怎样才能保护我的代码;可以这么说?我所说的保护是指,主要目的是某人(例如RoR提供商的服务器管理员)无法通过轻松找出代码中“摆弄”的位置来“破坏”代码与”。Shopify、Yellowpages等使用RoR的网站如何确保其代码未被“破坏”?更新我真正要寻找的是,假设如果我有一些进行信用卡

  8. ruby-on-rails - Devise 和 ActionMailer 混淆 - 2

    我正在使用Devise进行身份验证,但我对如何使用它设置邮件感到困惑。您仍然应该创建自己的邮件程序和初始化程序文件,还是应该通过Devise发送所有邮件?您在Devise中的什么位置创建电子邮件模板和发送电子邮件的方法?我意识到这是一个宽泛的问题,所以基本上我想问的是使用Devise设置邮件的最佳方式是什么?此外,如果您想在用户确认电子邮件后向他们发送电子邮件,您会怎么做? 最佳答案 Devise确实创建了自己的Mailer——如果您在GitHub上查看https://github.com/plataformatec/devise/

  9. ruby - 类/对象悖论混淆 - 2

    在TheWellGroundedRubyist(excerpt)一书中,DavidBlack谈到了“类/对象鸡和蛋的悖论”。我很难理解整个概念。有人可以用更好/更简单/类比/其他术语解释它吗?引用(强调我的):TheclassClassisaninstanceofitself;thatis,it’saClassobject.Andthere’smore.RemembertheclassObject?Well,Objectisaclass...butclassesareobjects.So,Objectisanobject.AndClassisaclass.AndObjectisacla

  10. 机器学习之混淆矩阵 confusion_matrix - 2

    1.这里介绍由 sklearn.metrics.ConfusionMatrixDisplay 所给出的关于混淆矩阵的一个小例子,来进行理解混淆矩阵及如何应用混淆矩阵来对数据进行分析2.先了解混淆矩阵的一些基本信息,这里规定正类为1,负类为0TP(TruePositives):预测为1,而真实的也为1(即正类判断为正类,1判断为1)TN(TrueNegatives):预测为0,真实的也为0  (即负类判断为负类,0判断为0)FP(FalsePositives):预测为1,真实的为0    (即负类判断为正类,将0判断为了1)FN(FalseNegatives):预测为0,真实为1    (即正类

随机推荐