Jasob是一款专业的javascript混淆器。如果你正在寻找一款好用的JS混淆器你一定不能错过Jasob。该软件会混淆JavaScript代码,从而有效地保护您的代码不被他人窃取和修改。它提供了全面的分析工具。集成的语法高亮显示使您可以仔细分析代码,但不支持对其进行编辑。在真正隐藏所有内容之前,您需要运行分析,因为应用程序使您可以完全自定义混淆过程。在专用面板中列出了所有收集的数据,即代码中使用的函数和变量。相应的详细信息将显示在每个元素旁边,更改后将显示遇到次数,长度,大小和减少的字段。一般来说,该软件为您提供了一个简单而完善的JavaScript模糊解决方案,需要它的用户可以快速下载它!
常见问题:
有没有一种在不删除空格字符的情况下对文件进行混淆的方法,以便可以在调试器中找到可能的错误?
是的,您可以选择是否要从JavaScript,CSS和非JavaScript / CSS代码(例如HTML)中删除所需文件的空格字符。要不从混淆的代码中删除空格字符,请在项目文件列表中右键单击该文件,然后从上下文菜单中选择“设置...”。 “文件设置”对话框将显示在“客户端JavaScript”和“ CSS代码”选项卡上。您将在JavaScript代码和CSS代码选项中看到空格的删除。您应该取消选中相应的选项。在同一个对话框中,但在其他选项卡上,非JavaScript / CSS代码中的空格已删除如果您不想从非JavaScript / CSS代码中删除空格字符(例如HTML),则应取消选中此选项。
我正在尝试使用Jasob,但此方法更像是组件开发,在该开发中,不应更改所有全局变量,并且应混淆所有函数参数名称和局部变量。是否可以做这样的事情?
如果您使用Jasob GUI,则在分析文件后,请检查名称列表中的“状态”列。它包含每个名称的各种信息。 G(全局)状态标志指定名称是否为全局。如果在任何功能之外都找到至少一个名称,则G状态标志将自动设置。因此,全局名称(变量,函数...)具有G状态标志,而所有其他名称都是本地的。您可以从名称列表上下文菜单中的名称列表中对名称进行分组,方法是选择“分组依据”>“状态”>“按G(全局)状态标记”“全局”,然后快速标记或取消标记每个组中的歧义名称。有关可用状态标志的更多信息,请参阅《 Jasob用户指南》(“分析文件/开始分析”部分)。使用Jasob命令行时,可以通过指定/ unmarkglobal命令行参数来标记混淆的全局名称。有关命令行混淆的更多信息,请参阅《 Jasob用户指南》(命令行参数部分)。此外,请确保已检查Jasob用户指南中有关如何混淆DHTML组件的示例(示例/示例:如何混淆DHTML组件)。
我正在按照我的期望运行它,遇到了问题。如果混淆过程正在更改HTML文档中ID属性的值,则还应对关联的.js文件中的所有相关document.getElementById(“ elementID”)引用进行相同的更改。但是,我永远不能让Jasob做到这一点。我必须在Jasob中进行哪些设置以更改HTML文件中ID属性的值以及.js文件中document.getElementById(“ elementID”)引用的值?
Jasob还应该混淆关联的.js文件中ID属性的值,只需确保在Jasob中打开了JavaScript字符串混淆功能即可。请参阅上一个问题的答案,该问题涉及Jasob中可用的字符串混淆选项,除非您遇到这种情况,否则应使用这些选项打开字符串混淆。例如,要在源代码中指定一个应该混淆字符串的区域,您将使用一个元素而不是一个元素,这将关闭指定区域中的字符串混淆。有关字符串混淆选项和用于字符串混淆的其他元素的更多信息,请参阅《 Jasob用户指南》(“文件类型/客户端JavaScript和CSS代码”部分)。
我只想知道Jasob是否支持将字符串字符转义为十六进制值?似乎找不到该选项...
是的,Jasob支持将字符串字符转义为十六进制值。您实际上可以指定文件中的哪些字符串,希望Jasob将字符转义为十六进制值以及应转义为十六进制值的字符串字符的数量(百分比)。例如,如果要将一定数量(百分比)的字符串字符转换为文件中所有字符串的十六进制值,则可以在项目文件列表中右键单击该文件,然后选择“设置...>客户端JavaScript并上下文菜单中的CSS Code选项卡,以确保该选项在保存时不对所有JavaScript字符串进行随机字符检查。在此选项右边的编辑框中,输入应以十六进制值转义的随机字符串字符的百分比。如果要将所有字符串字符转义为十六进制值,请在第
e编辑框。但是,在大多数情况下,您可能不想对文件中的所有字符串使用相同的设置。在这种情况下,可以通过指定实际应转义的不同数量的随机字符串字符,来使用源文件中的元素来指定将字符串字符转义为十六进制值的区域。例如,要将50%的字符串字符转义为文件中指定区域中的十六进制值,可以使用以下代码:
//
Var str =“
//
请注意,对文件进行混淆后,字符串字符将不会在文件查看器(“模糊”选项卡)中转义。这是由于Jasob GUI中提供了各种导航操作。当模糊文件被保存时,字符串字符将被其转义序列替换,但是,混淆完成后,用于转义序列的其他字符将立即包含在文件的统计信息中。有关将字符串字符转义为十六进制值的更多信息,请参阅《 Jasob用户指南》(“文件类型/客户端JavaScript和CSS代码”部分)。
我有一个PHP文件,它实际上是一个包含一些服务器端PHP代码的JavaScript文件。我无法适当地混淆此类PHP文件,因为Jasob将这些PHP文件中的非服务器端代码视为HTML代码而不是JavaScript代码。有解决这个问题的方法吗?
当然。某些PHP,ASP,ASP.NET,JSP ...文件通常以这种方式出现。要正确模糊这些文件,请右键单击项目文件列表中的文件,然后从上下文菜单中选择“设置...>客户端JavaScript和CSS代码”选项卡,并确保整个文件选项均为JavaScript代码。您可能需要先取消选中HTML元素,ASP.NET元素,JSP元素,XML元素和CFML元素,整个文件的选项是要启用的JavaScript代码选项。
我有一个很大的.js文件,它链接到其他ASP.NET页。问题是我不想混淆.js文件中的所有名称,因为服务器端VB.NET代码使用一些JavaScript函数名称。我可以指定在.js文件中不要混淆哪个函数名称,还是有其他方法可以实现?
在Jasob中,几乎没有什么方法可以将某些名称(变量或函数)从混乱中排除:
1.在Jasob中打开并分析文件后,名称列表中将填充名称,您可以在标记过程中标记某些名称以进行混淆,以混淆名称列表中的所有其他名称。成功模糊文件后,可以使用Jasob项目(或网站设置)保存更改。然后,您还可以使用/ src:和/ wss:命令行参数在命令行模式下使用Jasob项目(或网站设置)。有关命令行混淆的更多信息,请参阅《 Jasob用户指南》(命令行参数部分)。
2.要维护具有特定设置的名称列表(已标记或未标记以混淆),您应创建一个名称包,然后将名称包设置应用于名称列表中的名称。要创建名称包,请从主菜单中选择“混淆”>“名称包...”,然后从名称包上下文菜单中选择“添加...”以将名称添加到名称包中。创建名称包后,通过从名称包上下文菜单中选择“保存”将其保存到文件中。现在,当您的名称包对特定名称具有特定设置时,您可以首先在名称列表中标记所有名称混淆,然后将名称包中的设置应用于名称列表中的名称。在名称包中设置名称
要在名称列表中应用名称,请从名称包上下文菜单中选择“全部应用”。或者,如果您只想将设置应用于名称包中的某些名称,请从名称包中选择这些名称,然后从名称包上下文菜单中选择“应用”。有关名称包的更多信息,请参阅《 Jasob用户指南》(“名称包”部分)。使用Jasob命令行时,可以使用以下命令行参数来使用名称包:
/ nb:
/ nbset
/ nbget。有关更多信息,请参阅《 Jasob用户指南》(某些命令行参数)。 3.您可以通过从主菜单中选择“混淆”>“使用前缀标记名称” ...来自动标记或取消标记具有特定前缀和/或后缀的晦涩(或仅选择)名称。有关更多信息,请参阅《 Jasob用户指南》(对文件/标签名称进行混淆,以便对带有前缀和/或后缀的名称进行混淆/标记)。使用Jasob命令行时,可以使用以下命令行参数来标记或取消标记具有特定前缀和/或后缀的歧义名称:
/ markprefixes:
/标记后缀:
/ markprefsuffcs
/ unmarkprefixes:
/ unmarks后缀:
/ unmarkprefsuffcs。
有没有一种方法可以使我排除JavaScript变量和函数,而不会感到困惑?
是的,您需要创建一个名称包以维护具有特定设置的名称列表(标记为混淆的或未标记的),然后将名称包设置应用于名称列表中的名称。有关名称包的更多信息,请参见上一个问题的答案。
我想混淆.js文件和HTML文件中的JavaScript代码,但是我不想混淆HTML文档中ID和NAME属性的值以及JavaScript中引用的值代码(例如,通过document.getElementById(“ MyIDName”)“)或docment.MyFormName.MyFieldName)如何将它们从混乱中排除?
通过从主菜单中选择“混淆”>“在元素中标记名称...”,可以自动标记或取消标记在某些元素和/或属性中发现的歧义(或仅选择)名称。将出现一个对话框。对于您的情况,应在“属性”编辑框中输入“ id名称”(不带引号),单击“取消标记名称”单选按钮并确保选项区分大小写。经检查。有关更多信息,请参阅《 Jasob用户指南》(对文件/标签名称进行混淆,以对元素和/或属性中的文件进行混淆/标记)。使用Jasob命令行时,可以使用以下命令行参数来标记或取消标记在某些元素和/或属性中发现的歧义名称:
/ markelements:
/ markattributes:
/ markelemattrcs
/取消标记:
/未标记属性:
/ Unmarkelemattrcs。
我的ASP.NET文件具有自定义标签,例如...,其中包含某些属性值中的JavaScript代码。我还可以混淆JavaScript代码吗?
是。您必须指定哪些ASP.NET元素和/或属性包含JavaScript代码,然后Jasob还将分析并混淆内容。要定义包含JavaScript代码的ASP.NET元素和/或属性,请从主菜单中选择Obfuscate>选项...> ASP.NET选项卡。右键单击“选项”对话框上的“ ASP.NET元素”列表,然后从上下文菜单中选择“添加...”。将出现一个对话框。在您的情况下,应在元素编辑框中输入“ ASP:mycustomcomponent”(不带引号),在属性编辑框中输入“ $ Server-side ='true'jsonclick”(不带引号),然后单击“确定”。按钮。实际上,您应该将所有自定义ASP.NET元素和/或ASP.NET文件中包含JavaScript代码的属性添加到“选项”对话框中的ASP.NET元素列表。有关更多信息,请参阅《 Jasob用户指南》(“选项/ASP.NET”部分)。
软件特色:
一种高效可靠的软件解决方案,旨在帮助用户保护其JavaScript代码不被窃取或修改。
随着用于编程的应用程序变得越来越用户友好,重要的是保护代码免遭盗窃。一种流行且常用的方法是模糊处理,它改变了视觉结构,几乎无法解密。借助Jasob等应用程序,您只需单击几下鼠标,即可轻松加载项目并保护它们。
支持流行的编程语言
该应用程序的总体设计很简单,但是非常直观。您的工作区巧妙地组织了一个导航窗格,一个较大的预览部分以及对多个项目的选项卡支持。此外,您可以导入从JS,HTML和ASP到JSP,XML甚至CSS的大量文件格式。
编辑变量和函数的名称
此应用程序允许您保留所有未修改的设置,只需选择使代码模糊即可。但是,您可以更改名称并为每个函数或变量设置新状态。幸运的是,该应用程序可以自动生成一个新名称,从而大大提高了代码的安全性。
快速生成新代码
根据项目的大小和复杂性,您可以手动设置CPU使用率以获得更好的性能。该过程本身并不冗长,结果显示在单独的选项卡中,因此您可以查看差异。您需要手动保存新生成的文件,以便它不会替换原始文件并阻止您访问原始文件。
总而言之,Jasob在改善项目安全方面做得非常出色。支持多种文件格式可提高可用性,并且使用的工具数量使您可以彻底分析和自定义流程的工作方式。快速生成结果以确保它们不会令人失望。
安装方式:
1.下载并解压缩软件,双击Jasob的安装程序以进入以下向导,然后单击[下一步]按钮。
2.阅读软件许可协议,选中[我接受协议]选项,然后进入下一步安装。
3.选择Jasob的安装位置。用户可以选择默认的C:\ Program Files(x86)\ Genesis Mobile \ Jasob 4.2,也可以对其进行自定义。
4.选择开始菜单文件夹,无需更改。
5.选择其他任务,用户可以选中[创建桌面图标]选项。
6.要准备安装,请单击[安装]按钮开始安装。
7.弹出以下Jasob安装成功的提示,单击[完成]以结束安装。
软件特色:
有许多可以找到JavaScript代码的资源。 Jasob能够从以下文件类型读取JavaScript代码
JavaScript文件(.js)
HTML文件(.htm,.html)
XHTML文件(.xht,.xhtm,.xhtml)
服务器端包含文件(.shtm,.shtml)
ASP文件(.asp)
ASP.NET文件(.aspx,.ascx)
ATL服务器文件(.srf)
PHP文件(.php,.php3,.php4,.php5)
JS文件(.jsp,.jspf)
JSP文档文件(.jspx)
XML档案(.xml,.xsd)
XSLT文件(.xsl,.xslt)
冷融合文件(.cfm)
EPerl文件(.iphtml)
此外,您可以定义自己的文件类型或编辑现有文件类型。您还可以自定义每个打开文件的设置。
您可以从各种来源定制JavaScript代码块的规则。
在混淆过程中,无法更改某些JavaScript名称。例如,保留字或属性(例如while或lastIndex)不能更改。这些名称称为系统名称,可以自定义。
打开文件时,Jasob可以打开一个文件,多个文件,Jasob项目或整个网站。 Jasob项目由任意数量的文件组成。打开网站时,Jasob将浏览所选文件夹及其所有子文件夹中的所有文件,并且仅打开受支持文件类型的文件。保存混淆的网站时,Jasob会将混淆的文件保存到混淆的网站文件夹中,并将所有其他文件(不受支持的文件类型)从原始Web站点文件夹复制到混淆的网站文件夹中。原始站点文件夹结构保留在晦涩的站点文件夹中。
使用说明:
图形用户界面
图形用户界面包含以下主要部分:
主菜单包含可以启动的各种操作。
工具栏为最常用的操作提供了许多快捷方式。
“项目文件”显示属于当前项目的所有文件。当鼠标指向特定文件时,有关单个文件的其他信息将显示在工具提示中。
文件查看器显示所选文件的内容。源文件的内容和晦涩的文件的内容将根据文件查看器顶部的当前选定选项卡(“源”或“混淆”)显示。应用语法突出显示以使文件内容更具可读性。
名称列表包含可以更改的名称。有两个单独的列表。左侧的列表包含函数名称(也可以是构造函数),而右侧的列表包含所有其他名称(变量,属性和方法)。
打开一个文件
要打开文件,请从主菜单中选择“文件”>“打开...”,或单击工具栏上的。或者,您可以从项目文件上下文菜单中选择“添加”。
要一次选择多个文件,请按住Control或Shift键,然后单击要选择的文件。
文件类型列表(项目文件)中的第一个条目指定Jasob项目。
打开一个网站
要打开网站,请从主菜单中选择“文件”>“打开网站...”,或单击工具栏上的(箭头),然后从上下文菜单中选择“打开网站...”。
选择网站文件夹,Jasob将浏览所选文件夹及其子文件夹中的所有文件,并且仅打开受支持文件类型的文件。有关受支持的文件类型的列表,请参阅打开文件。
如果在主菜单中选择“文件>排除隐藏文件夹”,则即使隐藏文件夹中的文件属于受支持的文件类型,也不会打开它们。例如,Microsoft FrontPage使用隐藏的文件夹来存储有关网页的数据。这些隐藏文件夹中的文件与原始网页完全相同,即使它们不包含Web内容。这些文件的混淆可能会导致错误,因此必须避免混淆。
根据您使用的网络技术,仅将文件从一个文件夹复制到另一个文件夹并不总是将您的网站移动到另一个位置。这是基本的,当您保存一个混乱的网站时会发生什么。您为模糊网站选择一个文件夹,原始网站内容将与模糊文件一起复制到该文件夹中。有关更多信息,请参见保存混淆的网站。因此,如果您使用的Web技术不允许您仅通过将文件从一个文件夹复制到另一个文件夹来将网站移动到另一个位置,则应首先使用以下文件提供的工具来复制原始网站:网络技术。复制原始网站后,应使用Jasob打开副本。保存模糊的网站时,请从打开网站的位置选择相同的文件夹。这样,网站副本中的原始文件将替换为晦涩的文件。例如,如果您有一个ASP.NET项目,则应使用Microsoft Visual Studio .NET打开该项目,并使用Microsoft Visual Studio .NET主菜单中的“项目”>“复制项目...”命令进行复制该项目。然后,您应该使用Jasob打开该项目的副本并将其模糊。
档案设定
要自定义文件设置,请在项目文件列表中右键单击该文件,然后从项目文件上下文菜单中选择“设置...”。
有关“文件设置”对话框中字段的完整说明,请参见文件类型。
要将设置应用于与当前文件具有相同过滤器描述的所有文件,请在“文件设置”对话框中单击“应用于所有过滤器”按钮。
查找文字
要在文件内容中查找文本,请从主菜单中选择“编辑”>“查找...”。搜索从文件查看器中的当前插入符号位置开始。如果当前选择的选项卡是“源”,则搜索原始(源)文件内容。当前选择的选项卡模糊时,将搜索模糊文件的内容。
“查找”对话框中的字段具有以下含义:
要查找的文本包含要搜索的文本。
案例
nsitive指示搜索是否区分大小写。
匹配整个单词指定创建的文本是否必须是整个单词。
向上搜索指定从当前插入符号位置搜索到文件开头。
搜索选择指定是否仅搜索当前所选文件中的所选文本。
当前文件指定是否仅搜索当前选择的文件。
全局指定是否搜索所有项目文件。
当您单击“查找下一个”时,将开始搜索。
要搜索下一个搜索文本,请从主菜单中选择“编辑”>“查找下一个”。
转到行号
要将插入记号移动到特定的行号,请从主菜单中选择“编辑”>“转到行号” ...插入记号将移动到当前所选文件中的指定行号。您也可以在指定的行中指定字符编号。插入号的当前行和字符位置显示在状态栏上的Ln和Ch指示器中。
“转到行号”对话框中的字段具有以下含义:
行号包含移动插入符号的行号。
字符编号包括指定行号内的字符编号。如果此字段为空,则将插入符号移动到指定行号的第一个字符。
字符串中的名称
出现在名称列表中的每个名称也可以出现在字符串中。要查看字符串中的名称出现的位置,请从名称列表中选择名称,然后从名称列表上下文菜单中选择“ In String ...”。
是否将出现在JavaScript字符串中的名称放置在名称列表中(以及它们是否出现在字符串列表中名称的字符串中)取决于JavaScript字符串设置。有关JavaScript字符串设置的更多信息,请参见文件类型:将所有JavaScript字符串混淆为JavaScript代码中的文件类型:混淆JavaScript代码和JavaScript字符串中的所有名称。
图4-2。名称出现在“ MouseEnter”的字符串中。
字符串列表中的名称包括:
文件显示文件名,并在其中显示带有名称的字符串。复选框指定是否将字符串中的此名称更改为新名称。
状态显示当前状态,其中出现字符串名称。
Function显示此文件中找到的字符串的函数名称。如果string是全局变量,则此字段为空。
字符串显示找到的名称出现的实际字符串内容。
通过单击列标题,可以在任何列的字符串列表中对名称进行排序。单击一次以升序排序。再次单击以降序排列。
要在字符串列表中的名称中对名称的出现进行分组,请从字符串列表的上下文菜单中的名称中选择“分组依据”,然后选择用于分组的条件。满足选择条件的字符串中的名称出现在字符串列表中名称的顶部。
要导航回到名称列表中的名称,请从字符串列表上下文菜单中的名称中选择“转到列表”。
要从字符串列表中的名称显示到文件,请从字符串列表中的名称中选择名称,然后从字符串列表的上下文菜单中的名称中选择“转到源”。
注意:通过使用混淆的JavaScript代码中的JavaScript字符串中的所有名称并将所有JavaScript字符串混淆为“文件类型”对话框,您可以完全控制字符串中的名称以显示在字符串列表中的名称中
JavaScript代码设置,或从“文件设置”对话框使用源文件,以及使用元素来指定应该或不应该分析和混淆JavaScript字符串的区域。有关更多信息,请参见文件类型:将所有JavaScript字符串混淆为JavaScript代码中的文件类型:混淆JavaScript代码和JavaScript字符串中的所有名称。
导航到名称
用名称填充名称列表后,有多种方法可以从名称列表中的名称导航到文件中的名称(包括源文件和模糊文件),然后将文件中的名称返回到名称列表中的名称。
从名称列表到文件
要从名称列表中的名称导航到文件中的名称,请从名称列表中选择名称(或名称),然后从名称列表上下文菜单中选择“转到源”。文件(源文件和模糊文件)中的名称将突出显示。如果在名称列表的上下文菜单中选择“查找优先级”,则第一个文件中的名字将出现在视图中。 “名称列表”上下文菜单中的“转到源代码”选项突出显示代码和字符串中的名称。要仅突出显示代码中名称的出现,请从名称列表上下文菜单中选择“转到源[代码]”。要仅突出显示字符串中的名称,请选择“转到源[String]”。
高光颜色可以定制。有关更多信息,请参见字体和颜色。
要查看当前突出显示的名称,请从名称列表上下文菜单或文件查看器上下文菜单中选择突出显示的名称...
突出显示的名称列表包含以下内容:
名称包括原始文件中显示的名称。 “只读”复选框指定是否将名称更改为新名称。
新名称包含将替换原始名称的名称。
代码显示名称是否在代码中突出显示。
字符串显示名称是否用字符串突出显示。
您可以通过单击列标题来对任何列上突出显示的名称列表进行排序。单击一次以升序排序。再次单击以降序排列。
要将突出显示的名称分组在突出显示的名称列表中,请从突出显示的名称列表的上下文菜单中选择“分组依据”,然后选择要用于分组的条件。符合选择标准的突出显示名称显示在突出显示名称列表的顶部。
突出显示名称时,如果选择了从名称列表的上下文菜单添加到突出显示的名称,则该名称将添加到现有突出显示的名称。否则,现有的突出显示名称将被替换。要从所有名称中删除突出显示,请从文件查看器上下文菜单中选择“删除突出显示”,或从突出显示的名称列表上下文菜单中选择“全部删除”。要从特定名称中删除突出显示,请从突出显示名称的列表中选择这些名称,然后从突出显示名称列表的上下文菜单中选择这些名称。
浏览突出显示的名称
要在文件查看器中浏览突出显示的名称,请右键单击突出显示的名称,然后从文件查看器上下文菜单中选择命令:
接下来,选择下次出现的右键单击名称。
上次出现的右键单击名称的最后选择。
First> Current File选择当前文件中第一个右键单击的名称。
首先>全局选择所有文件中第一个右键单击的名称。
Last> Current File选择当前文件中的最后一个右键单击名称。
Last> Global选择所有文件中的最后一个右键单击名称。
Next Any从当前插入符号位置开始选择下一个突出显示的名称。
上一个任意从当前插入位置选择最后一个出现的高亮名称。
First Any> Current File选择当前文件中所有突出显示名称的首次出现。
First Any> Global选择在所有文件中首先出现的所有突出显示的名称。
上一个>当前文件选择在当前文件中最后一次出现的任何突出显示名称。
Last Any> Global选择所有文件中最后一次出现的突出显示名称。
导航到功能定义
要导航到功能定义,请从功能名称列表中选择名称,然后从名称列表上下文菜单中选择“转到定义”。
从文件到名称列表
要从文件查看器中的名称导航到名称列表中的名称,请在文件查看器中右键单击该名称,然后从文件查看器上下文菜单中选择“转到列表”。如果名称列表中不存在在文件查看器中单击右键的名称,则不会选择显示文件查看器中的名称,并且将禁用“转到列表”命令。
您还可以在文件查看器中选择任何文本,然后从文件查看器上下文菜单中选择“转到列表”。如果所选文本中有多个名称,则“转到列表”对话框
出现,其中包含在文件查看器中选择的名称。选择要在名称列表中显示的名称,然后单击“转到列表”按钮。使用Tab或Shift + Tab将焦点从一个名称列表更改为另一名称列表,以查看两个名称列表中的选定名称。每个名称列表中第一个可见的所选名称将自动进入视图。