问题标签 [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.

0 投票
1 回答
334 浏览

c - 0 != 在这段代码中有什么作用?

0 !=这段代码做了什么:

这是一个简单的字符串到二进制的转换。我理解,`("HELLO"[i/8] & 1 << (~i&7))但我无法理解该0 !=部分,如果我删除它,它就不起作用。

有没有深入教授按位运算的网站?

0 投票
1 回答
1947 浏览

android - 如何验证我的应用程序 apk 是否正确混淆?

我在 Eclipse 上使用 Proguard 混淆了我的 android 应用程序,现在我必须验证它是否正确混淆了所有类、方法和成员。

有人可以给我一些输入如何进行此验证吗?

0 投票
1 回答
987 浏览

javascript - 如何使用 nodejs 破解或破坏混淆

我看过一些网站,它显示其余页面的第一页源。例如,如果我们访问 xxxx.com 的第一个页面并查看其页面源,如果我们访问 xxxx.com 的第二页网页内容不同,我们会在 fire bug 等工具中看到第二页网页内容,但是当我们查看第二页网页时source 然后在第 2 页源中,我们只有第 1 页源。这称为混淆。我的问题是,是否有任何技术或机制可以仅查看第二页源代码。如果它在那里怎么可能。我们也可以对我们的网站做或采用相同的技术吗?如果是怎么回事?

我是网络域的新手。请帮我。

0 投票
1 回答
873 浏览

encryption - 这是什么样的加密?

我正在和我的朋友们进行拼图比赛,我被困在这个问题上:

有谁知道这是什么样的加密?我真的不期待答案,但我我排除了凯撒式密码,我想知道是否有人可以识别这种加密(如果它有帮助,我认为它是从网站的电子邮件生成的地址混淆器)。

感谢您的帮助(并对可能愚蠢的问题感到抱歉)!

0 投票
2 回答
1299 浏览

perl - Deparsing/Decomposing - 一步一步的混淆 perl 脚本

作为标题 - 请任何人解释下一个脚本是如何工作的

这将打印文本:“Perl guy are smart”

这仅打印“b”

perl -MO=Deparse 仅显示以下内容:

但不知道为什么... ;(

像脚本一样分解的推荐方法是什么?如何开始?

所以,尝试了这个:

几个部分由 连接.。并且按位的结果^可能给出了文本部分。这:

打印“Perl guy are smart”和第一个^生成的“print”。

但是,当我将其重写为:

我的 perl 告诉我:

奇怪,我第一次看到这样的错误消息...

这意味着:不允许用 , 替换'str1' ^ 'str2', result(不明白为什么)以及为什么 perl 会打印恐慌消息?

我的perl:

ps:这里生成例子

0 投票
2 回答
2539 浏览

java - 反混淆 Java,在 jar 中批量重命名类

我有一个 jar,其中的类文件已被混淆。我很乐意手动对其进行去混淆处理,但问题是类名太长以至于 Windows 无法将它们保存到磁盘。是否有任何工具可以放入一个 jar 并重命名所有类,最好还有方法和字段?

此外,不要回答说没有充分的理由进行反编译等,因为它们既不向社区贡献任何有用的信息,也不成立。就我而言,我正在检查此特定应用程序中的安全问题。

0 投票
1 回答
83 浏览

deobfuscation - 自动变量重命名字典

我正在开发一个 Java 反混淆工具,我计划实现的功能之一是用更容易记住的名称自动重命名类和方法。我的计划是有一个文本文件,其中包含数百个基于随机独特英语单词的可能名称。但是,我不确定从哪里可以获得这样的列表。

我遇到了这个,它对 Perl 做同样的事情。但是,尚不清楚它使用的是什么字典。

有没有人对获得此类列表的最佳方式提出建议?理想情况下,这些词都是独特且令人难忘的,并且不会与常见的编程关键字或术语发生冲突。

0 投票
1 回答
108 浏览

coldfusion - CFWheels - 查询分页上的 DeObfuscate ID?

我在我的应用程序中混淆了 URL(这很棒),但我想为分页 URL 禁用此功能,因为我希望用户能够输入他们喜欢的任何数字。

设置.cfm:

Home.cfc(控制器):

Home.cfm(查看)

我可以根据需要进行 DeObfuscate 吗?

谢谢,迈克尔

0 投票
2 回答
842 浏览

javascript - 有没有比象形文字更难混淆 javascript 函数的方法?

我正在开发一个在线国际象棋变体游戏。我想创建一个 javascript 函数,其目的是代表玩家与服务器通信花费在移动上的确切时间。

当然,这条消息会被加密,但为了信任这个函数,我想把它混淆到可以依赖混淆算法的程度。

我只知道一些混淆算法,象形文字是最有趣的。但它并非牢不可破。执行速度和大小并不重要,我可以在同一个函数中扣除发送消息的函数所花费的时间,大小甚至可以达到 2MB。

我很确定没有牢不可破的算法,因为只要它需要在浏览器中运行,任何有足够耐心的人都可以一块一块地看它的作用。

我是否有一个需要恶意用户付出更多努力和时间的替代方案?

编辑我已经在 WindowsXP 上的每个浏览器中进行了一些测试,似乎在 FF、IE、Opera 和 Chrome 中,该setTimeout函数将在作为第二个参数传递的延迟后触发,而不管延迟期间系统时间的任何变化。如果没有提供其他信息以表明其他情况,则合乎逻辑的结论是,无论系统时间如何变化,都可以在客户端测量时间,使用 setTimeout 函数而不是 Date() 对象,达到 setTimeout 延迟给出的精度时间。

Hamish 在下面的回答中提到修改浏览器日期/时间 API 是微不足道的。在这种情况下,javascript 代码很容易受到会增加 setTimeout 实际延迟时间的修改。应该设置一些代码,以便服务器应该开始怀疑欺骗具有不合理延迟时间的人。如果延迟时间不包括在思考时间中,这将始终是一个问题。

我不能使用服务器端计时是有原因的。延迟时间有时会超过合理的数量,这会让用户不满意。有时滞后可以使一切变得不同。

这让我回到了最初的问题。我正在寻找最好的混淆方法,其中最好的衡量标准是攻击者必须做出去混淆的努力。理想情况下,我希望更改混淆算法的速度快于攻击者可以反混淆的速度,然后在攻击者无法预料的情况下不再使用该算法或很少使用它。

0 投票
3 回答
2619 浏览

java - 迄今为止最好的 Java 反混淆工具 - [ques Closed]

我们已经混淆了我们的 java 源代码并且目前正在处理它,所以让我们的源代码傻瓜证明混淆时要做什么?,如何防止去混淆?和

目前可用的所有去混淆开源工具有哪些?