问题标签 [deobfuscation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 您将如何对此进行逆向工程?
我有一些代码位于 javascript 中的 php 文件的底部。它经历了许多奇怪的扭曲,比如将十六进制转换为 ascii,然后进行正则表达式替换,执行代码等等......
有没有办法在它实际执行之前找出它正在执行的内容?
代码在这里:
java - (2009) - 反混淆 Java 代码的工具
是否有一个工具可以对 java 混淆代码进行反混淆?
这些代码是从编译的类中提取的,但它们是模糊的且不可读的。
javascript - 请解释这个奇怪的 Javascript 行
我遇到了一段代码:
有人可以通过解释 for() 括号中的内容来帮助我吗?
javascript - 帮助反混淆这个 JS 攻击
我有一段讨厌的 javascript 想要去混淆。我知道我可以启动一个虚拟机并看到恶意软件的所有荣耀,但我更感兴趣的是不让它运行,而是以非混淆的形式查看它。如果它需要运行才能做到这一点,那么就这样吧,我猜。任何人都知道如何在不损害自己的情况下做到这一点?
谢谢,蒂姆
编辑:这是代码(一个衬里,它在脚本标签之间)。这是发给我的,我无权访问服务器。
再次编辑:我之所以选择 Matthew Flaschen,是因为经过他、Russ Cam 和其他人的研究之后,他、Russ Cam 和其他人都帮助阐明了这种特殊攻击的作用以及如何处理这类事情。马修碰巧跳得最快。
注意:在试图深入了解这一点的过程中,我发现了一个非常方便的工具,叫做 Malzilla。如果您需要做这种事情,它有很多很好的实用程序。谢谢大家!
javascript - 任何在生成的混淆代码中不使用 eval 的 JavaScript 混淆器?
我正在寻找一个在结果混淆代码中不使用 eval 的 JavaScript 混淆器工具。
到目前为止,我看到的所有工具都在结果代码中使用 eval。
android - 拆解安卓应用
事实证明,谷歌建议混淆你的 Android 应用程序。
为了理解这个问题,我想反汇编我自己的应用程序,看看我可以从代码中提取什么信息。我该怎么做呢?
.net - 编译的 .NET 应用程序 - 在运行时获取属性值
我有一个软件,它被混淆了。我需要获取它分配给控件的特定属性的值。EXE 反混淆不是一种选择。有什么工具可以用来在运行时获取价值吗?可以在调试器中完成,如果可以,那么如何?
javascript - AJAX 返回要解析的 javascript 会导致页面内容丢失
因此,我最近一直在编写一个脚本来混淆客户端代码,以保护知识产权,而不会干扰结果页面的外观或交互性。过程如下:
- HTTP 请求进来,.htaccess 重定向 (.*) 到 parse_request.php
- parse_request.php 创建一个“phpURLParser”类,其类变量本质上是 $_SERVER 变量的副本
- phpURLParser 查看请求的路径,有时还会查看主机、引用者或其他服务器端信息以确定如何做出反应。有几种可能的反应
一种。请求的对象是 .js 或 .css 文件。将文件传递给 YUI Compressor 并发送输出
湾。请求的对象是图像或应用程序。通过文件而不做任何更改
C。请求的对象包含 HTML。将每个 ASCII 字符替换为其等效的 2 位十六进制字符并发送以下 javascript:
所以网站被大量的十六进制和一个小的 javascript 所取代,以将十六进制恢复为原始形式。我在examples.chikachu.com/colorbox/example1上有一个这个设置的例子(我没有编码ColorBox,它是一个免费的jQuery工具,我选择使用它,因为它允许我测试几个不同的javascript特性并确保它们都工作)
现在解决问题:
事实证明,这在 99% 的时间里都有效。但是 AJAX 让它生气了。单击其中一个 AJAX 示例(在“其他内容类型”下)看起来会将您重定向到新页面。但是,查看地址栏或查看页面源代码将证明您仍在同一页面上。使用 Chrome 中的 Inspect Element 工具(或 Firefox 中的 Firebug)将显示网页的内容完全被 AJAX 请求的内容所取代。
如果我稍微修改 parse_request.php 以允许 AJAX 请求的文件不受伤害地通过,一切正常。没问题。因此,出于某种原因,我的脚本用有意义的 HTML 对应物替换了十六进制字符串,它覆盖了整个网站,而不是很好地将自身插入到 <div> 对象的范围内。
基本上这里是预期的非混淆 HTML:
仅对 AJAX 进行了混淆,我期望以下内容:
我希望此处的 document.write() 行将在 javascript 的位置(在 <div> 内)写入 y。如果我弄错了,那不是 document.write() 的工作方式,我仍然希望它在文档末尾写 y 。而是将整个文档替换为 y。为什么会这样,我的解决方案是什么?
obfuscation - 出版软件
我正在开发一款我想最终出售的软件。现在,我可以与有兴趣使用它并对其进行测试的人分享它,也许在网页上作为 alpha 版本。但我不希望人们窃取我的代码。代码混淆器会完成这项工作吗?我也应该对它或类似的东西进行版权保护吗?我真的不知道从哪里开始,所以任何帮助都会有所帮助。
firefox - 单击后从浏览器获取未混淆的源
一个网页有一些内容以某种复杂的方式混淆(至少对我来说)。我无法从页面源中破译它。无论如何,当单击页面上的链接时,会调用 onclick java 函数并且页面变得可读。此时,浏览器中生成的源代码也是可读的。
是否有可以在 Firefox 中加载页面、单击链接然后获取未处理的 html 的编程工具(如 mechanize 或 sth.,最好是 perl)?
任何建议如何解决这个问题?