易采下载站下载易语言扫描病毒取特征码源码—源码之家-易采下载站

下载排行|最近更新

软件
软件
文章
当前位置:首页易语言源码行业软件 → 易语言扫描病毒取特征码源码
易语言扫描病毒取特征码源码

易语言扫描病毒取特征码源码

下载地址
  • 软件大小:32.89 KB
  • 软件语言:简体中文
  • 更新时间:2021-04-18
  • 软件类别:国产源码
  • 软件性质:自由软件
  • 运行环境:Winall,Win2003,WinXP,Win7,Win8
  • 软件等级:
  • 官方网址:homepage
  • 演示地址:demo
  • 软件介绍
  • 软件截图
  • 猜你喜欢
  • 同类推荐
  • 相关文章

软件Tags:

易语言扫描病毒取特征码源码



易语言扫描病毒取特征码


系统结构:loading,检测壳子,取病毒名,Virus_signature,汇编_取字节集长度,读共享,读字节集,取空白字节集_,ASM_MD5,返回字符串到MD5文本,RtlMoveMemory_IMAGE_DOS_HEADER_1,RtlMoveMemory_IMAGE_NT_HEADERS_1,RtlMoveMemory_IMAGE_SECTION_HEADER_1,LocalSize,RtlMoveMemory_IMAGE_DOS_HEADER,RtlMoveMemory_IMAGE_NT_HEADERS,读入缓存_,打开文件_,取文件尺寸_,打开文件映射对象_,映射文件对象_,解除文件映射_,HeapAlloc,GetProcessHeap,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号,取映射对象名,打开文件,初始化_从文件创建,初始化_从内存创建,从文件号创建,初始化_从映射对象名创建,关闭,关闭对象,取首地址,取读写位置,移动读写位置,移到首位置,移到尾位置,读出字节集,读出文本,读出字节,读出短整数,读出整数,读出长整数,读出小数,读出双精度小数,读出逻辑值,读出日期时间型,写入字节集,写入文本,写入小数,写入双精度小数,写入字节,写入短整数,写入整数,写入长整数,写入日期时间,写入逻辑,取错误信息,插入字节集,插入文本,插入小数,插入双精度小数,插入字节,插入短整数,插入整数,插入长整数,插入日期时间,插入逻辑,取文件映射尺寸,寻找字节集,中止寻找字节集,取寻找字节集进度,删除数据,取文件映射对象名,WriteFile,CloseHandle,GetFileSize,GetLastError,FormatMessage,ReadFile,CreateFile,SetFilePointer,LockFile,UnlockFile,FlushFileBuffers,FlushViewOfFile,取文件路径目录_,CreateFileMapping1,CreateFileMapping2,MapViewOfFile,UnmapViewOfFile,GlobalLock,GlobalHandle,OpenFileMapping,GlobalSize,CopyMemory,CopyMemory_s,CopyMemory_x,CopyMemory_sj,CopyMemory_d,CopyMemory_z,CopyMemory_c,CopyMemory_r,MoveMemory,VirtualQuery,


======程序集1
| |
| |------ loading
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 检测壳子
| |
| |------ _取字节集指针
| |
| |------ 取病毒名
| |
| |------ Virus_signature
| |
| |------ 汇编_取字节集长度
| |
| |
======程序集2
| |
| |------ 读共享
| |
| |------ 读字节集
| |
| |------ 取空白字节集_
| |
| |------ ASM_MD5
| |
| |------ 返回字符串到MD5文本
| |
| |
======调用的Dll
| |
| |---[dll]------ RtlMoveMemory_IMAGE_DOS_HEADER_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_NT_HEADERS_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_SECTION_HEADER_1
| |
| |---[dll]------ LocalSize
| |
| |---[dll]------ RtlMoveMemory_IMAGE_DOS_HEADER
| |
| |---[dll]------ RtlMoveMemory_IMAGE_NT_HEADERS
| |
| |---[dll]------ _打开当前进程
| |
| |---[dll]------ _文件是否存在
| |
| |---[dll]------ _关闭对象
| |
| |---[dll]------ 读入缓存_
| |
| |---[dll]------ 打开文件_
| |
| |---[dll]------ 取文件尺寸_
| |
| |---[dll]------ 打开文件映射对象_
| |
| |---[dll]------ 映射文件对象_
| |
| |---[dll]------ 解除文件映射_
| |
| |---[dll]------ _指针_读字节集
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ _取自进程ID
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 子程序1
| |
| |
======文件读写
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 打开文件
| |
| |------ 生成空文件
| |
| |------ 生成重复字节文件
| |
| |------ 移到文件首
| |
| |------ 移到文件尾
| |
| |------ 移动读写位置
| |
| |------ 取读写位置
| |
| |------ 关闭文件
| |
| |------ 取文件长度
| |
| |------ 写出字节集
| |
| |------ 是否在文件尾
| |
| |------ 取错误信息
| |
| |------ 读入字节集
| |
| |------ 读入2M字节集
| |
| |------ 清除文件缓冲区
| |
| |------ 读入文本
| |
| |------ 写出文本
| |
| |------ 写文本行
| |
| |------ 读入一行
| |
| |------ 插入字节集
| |
| |------ 取文件号
| |
| |
======文件映射
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 取映射对象名
| |
| |------ 打开文件
| |
| |------ 初始化_从文件创建
| |
| |------ 初始化_从内存创建
| |
| |------ 从文件号创建
| |
| |------ 初始化_从映射对象名创建
| |
| |------ 关闭
| |
| |------ 关闭对象
| |
| |------ 取首地址
| |
| |------ 取读写位置
| |
| |------ 移动读写位置
| |
| |------ 移到首位置
| |
| |------ 移到尾位置
| |
| |------ 读出字节集
| |
| |------ 读出文本
| |
| |------ 读出字节
| |
| |------ 读出短整数
| |
| |------ 读出整数
| |
| |------ 读出长整数
| |
| |------ 读出小数
| |
| |------ 读出双精度小数
| |
| |------ 读出逻辑值
| |
| |------ 读出日期时间型
| |
| |------ 写入字节集
| |
| |------ 写入文本
| |
| |------ 写入小数
| |
| |------ 写入双精度小数
| |
| |------ 写入字节
| |
| |------ 写入短整数
| |
| |------ 写入整数
| |
| |------ 写入长整数
| |
| |------ 写入日期时间
| |
| |------ 写入逻辑
| |
| |------ 取错误信息
| |
| |------ 插入字节集
| |
| |------ 插入文本
| |
| |------ 插入小数
| |
| |------ 插入双精度小数
| |
| |------ 插入字节
| |
| |------ 插入短整数
| |
| |------ 插入整数
| |
| |------ 插入长整数
| |
| |------ 插入日期时间
| |
| |------ 插入逻辑
| |
| |------ 取文件映射尺寸
| |
| |------ 寻找字节集
| |
| |------ 中止寻找字节集
| |
| |------ 取寻找字节集进度
| |
| |------ 删除数据
| |
| |------ 取文件映射对象名
| |
| |
======调用的Dll
| |
| |---[dll]------ WriteFile
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ GetFileSize
| |
| |---[dll]------ GetLastError
| |
| |---[dll]------ FormatMessage
| |
| |---[dll]------ ReadFile
| |
| |---[dll]------ CreateFile
| |
| |---[dll]------ SetFilePointer
| |
| |---[dll]------ LockFile
| |
| |---[dll]------ UnlockFile
| |
| |---[dll]------ FlushFileBuffers
| |
| |---[dll]------ FlushViewOfFile
| |
| |---[dll]------ 取文件路径目录_
| |
| |---[dll]------ CreateFileMapping1
| |
| |---[dll]------ CreateFileMapping2
| |
| |---[dll]------ MapViewOfFile
| |
| |---[dll]------ UnmapViewOfFile
| |
| |---[dll]------ GlobalLock
| |
| |---[dll]------ GlobalHandle
| |
| |---[dll]------ OpenFileMapping
| |
| |---[dll]------ GlobalSize
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ CopyMemory_s
| |
| |---[dll]------ CopyMemory_x
| |
| |---[dll]------ CopyMemory_sj
| |
| |---[dll]------ CopyMemory_d
| |
| |---[dll]------ CopyMemory_z
| |
| |---[dll]------ CopyMemory_c
| |
| |---[dll]------ CopyMemory_r
| |
| |---[dll]------ MoveMemory
| |
| |---[dll]------ VirtualQuery



调用的DLL命令:


.DLL命令 RtlMoveMemory_IMAGE_DOS_HEADER_1, , , "RtlMoveMemory"
.参数 Destination, IMAGE_DOS_HEADER
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 RtlMoveMemory_IMAGE_NT_HEADERS_1, , , "RtlMoveMemory"
.参数 Destination, IMAGE_NT_HEADERS
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 RtlMoveMemory_IMAGE_SECTION_HEADER_1, , , "RtlMoveMemory"
.参数 Destination, IMAGE_SECTION_HEADER
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 LocalSize, 整数型, , "LocalSize"
.参数 hMem, 整数型


.DLL命令 RtlMoveMemory_IMAGE_DOS_HEADER, , , "RtlMoveMemory"
.参数 Destination, IMAGE_DOS_HEADER
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 RtlMoveMemory_IMAGE_NT_HEADERS, , , "RtlMoveMemory"
.参数 Destination, IMAGE_NT_HEADERS
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 _打开当前进程, 整数型, , "GetCurrentProcess", , kernel32.dll 打开当前进程伪句柄


.DLL命令 _文件是否存在, 逻辑型, "shlwapi", "PathFileExistsA"
.参数 PathOrFile, 文本型


.DLL命令 _关闭对象, 整数型, , "CloseHandle", 公开, kernel32.dll
.参数 对象句柄, 整数型


.DLL命令 读入缓存_, 整数型, "kernel32.dll", "_lread"
.参数 文件句柄, 整数型, , hFile
.参数 内存指针, 字节型, 数组, lpBuffer
.参数 读入字节数, 整数型, , wBytes


.DLL命令 打开文件_, 整数型, "kernel32.dll", "OpenFile"
.参数 文件名, 文本型, , lpFileName,欲打开文件的名字
.参数 文件操作结果, 文件结构信息_, 传址, lpReOpenBuff,文件操作结果
.参数 操作方式, 整数型, , wStyle,操作方式


.DLL命令 取文件尺寸_, 整数型, "kernel32", "GetFileSize"
.参数 文件句柄, 整数型
.参数 尺寸大小, 整数型


.DLL命令 打开文件映射对象_, 整数型, , "OpenFileMappingA", , kernel32.dll打开一个现成的文件映射对象 指定文件映射对象的句柄。零表示出错。会设置GetLastError
.参数 常数, 整数型, , 带有前缀FILE_MAP_???的一个常数。参考MapViewOfFile函数的dwDesiredAccess参数的说明
.参数 进程继承, 整数型, , 如这个函数返回的句柄能由当前进程启动的新进程继承,则这个参数为TRUE
.参数 文件映射对象名称, 文本型, , 指定要打开的文件映射对象名称;


.DLL命令 映射文件对象_, 整数型, , "MapViewOfFile", , kernel32.dll将一个文件映射对象映射到当前应用程序的地址空间。MapViewOfFileEx允许我们指定一个基本地址来进行映射 文件映射在内存中的起始地址。零表示出错。会设置GetLastError
.参数 hFileMappingObject, 整数型
.参数 dwDesiredAccess, 整数型
.参数 dwFileOffsetHigh, 整数型
.参数 dwFileOffsetLow, 整数型
.参数 dwNumberOfBytesToMap, 整数型


.DLL命令 解除文件映射_, 整数型, , "UnmapViewOfFile", , kernel32.dll在当前应用程序的内存地址空间解除对一个文件映射对象的映射 非零表示成功,零表示失败。会设置GetLastError
.参数 lpBaseAddress, 整数型, , 指定要解除映射的一个文件映射的基准地址。这个地址是早先用MapViewOfFile函数获得的;


.DLL命令 _指针_读字节集, 整数型, , "RtlMoveMemory", , kernel32.dll
.参数 Dest, 字节集
.参数 Source, 整数型
.参数 Length, 整数型


.DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc", , 从堆中分配内存
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型


.DLL命令 GetProcessHeap, 整数型, "kernel32.dll", "GetProcessHeap", , 获取调用过程堆句柄


.DLL命令 _取自进程ID, 整数型, , "GetCurrentProcessId", 公开, kernel32.dll


调用的DLL命令:


.DLL命令 WriteFile, 逻辑型, "kernel32.dll", "WriteFile", , (非零)表示成功,否则返回零。
.参数 文件句柄, 整数型, , hFile,一个文件的句柄
.参数 数据缓冲区, 字节集, 传址, lpBuffer,要写入的一个数据缓冲区
.参数 欲写入字节数量, 整数型, , nNumberOfBytesToWrite,要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”。针对位于远程系统的命名管道,限制在65535个字节以内
.参数 实际写入字节数量, 整数型, 传址, lpNumberOfBytesWritten,实际写入文件的字节数量
.参数 特殊结构, 整数型, , lpOverlapped,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByVal As Long,并传递零值)


.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle"
.参数 对象句柄, 整数型


.DLL命令 GetFileSize, 整数型, "kernel32.dll", "GetFileSize"
.参数 文件号, 整数型, , hFile
.参数 文件尺寸, 整数型, 传址, lpFileSize


.DLL命令 GetLastError, 整数型, "kernel32", "GetLastError"


.DLL命令 FormatMessage, 整数型, "kernel32.dll", "FormatMessageA"
.参数 dwFlags, 整数型
.参数 lpSource, 整数型, , Any
.参数 消息ID, 整数型
.参数 语言ID, 整数型, , 现在系统不支持了,置0
.参数 缓冲区, 文本型
.参数 缓冲区大小, 整数型
.参数 Arguments, 整数型


.DLL命令 ReadFile, 整数型, "kernel32", "ReadFile", , ""
.参数 hFile, 整数型, , 文件的句柄
.参数 lpBuffer, 字节集, 传址, 用于保存读入数据的一个缓冲区
.参数 nNumberOfBytesToRead, 整数型, , 要读入的字符数
.参数 lpNumberOfBytesRead, 整数型, 传址, 从文件中实际读入的字符数
.参数 lpOverlapped, 整数型, , 如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须用这个参数引用一个特殊的结构。那个结构定义了一次异步读取操作。否则,应将这个参数设为NULL(将函数声明成ByVal As Long,并传递零值)


.DLL命令 CreateFile, 整数型, "kernel32.dll", "CreateFileA", , ""
.参数 lpFileName, 文本型, , ""
.参数 dwDesiredAccess, 整数型, , ""
.参数 dwShareMode, 整数型, , ""
.参数 lpSecurityAttributes, 整数型, , ""
.参数 dwCreationDisposition, 整数型, , ""
.参数 dwFlagsAndAttributes, 整数型, , ""
.参数 hTemplateFile, 整数型, , ""


.DLL命令 SetFilePointer, 整数型, "kernel32.dll", "SetFilePointer", , ""
.参数 hFile, 整数型, , ""
.参数 lDistanceToMove, 整数型, , ""
.参数 lpDistanceToMoveHigh, 整数型, 传址, ""
.参数 dwMoveMethod, 整数型, , ""


.DLL命令 LockFile, 整数型, "kernel32", "LockFile", , ""
.参数 hFile, 整数型, , ""
.参数 dwFileOffsetLow, 整数型, , ""
.参数 dwFileOffsetHigh, 整数型, , ""
.参数 nNumberOfBytesToLockLow, 整数型, , ""
.参数 nNumberOfBytesToLockHigh, 整数型, , ""


.DLL命令 UnlockFile, 整数型, "kernel32", "UnlockFile", , ""
.参数 hFile, 整数型, , ""
.参数 dwFileOffsetLow, 整数型, , ""
.参数 dwFileOffsetHigh, 整数型, , ""
.参数 nNumberOfBytesToUnlockLow, 整数型, , ""
.参数 nNumberOfBytesToUnlockHigh, 整数型, , ""


.DLL命令 FlushFileBuffers, 逻辑型, "kernel32", "FlushFileBuffers"
.参数 hFile, 整数型, , ""


.DLL命令 FlushViewOfFile, 整数型, "kernel32", "FlushViewOfFile", , 将写入文件映射缓冲区的所有数据都刷新到磁盘
.参数 lpBaseAddress, , , 包含了刷新基本地址的一个Long值(参考注解)
.参数 dwNumberOfBytesToFlush, , , 欲刷新的字节数


.DLL命令 取文件路径目录_, 逻辑型, "shlwapi.dll", "PathRemoveFileSpecA", , 如:"c:windowsboot.ini"返回"c:windows"
.参数 路径文本, 文本型, , pszPath


.DLL命令 CreateFileMapping1, 整数型, "kernel32", "CreateFileMappingA", , 创建文件映射对象。成功就返回文件映射对象句柄
.参数 hFile, 整数型, , 欲在其中创建映射的一个已经打开的磁盘文件句柄
.参数 lpFileMappigAttributes, 整数型, , 通常用0表示使用默认安全对象
.参数 flProtect, 整数型, , 打开映射的方式(用API常数表示的读/写或其它)
.参数 dwMaximumSizeHigh, 整数型, , 表示文件映射的最大长度的高32位。通常均设为0表示磁盘文件的实际长度
.参数 dwMaximumSizeLow, 整数型, , 表示文件映射的最大长度的低32位。通常均设为0表示磁盘文件的实际长度
.参数 lpName, 文本型, , 指定文件映射对象的名称


.DLL命令 CreateFileMapping2, 整数型, "kernel32", "CreateFileMappingA", , 创建文件映射对象。成功就返回文件映射对象句柄
.参数 hFile, 整数型, , 欲在其中创建映射的一个已经打开的磁盘文件句柄
.参数 lpFileMappigAttributes, 整数型, , 通常用0表示使用默认安全对象
.参数 flProtect, 整数型, , 打开映射的方式(用API常数表示的读/写或其它)
.参数 dwMaximumSizeHigh, 整数型, , 表示文件映射的最大长度的高32位。通常均设为0表示磁盘文件的实际长度
.参数 dwMaximumSizeLow, 整数型, , 表示文件映射的最大长度的低32位。通常均设为0表示磁盘文件的实际长度
.参数 lpName, 整数型, , 指定文件映射对象的名称


.DLL命令 MapViewOfFile, 整数型, "kernel32.dll", "MapViewOfFile", , 将一个文件映射对象映射到当前应用程序空间。成功就返回文件映射在内存中的起始地址
.参数 hFileMappingObject, 整数型, , 文件映射对象的句柄
.参数 dwDesiredAccess, 整数型, , 用API常数表示的对文件映射的访问方式
.参数 dwFileOffsetHigh, 整数型, , 表示文件中的映射起点的高32位。通常均设为0表示从文件的起始处开始映射
.参数 dwFileOffsetLow, 整数型, , 表示文件中的映射起点的低32位。通常均设为0表示从文件的起始处开始映射
.参数 dwNumberOfBytesToMap, 整数型, , 要映射的字节数,通常设为0表示映射整个文件映射对象。


.DLL命令 UnmapViewOfFile, 整数型, "kernel32.dll", "UnmapViewOfFile", , 解除当前应用程序中的一个文件映射对象的映射地址空间。非零表示成功,零表示失败
.参数 lpBaseAddress, 整数型, , 要解除映射的文件映射起始地址。


.DLL命令 GlobalLock, 整数型, "kernel32.dll", "GlobalLock"
.参数 hMem, 整数型


.DLL命令 GlobalHandle, 整数型, "kernel32.dll", "GlobalHandle"
.参数 wMem, 整数型


.DLL命令 OpenFileMapping, 整数型, "kernel32.dll", "OpenFileMappingA", , 打开一个现成的文件映射对象
.参数 dwDesiredAccess, 整数型, , 用API常数表示的对文件映射的访问方式
.参数 bInheritHandle, 整数型, , 返回值对与子进程的继承属性,常设为False;
.参数 lpName, 文本型, , 指定要打开的文件映射对象名称


.DLL命令 GlobalSize, 整数型, "kernel32.dll", "GlobalSize"
.参数 hMem, 整数型


.DLL命令 CopyMemory, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 字节集, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_s, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 文本型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_x, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 小数型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_sj, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 双精度小数型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_d, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 短整数型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_z, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 整数型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_c, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 长整数型, 传址
.参数 cb, 整数型


.DLL命令 CopyMemory_r, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 ptr, 整数型
.参数 struct, 日期时间型, 传址
.参数 cb, 整数型


.DLL命令 MoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory", , ""
.参数 ptr, 整数型
.参数 struct, 整数型
.参数 cb, 整数型


.DLL命令 VirtualQuery, 整数型, "kernel32.dll", "VirtualQuery", , ""
.参数 lpAddress, 整数型, , "类型为通用型,请在调试时调整其类型"
.参数 lpBuffer, MEMORY_BASIC_INFORMATION, 传址, ""
.参数 dwLength, 整数型, , ""

展开内容

下载地址

同类推荐

推荐文章

友情链接关于我们下载帮助(?)联系我们投诉举报

CopyRight © 2010-2023 易采下载 Easck.com , All Rights Reserved 版权所有 蒙ICP备14002389号

声明: 本站所有软件和文章来自互联网 如有异议 请与本站联系

声明: