本文地址:http://www.cnblogs.com/Charltsing/p/JSEval.html

联系QQ:564955427

类似下面的代码是登陆 全国企业信用信息公示系统(安徽)(网址:http://www.ahcredit.gov.cn/search.jspx)时得到的,需要反混淆。

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>32?String.fromCharCode(c+32):c.toString(33))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('14 C="j";14 19="h";14 1a="k";14 10=c;14 E = "d+/=";I f(Z) {14 T, M, Q;14 n, o, p;Q = Z.R;M = 0;T = "";16 (M < Q) {n = Z.r(M++) & 6;N (M == Q) {T += E.q(n >> a);T += E.q((n & 1) << b);T += "==";m;}o = Z.r(M++);N (M == Q) {T += E.q(n >> a);T += E.q(((n & 1) << b) | ((o & 5) >> b));T += E.q((o & 4) << a);T += "=";m;}p = Z.r(M++);T += E.q(n >> a);T += E.q(((n & 1) << b) | ((o & 5) >> b));T += E.q(((o & 4) << a) | ((p & 3) >> c));T += E.q(p & 2);}V T;}I G(){14 15= 18.P||A.B.t||A.l.t;14 J= 18.O||A.B.s||A.l.s;N (15*J <= 8) {V 13;}14 1c = 18.X;14 1d = 18.Y;N (1c + 15 <= 0 || 1d + J <= 0 || 1c >= 18.W.17 || 1d >= 18.W.L) {V 13;}V F;}I g(){14 11 = 19+1a;14 K = 0;14 M    = 0;H(M = 0; M < 11.R; M++) {K += 11.r(M);}K *= 9;K += 7;V "i"+K;}I e(){N(G()) {} D {14 w = ""; w = "1b="+f(10.12()) + "; U=/";A.v = w; 14 u = g();w = "19="+f(u.12()) + "; U=/";A.v = w; 18.S=C;}}e();',59,73,'0|0x3|0x3f|0xc0|0xf|0xf0|0xff|111111|120000|17|2|4|6|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|HXXTTKKLLPPP5|KTKY2RBD9NHPBCIHV9ZMEQQDARSLVFDU|QWERTASDFGXYSF|RANDOMSTR11457|WZWS_CONFIRM_PREFIX_LABEL6|/|STRRANDOM11457|body|break|c1|c2|c3|charAt|charCodeAt|clientHeight|clientWidth|confirm|cookie|cookieString|document|documentElement|dynamicurl|else|encoderchars|false|findDimensions|for|function|h|hash|height|i|if|innerHeight|innerWidth|len|length|location|out|path|return|screen|screenX|screenY|str|template|tmp|toString|true|var|w|while|width|window|wzwschallenge|wzwschallengex|wzwstemplate|x|y'.split('|'),0,{}))

一般来说,js反混淆并不复杂,把最外边的eval 换成 document.write,真实的代码就可以看到了。

剩下的事情,就是vba调用JS了

JS代码美化和反混淆可以用这个网站测试 http://jsbeautifier.org/

只是要注意一点:在64位office下,如果用ScriptControl这个组件需要用mshta.exe包装一下,才能运行。具体不再赘述。

本文地址:http://www.cnblogs.com/Charltsing/p/JSEval.html

使用VBA进行JS加密的反混淆,还原JS代码。的更多相关文章

  1. js混淆代码还原-js反混淆:利用js进行赋值实现

    js混淆代码还原-js反混淆:利用js进行赋值实现   [不想用工具的直接看方法二] 本文地址:http://www.cnblogs.com/vnii/archive/2011/12/14/22875 ...

  2. 爬虫破解js加密(一) 有道词典js加密参数 sign破解

    在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...

  3. 技术分享:几种常见的JavaScript混淆和反混淆工具分析实战【转】

    信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试者与黑客,善与恶,本文将聚焦这场永无止境决斗中的一个小点. HTML5 & JS 应用中充满着对输入进行验证/注入的问题,需要开发人员始终保 ...

  4. 几种常见的JavaScript混淆和反混淆工具分析实战

    几种常见的JavaScript混淆和反混淆工具分析实战 xiaix2016-03-05+8共1195751人围观 ,发现 5 个不明物体WEB安全 信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试 ...

  5. RSA js加密 java解密

    1. 首先你要拥有一对公钥.私钥: ``` pubKeyStr = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1gr+rIfYlaNUNLiFsK/Kn ...

  6. js加密(五)产品目录

    1.  url:http://www.300600900.cn/ 2. target: 3. 简单分析 偶然发现,这个网站的加密,和landChina加密一模一样,js函数的名字都一样...所以,只贴 ...

  7. 通过C#调用,实现js加密代码的反混淆,并运行js函数

    前一篇我测试了vba调用htmlfile做反混淆,并执行js加密函数的代码.本文换成C#实现. 联系QQ:564955427 C#操作JS函数,可以通过ScriptControl组件,但这个组件只能在 ...

  8. 爬虫入门到放弃系列07:js混淆、eval加密、字体加密三大反爬技术

    前言 如果再说IP请求次数检测.验证码这种最常见的反爬虫技术,可能大家听得耳朵都出茧子了.当然,也有的同学写了了几天的爬虫,觉得爬虫太简单.没有啥挑战性.所以特地找了三个有一定难度的网站,希望可以有兴 ...

  9. js混淆加密,通过混淆Js代码让别人(很难)无法还原

    js混淆加密,通过混淆Js代码让别人(很难)无法还原   使用js的混淆加密,其目的是为了保护我们的前端代码逻辑,对应一些搞技术吃饭的公司来说,为了防止被竞争对手抓取或使用自己的代码,就会考虑如何加密 ...

随机推荐

  1. shell编程 学好内功(一)

    shell 背景 什么是shell编程 高大上的解释,往往让人摸不住头脑.一句话概括就是:shell编程就是对一堆Linux命令的逻辑化处理. 为什么要会shell编程 举个简单的例子,我们做java ...

  2. [转]JIRA 7.2.6与Confluence 6.0.3的安装与配置之MS SQL Server版

    相关软件版本信息 说明:下方软件可以点击链接,通过百度云盘进行下载. 操作系统:Windows 10(密码:foht)或者Windows Server 2012(密码:lsad): 数据库:SQL S ...

  3. JavaScript -- 时光流逝(一):数据类型,变量,类型转换,函数

    JavaScript -- 知识点回顾篇(一):数据类型,变量,类型转换,函数 1. 数据类型 Boolean:值类型,布尔(逻辑)只能有两个值:true 或 false. Number:值类型,Ja ...

  4. Spring的IOC注解开发入门2

    注解方式设置属性的值 在我们IOC基于xml属性注入的方式中有(一般推荐set方法) 构造方法注入普通值:<constructor-arg>的使用 set方法注入普通值:<prope ...

  5. PostgreSQL 数据库NULL值的默认排序行为与查询、索引定义规范 - nulls first\last, asc\desc

    背景 在数据库中NULL值是指UNKNOWN的值,不存储任何值,在排序时,它排在有值的行前面还是后面通过语法来指定. 例如 -- 表示null排在有值行的前面 select * from tbl or ...

  6. A1制作文件夹目录

    第一步 在文件夹目录下建立bat文件,填写以下内容: dir *.* /B >目录.txt 最后双击bat文件. 第二步 运行后复制目录.txt文件内容到空白excel 使用hyperlink函 ...

  7. UVA11694-Gokigen Naname(DFS进阶)

    Problem UVA11694-Gokigen Naname Accept: 76   Submit: 586Time Limit: 10000 mSec Problem Description I ...

  8. 解决vaio s13笔记本 ubuntu重启卡屏问题

    终端 sudo gedit /etc/default/grub 找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash",添加内核启动参数reboot ...

  9. [3] TensorFlow 深层神经网络

    深层神经网络简称为深度学习有两个非常重要的特性1. 多层2. 非线性 线性模型的局限性 :例如前面的神经网络有两层(不算输入层),但是它和单层的神经网络井没有区别,任意线性模型的组合仍然还是线性模型, ...

  10. 在ASP.NET MVC中使用Redis

    一.Redis基本认知 1.含义: REmote DIctionary Server(Redis) | 是一个key-value存储系统 2.特性: 2.1 持久化:可以将内存中的数据保存在磁盘中,重 ...