JS病毒分析总结2

1、write()方法作用:可以向文档中写入HTML和JS代码,可以列出多个参数,按顺序追加到文件中去
2、System.Shell.Folder.copyHere方法:将System.Shell.Item复制到文件夹中:
MSDN代码示例

// Member variables.
var oShellFolderItem;
var oShellFolder;

// --------------------------------------------------------------------
// Display the folder picker dialog and get a Shell.Item object 
// from the selection. A Shell folder object is also obtained.
// --------------------------------------------------------------------
function ChooseAFolder()
{
    oShellFolderItem = System.Shell.chooseFolder("SDK Choose Folder Example", 0);
    if (oShellFolderItem)
    {
        // Get a folder object from the System.Shell.Item.
        oShellFolder = oShellFolderItem.SHFolder;
    }
}

// --------------------------------------------------------------------
// Display the names of objects dropped on the gadget.
// Objects are deleted, copied, or moved as required.
// --------------------------------------------------------------------
function GetItemFromDrop()
{    
    var intIndex = 0;
    var oItem;
    while(oItem = System.Shell.itemFromFileDrop(event.dataTransfer, intIndex))
    {
        // Delete object as required.
        if (deleteDrop.checked == true)
        {
            System.Shell.RecycleBin.deleteItem(oItem.path);
        }
        
        // Copy object as required.
        if ((copyDrop.checked == true) && (oShellFolder!= null))
        {
            try
            {
                oShellFolder.copyHere(oItem, 8);
            }
            catch (e)
            {
                // Error handling.
            }
        }
        
        // Move object as required.
        if ((moveDrop.checked == true) && (oShellFolder != null))
        {
            try
            {
                oShellFolder.moveHere(oItem, 8);
            }
            catch (e)
            {
                // Error handling.
            }
        }
        
        intIndex++;
    }
}

3、open方法:
open(method, url, async, username, password)
method 参数是用于请求的 HTTP 方法。值包括 GET、POST 和 HEAD。
( 大小写不敏感。
POST:用"POST"方式发送数据,可以大到4MB
GET:用"GET"方式发送数据,只能256KB
如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内
没有参数使用GET方式
对于请求的页面在中途可能发生更改的,也最好用POST方式
)
url 参数是请求的主体。大多数浏览器实施了一个同源安全策略,并且要求这个 URL 与包含脚本的文本具有相同的主机名和端口。
async 参数指示请求使用应该异步地执行。如果这个参数是 false,请求是同步的,后续对 send() 的调用将阻塞,直到响应完全接收。
如果这个参数是 true 或省略,请求是异步的,且通常需要一个 onreadystatechange 事件句柄。
username 和 password 参数是可选的,为 url 所需的授权提供认证资格。如果指定了,它们会覆盖 url 自己指定的任何资格。
4、replace()方法作用:用一些字符替换另一些字符,或替换一个与正则表达式匹配的字符串
函数原型:replace(规定字符串或者RegExp 对象、要替换的文本或者生成替换文本的函数)
5、RegExp 对象表示正则表达式,是字符串执行模式匹配的工具
RegExp 对象的语法:RegExp 对象(pattern,attributes)
参数pattern是一个字符串,指定了正则表达式的模式
参数 attributes 是一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。
6、WorkingDirectory属性
为快捷方式指派工作目录,或者确定快捷方式的工作目录
语法:object.WorkingDirectory = strWorkingDirectory
object
WshShortcut 对象。
strWorkingDirectory
字符串。快捷方式的启动目录
7、TargetPath属性
快捷方式可执行文件的路径
8、WindowsStyle属性: 为快捷方式指派窗口样式,或确定快捷方式要使用的窗口样式
语法:object.windowStyle=intWindowStyle
object
WshShortcut 对象。
intWindowStyle
设置正在运行的程序的窗口样式。
intWindowStyle 说明
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。(转自:https://blog.csdn.net/xiao_cs/article/details/6262144)
9、SHCreateShortcut函数的作用:创建一个快捷方式
函数原型:DWORD WINAPISHCreateShortcut(LPTSTRszShortcut, LPTSTRszTarget );
szShortcut
[in]以空值终止的字符串,其中包含要创建的快捷方式的路径和名称。快捷方式是在路径标识的位置创建的。
szTarget
[in]以空值终止的字符串,其中包含快捷方式的目标路径和参数。缓冲区的大小限制为256个字符。在目标路径周围放置引号,以便SHCreateShortcut可以从任何后续参数中正确解析目标文件。
返回值:成功返回ture,失败返回false
10、toUpperCase()作用:把字符串转换为大写
11、GetFile函数作用:根据指定的路径中的文件返回相应的file对象
object.GetFile(filespec)
其中object是必选项。 应为 FileSystemObject 的名称。
filespec是必选项。 filespec 是指定文件的路径(绝对和或相对的)。
12、DriveType 驱动器的类型:
Unknown 0 无法确定驱动器类型。
Removable 1 可移动媒体驱动器,包括软盘驱动器和其他多种存储设备。
Fixed 2 固定(不可移动)媒体驱动器,包括所有硬盘驱动器(包括可移动的硬盘驱动器)。
Remote 3 网络驱动器,包括网络上任何位置的共享驱动器。
CDROM 4 CD-ROM 驱动器,不区分只读和可读写的 CD-ROM 驱动器。
RAMDisk 5 RAM 磁盘,在本地计算机中占用一块“随机存取内存”(RAM) 虚拟为磁盘驱动器
13、item()方法作用:返回元素的首个字节点
14、CopyFile函数是从一个位置向另一个位置复制一个或多个文件
object.CopyFile( source, destination[, overwrite] )
其中object是必选项。 object 应为 FileSystemObject的名称。
source是必选项。 指定文件字符串,可以包含通配字符来复制一个或多个文件。
destination是必选项。 目的字符串,文件将从 source 复制到这里。 不允许通配字符。
overwrite是可选项。 Boolean 值,指明是否覆盖已有文件。 如果为 true ,则文件将被覆盖;如果为 false ,则文件不会被覆盖。 默认的是 true 。 注意,如果 destination 设置了只读属性,那么无论 overwrite 的值是什么, CopyFile 都会失败
15、Date()返回当天的日期和时间
16、toLowerCase() 把字符串转换为小写
17、substr() 可以在字符串中抽取从start下标开始的指定数目的字符
stringObject.substr(start,length)
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒 数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
18、split() 作用:把一个字符串分割成字符串数组
stringObject.split(separator,howmany)
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
19、RegRead (strName);从注册表中返回项值或者值名
表示所需的项名或值名的字符串值。
20、JavaScript获取当前运行脚本文件所在目录的方法
DirectoryUtility = {
// function getCurrentDirectory: returns currentDirectory path
// with a trailing backslash.
getCurrentDirectory : function ( ) {
var scriptFullName = WScript.ScriptFullName;
var scriptName = WScript.ScriptName;
return scriptFullName.substr ( 0, scriptFullName.lastIndexOf ( scriptName ) );
}
}
/* 用法 */
DirectoryUtility.getCurrentDirectory ( );
21、Exists 方法
表示某个键值是否存在于 WshNamed 对象中。
object.Exists(key)
参数
object
WshNamed 对象。
Key
表示 WshNamed 对象的参数的字符串值。
22、eval(string) 函数作用:可以计算某个字符串,并执行其中的JS代码
23、fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
24、charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
25、SaveToFile 方法 :可以将Stream的二进制内容保存到文件
SaveToFile(FileName,SaveOptions)
FileName 字符串型 值,包含要保存 Stream 内容的文件的完全限定名称。可以保存到任意一个有效的本地位置或可通过 UNC 值访问的任意位置。
SaveOptions SaveOptionsEnum 值,指定 SaveToFile 是否应在文件不存在时创建新文件。默认值为 adSaveCreateNotExists 。通过这些选项,可以指定当指定文件不存在时引发错误。还可以指定 SaveToFile 覆盖现有文件的当前内容。
26、MemoryStream.ToArray作用:将刘内容写入字节数组,而与Position属性无关
public virtual byte[] ToArray ();
返回值:Byte[]
新字节数组
27、MemoryStream.WriteByte(Byte)
将一个字节写入当前流中的当前位置。
public override void WriteByte (byte value);
参数:要写入的字节

以上都是我在分析病毒的时候总结出来的一些函数和语法知识,如果有错误的地方,多谢大家指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值