ua.js中UA_Opt设定信息的重要性与来源分析

       actionlog_js_ua.js混淆编程形式与执行主流程     

       ua.js中UA_Opt设定信息的重要性与来源分析

       ua.js文件load事件自定义处理函数功能解析

       ua.js中mousedown和mousemove事件自定义函数功能解析

       ua.js文件focus&blur&keydown事件分析

       ua.js中UA生成函数vq4的“庐山真面目”

       ua.js中网络超时检测函数 wql 功能分析

       ua.js中用 image 对象实现页面访问统计

       ua.js中JSocket.getlso和JSocket.setlso代码分析

       ua.js中arguments.callee.caller的应用

       ua.js 获取访客浏览器与操作系统信息的方式

       ua.js文件中有一个名为isvz的数组,该数组的设定值决定着大量函数是否需要执行,而isvz的值来源于一个名为UA_Opt的变量,根据代码推测,UA_Opt应该来源于当前访问的页面本文主要分析ua.js中UA_Opt设定信息的重要性与来源推测。

       上一篇文章给出了函数hp6的反混淆形式,hp6函数调用的第一个函数是wo(),且若函数wo()返回值是1,hp6中的所有内容都不会执行,我们先来看看函数wo的反混淆形式。

       由函数wo的内容可知,若(typeof UA_Opt == ‘undefined’)或(typeof UA_Opt[“Flag”] != ‘number’),那么wo函数就直接返回1,wo和hp6函数中剩余部分就不会执行。若这两个条件不满足,那么会根据UA_Opt的值来给object tty的各项属性赋值,最后ivsz=tty。而且ua.js文件中有大量的函数是否执行需要由ivsz的属性值来决定。

       根据以上事实以及ua.js文件全局的代码,UA_Opt有以下特征:

       1.  ua.js文件中没有定义UA_Opt,且UA_Opt该对象存在与否,以及属性值决定着ua.js几乎所有函数的是否需要执行。据此推测,需要生成UA的页面或者页面相关的js文件中一定有定义UA_Opt并赋值,否则无法通过ua.js得到UA。

       2.  以UA_opt为关键词在baidu或google中搜索,会发现很多类似的给UA_opt赋值的代码。而这些代码中出现的LogVal,MaxMCLog,MaxMPLog等等属性值都有在ua.js文件中出现。


       因此,个人认为UA_Opt是在ua.js之外定义的,且相关变量在我们访问页面时已赋值完成,而ua.js则根据UA_Opt的设定值去选择参与生成UA的数据类型。我也尝试用FireBug去寻找UA_Opt的踪影,很可惜我没有找到,但是我坚定的认为该对象存在于当前页面的某个js文件或者html文件中,如果有知道的同学还请不吝赐教,感激不尽。

Comments

  1. By bluine

    回复

  2. By summer

    回复

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Fork me on GitHub