Closed getr00t closed 1 year ago
这是什么情况啊?没看懂怎么使用的,我就试了下,发现会报错啊,npm run 这个又是怎么使用的,能否详细点,感谢,你这个是可以把加密的全部解出来吗?
你把这个原文件发一下吧,指令是没有问题的。
你把这个原文件发一下吧,指令是没有问题的。
我怎么发给你尼?
@getr00t 直接把文件拖到评论框就行
你把下面两行代码之间的内容(包括这两行)单独拿出来就可以了:
// 开始行
var version_ = 'jsjiami.com.v7';
// 混淆后的代码
// 结束行
var version_ = 'jsjiami.com.v7';
上面和下面的内容要去掉,不然会产生干扰。
不行啊,我注释掉或者删除都不行啊,还是一样的报错信息 处理全局加密... Error: cannot find decrypt variable
不行啊,我注释掉或者删除都不行啊,还是一样的报错信息 处理全局加密... Error: cannot find decrypt variable
那你把放进去解密的文件发一下吧
不行啊,我注释掉或者删除都不行啊,还是一样的报错信息 处理全局加密... Error: cannot find decrypt variable
那你把放进去解密的文件发一下吧
我楼上不是发了吗???应该看的到啊😯
不行啊,我注释掉或者删除都不行啊,还是一样的报错信息 处理全局加密... Error: cannot find decrypt variable
那你把放进去解密的文件发一下吧
我楼上不是发了吗???应该看的到啊😯
我的意思是,发一下你注释掉或者删除过的。我这边处理后是可以正常解混淆的,所以得看一下你是怎么处理的。
你把下面两行代码之间的内容(包括这两行)单独拿出来就可以了:
// 开始行 var version_ = 'jsjiami.com.v7'; // 混淆后的代码 // 结束行 var version_ = 'jsjiami.com.v7';
上面和下面的内容要去掉,不然会产生干扰。
就是把你说的这两个声明注释掉了的啊,是不是不应该注释掉?
你把下面两行代码之间的内容(包括这两行)单独拿出来就可以了:
// 开始行 var version_ = 'jsjiami.com.v7'; // 混淆后的代码 // 结束行 var version_ = 'jsjiami.com.v7';
上面和下面的内容要去掉,不然会产生干扰。
就是把你说的这两个声明注释掉了的啊,是不是不应该注释掉?
我的意思是:
@getr00t
17-814一共不就是798行吗 (814-16=798)
@getr00t
17-814一共不就是798行吗 (814-16=798)
照你说的是解开了,但是我发现不对啊,在vscode打开都是满篇红,看起来像是格式错误,还有就是你这个工具解开不一定百分百正确的是吗?我发现解开后有的变量还是十六进制的码,并没用成功的转化解开,还发现每一行代码结尾都加上了分开;貌似不需要分号,我试着去掉分号就不然会报错,感觉解出来,给我认识了解到的js差别还是大
@getr00t 17-814一共不就是798行吗 (814-16=798)
照你说的是解开了,但是我发现不对啊,在vscode打开都是满篇红,看起来像是格式错误,还有就是你这个工具解开不一定百分百正确的是吗?我发现解开后有的变量还是十六进制的码,并没用成功的转化解开,还发现每一行代码结尾都加上了分开;貌似不需要分号,我试着去掉分号就不然会报错,感觉解出来,给我认识了解到的js差别还是大
@getr00t 17-814一共不就是798行吗 (814-16=798)
照你说的是解开了,但是我发现不对啊,在vscode打开都是满篇红,看起来像是格式错误,还有就是你这个工具解开不一定百分百正确的是吗?我发现解开后有的变量还是十六进制的码,并没用成功的转化解开,还发现每一行代码结尾都加上了分开;貌似不需要分号,我试着去掉分号就不然会报错,感觉解出来,给我认识了解到的js差别还是大
- 飘红是因为和你配置的格式不一致,你需要额外格式化一下。
- 你可能是较少接触加密脚本的还原。这类脚本能够将被复杂化的脚本简化,但变量名是不可逆地被替换为了随机的可读性非常差的名称,无法被还原回来。
- JS语言本来就可以以分号结尾,也可以省略分号(意味着必须换行,增加了代码的长度)。
- 你在运行时需要将得到的代码放回原文件并替换解密前的代码,或者将删掉的代码加回来。
- 整个解谜过程有多个步骤,第一个步骤“处理全局加密”(也是最主要的步骤)基本不会破坏代码,但后续的步骤有较小的概率破坏代码的逻辑(如果代码经过精心设计)。如果代码无法运行,你可以只做第一个步骤。
那么晚还没有休息吗?辛苦了, 1:我发现你这个项目里面使用了eslint和Prettier对吗?所以导致我使用vscode打开爆红是这个原因吗?因为我没使用有关eslint的任何配置,所以这个必须我也要配置eslint和Prettier才可以解决不爆红对吧?应该怎么正确配置尼,之前我尝试过配置eslint和Prettier来格式化,但是都失败告终,也就没用在研究了,慢慢的就习惯了无eslint和Prettier的环境 2:确实之前没又接触到,第一次接触到js解密加密,也是无意间搜到你的项目,正好研究折腾下, 3:js确实可以使用分号,但是我都没使用,貌似不使用分号打包混淆可以节约点空间大小(哈哈哈) 4:是什么意思我没用懂尼, 5:原理是这样啊,我都不清楚这个,那么是否可以判断代码解密是完整还原出来的而没有被破坏的尼?
.
开头的文件,这些一般就是配置文件(这种格式的文件在linux里会被当成隐藏文件),其中.eslintrc.json
和.prettierrc.json
分别是eslint和Prettier的配置文件。Env
函数就是这类脚本通用的初始化函数,你要是不加回去,当然是用不了的。混淆相关的问题已经解决了,我把issue关了。
这个脚本还用到了类和变量式函数名,这些都是比较新的东西了。
恩我貌似找到了Env这个文件和这个脚本的整套模板,分享一份你的.eslintrc.json和.prettierrc.json文件吧,谢谢