开源
功能说明: 该程序是一个基于易语言开发的系统管理与监控工具,主要功能集中在系统启动项分析、进程管理、网络连接监控及系统服务查看等方面。从代码结构来看,程序采用窗口化界面设计,通过选择夹(Tab 控件)切换不同的功能模块,旨在为用户提供系统底层信息的可视化查看与管理能力。
核心功能模块方面,程序主窗口包含多个子夹,分别对应不同的系统管理职能。根据"_选择夹 1_子夹被改变”子程序的逻辑判断,程序至少包含五大核心功能:启动信息管理(索引 0)、任务信息管理(索引 1)、进程信息管理(索引 2)、网络连接监控(索引 3)以及系统服务管理(索引 4)。这种结构类似于 Windows 任务管理器或安全辅助工具(ARK 工具)的简化版,允许用户全方位查看系统运行状态。
在具体的“启动信息”子程序实现中,程序展示了详细的注册表扫描逻辑。它重点监控 Windows 系统的自启动注册表键值,包括本地机器(HKLM)和现行用户(HKCU)下的"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"及"RunOnce"键。程序通过枚举注册表键名,获取自启动项目的名称和路径,并利用 SHGetFileInfo API 获取对应可执行文件的图标信息,将其展示在列表框中。此外,代码还包含文件存在性检查(文件是否存在)及进程运行状态检查(进程是否运行),能够标识出哪些启动项对应的程序当前正在运行,哪些文件可能已丢失。这种功能常用于分析系统开机加载项,排查恶意软件的持久化驻留。
权限与系统交互方面,程序在启动窗口创建完毕时调用了"RtlAdjustPrivilege (20, 真,0, 0)"。privilege 20 对应的是 SeDebugPrivilege(调试权限),这意味着程序试图提升自身权限以便能够查看或操作其他高权限进程。这是系统底层监控工具的典型特征,表明该程序不仅仅是普通的应用软件,而是具备一定系统底层访问能力的管理工具。此外,代码中有一段被注释掉的关于文件自我复制和移动的逻辑(MoveFileEx、复制文件),这通常用于实现程序的持久化或自我保护,虽然当前未启用,但反映了开发者可能考虑过此类功能。
界面交互与布局方面,程序具有良好的自适应能力。在"__启动窗口_尺寸被改变”子程序中,代码根据窗口的大小动态调整各个列表框和选择夹的宽度与高度,确保在不同分辨率下界面元素都能正常显示。程序使用了 ImageList 控件来管理列表中的图标,提升了界面的美观度和信息的可读性。退出机制上,程序设置了确认对话框,防止用户误操作关闭程序。
综上所述,该程序是一个功能较为全面的系统安全辅助管理工具。它主要用于监控系统启动项、进程、网络及服务状态,适合用于系统优化、安全分析或恶意软件排查场景。其核心技术点在于注册表枚举、系统权限提升以及 Windows API 的直接调用,体现了易语言在系统底层开发方面的应用能力。
======程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ __启动窗口_可否被关闭
| |
| |------ _选择夹1_子夹被改变
| |
| |------ 启动信息
| |
| |------ _列表框_启动_右键单击表项
| |
| |------ _列表框_启动_被双击
| |
| |------ _刷新启动_被选择
| |
| |------ _添加启动_被选择
| |
| |------ _删除启动_被选择
| |
| |------ _定位注册表_被选择
| |
| |------ _定位文件启动_被选择
| |
| |------ _属性启动_被选择
| |
| |------ _列表框_任务_左键单击表项
| |
| |------ _列表框_任务_右键单击表项
| |
| |------ _刷新任务_被选择
| |
| |------ _结束进程任务_被选择
| |
| |------ _查找窗口_被选择
| |
| |------ _隐藏图标_被选择
| |
| |------ _显示图标_被选择
| |
| |------ _删除图标_被选择
| |
| |------ _定位文件任务_被选择
| |
| |------ _属性任务_被选择
| |
| |------ 任务信息
| |
| |------ 验证任务栏
| |
| |------ 验证过程
| |
| |------ 刷新任务栏
| |
| |------ 刷新托盘
| |
| |------ 进程信息
| |
| |------ EnumPro
| |
| |------ _列表框_进程_右键单击表项
| |
| |------ _列表框_进程_当前表项被改变
| |
| |------ _选择夹2_子夹被改变
| |
| |------ ProInfo
| |
| |------ EnumMod
| |
| |------ ThdInfo
| |
| |------ 取进程优先级别
| |
| |------ _刷新进程_被选择
| |
| |------ 网络连接
| |
| |------ _列表框_连接_右键单击表项
| |
| |------ _刷新网络_被选择
| |
| |------ _关闭连接_被选择
| |
| |------ _结束进程网络_被选择
| |
| |------ _隐藏本地连接_被选择
| |
| |------ _定位文件网络_被选择
| |
| |------ _属性网络_被选择
| |
| |------ 系统服务
| |
| |------ _列表框_服务_右键单击表项
| |
| |------ _列表框_服务_被双击
| |
| |------ _启动服务_被选择
| |
| |------ _停止服务_被选择
| |
| |------ _删除服务_被选择
| |
| |------ _隐藏系统服务_被选择
| |
| |------ _自动服务_被选择
| |
| |------ _手动服务_被选择
| |
| |------ _禁用服务_被选择
| |
| |------ _刷新服务_被选择
| |
| |------ _定位文件服务_被选择
| |
| |------ _服务属性_文件_被选择
| |
| |------ _服务属性_被选择
| |
| |
======程序集_功能
| |
| |------ loadDll_Fuc
| |
| |------ EnumIco
| |
| |------ 格式化路径
| |
| |------ 枚举注册表键名
| |
| |------ 寻找文件_
| |
| |------ 取系统特定目录
| |
| |------ 进程是否运行
| |
| |------ 取公司名称
| |
| |------ 定位文件
| |
| |------ 查看属性
| |
| |------ 延时_
| |
| |------ 创建快捷方式
| |
| |------ 查询快捷方式
| |
| |------ 取托盘区句柄_
| |
| |------ CreateProcessThread
| |
| |------ W2A
| |
| |------ PID取进程名和路径
| |
| |------ 取窗口标题_
| |
| |------ 关闭指定连接
| |
| |------ GetAscIP
| |
| |------ GetUser_WTS
| |
| |------ DOS路径转换_
| |
| |------ GetCommandLine
| |
| |------ 处理事件_
| |
| |------ 数值到时间
| |
| |
======程序集_添加启动
| |
| |------ _按钮_取消_被单击
| |
| |------ _按钮_添加_被单击
| |
| |------ _按钮_寻找_被单击
| |
| |
======程序集_查看服务属性
| |
| |------ _窗口_查看服务属性_创建完毕
| |
| |------ _time_周期事件
| |
| |------ _start_被单击
| |
| |------ _stop_被单击
| |
| |------ _ok_被单击
| |
| |------ _exit_被单击
| |
| |------ _to_被单击
| |
| |------ _组合框_类型_列表项被选择
| |
| |------ _按钮_应用_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ loadDll
| |
| |---[dll]------ GetActiveWindow
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ SendMessageA
| |
| |---[dll]------ ImageList_Destroy
| |
| |---[dll]------ ImageList_Create
| |
| |---[dll]------ ImageList_AddIcon
| |
| |---[dll]------ ImageList_SetBkColor
| |
| |---[dll]------ SHGetFileInfo
| |
| |---[dll]------ RegOpenKey
| |
| |---[dll]------ RegEnumValue
| |
| |---[dll]------ RegQueryValueEx
| |
| |---[dll]------ RegCloseKey
| |
| |---[dll]------ 取特定目录_
| |
| |---[dll]------ GetFileVersionInfoSize
| |
| |---[dll]------ GetFileVersionInfo
| |
| |---[dll]------ VerQueryValue
| |
| |---[dll]------ RtlMoveMemory_字节集
| |
| |---[dll]------ ShellExecute
| |
| |---[dll]------ ShellExecuteEx
| |
| |---[dll]------ FindWindow
| |
| |---[dll]------ FindWindowEx
| |
| |---[dll]------ PostMessageA
| |
| |---[dll]------ 取路径文件名_
| |
| |---[dll]------ 删除扩展名_
| |
| |---[dll]------ PathFindExtension
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ ReadProcessMemory_字节集
| |
| |---[dll]------ ReadProcessMemory_文本
| |
| |---[dll]------ RtlMoveMemory_图标
| |
| |---[dll]------ CreateRemoteThread
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ GetExitCodeThread
| |
| |---[dll]------ LoadLibraryA
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ VirtualFreeEx
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ GetModuleFileNameExA
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ EnumWindows
| |
| |---[dll]------ GetParent
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ AllocateAndGetTcpExTableFromStack
| |
| |---[dll]------ AllocateAndGetUdpExTableFromStack
| |
| |---[dll]------ RtlMoveMemory_Tcp
| |
| |---[dll]------ RtlMoveMemory_UDP
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ GetTcpTable
| |
| |---[dll]------ LocalSize
| |
| |---[dll]------ ntohs
| |
| |---[dll]------ SetTcpEntry
| |
| |---[dll]------ lstrlen
| |
| |---[dll]------ inet_ntoa
| |
| |---[dll]------ RtlMoveMemory_文本
| |
| |---[dll]------ OpenSCManager
| |
| |---[dll]------ EnumServicesStatusEx
| |
| |---[dll]------ RtlMoveMemory_服务
| |
| |---[dll]------ OpenService
| |
| |---[dll]------ ControlService
| |
| |---[dll]------ DeleteService
| |
| |---[dll]------ CloseServiceHandle
| |
| |---[dll]------ QueryServiceStatus
| |
| |---[dll]------ QueryServiceStatusEx
| |
| |---[dll]------ GetWindow
| |
| |---[dll]------ RtlAdjustPrivilege
| |
| |---[dll]------ IsWindowVisible
| |
| |---[dll]------ GetProcessMemoryInfo
| |
| |---[dll]------ OpenProcessToken
| |
| |---[dll]------ GetTokenInformation
| |
| |---[dll]------ LookupAccountSid
| |
| |---[dll]------ LookupAccountSidA
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ NtQuerySystemInformation
| |
| |---[dll]------ RtlMoveMemory_SYSTEM_PROCESSES
| |
| |---[dll]------ WinStationGetProcessSid
| |
| |---[dll]------ GetProcessTimes
| |
| |---[dll]------ GetLogicalDriveStringsA
| |
| |---[dll]------ QueryDosDeviceA
| |
| |---[dll]------ GetProcessImageFileNameA
| |
| |---[dll]------ MoveFileEx
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ GetPriorityClass
| |
| |---[dll]------ Module32First
| |
| |---[dll]------ Module32Next
| |
| |---[dll]------ CreateFileMapping
| |
| |---[dll]------ MapViewOfFile
| |
| |---[dll]------ UnmapViewOfFile
| |
| |---[dll]------ RtlMoveMemory_TRAYDATA
| |
| |---[dll]------ CopyMemory_SYSTEM_PROCESSES
| |
| |---[dll]------ GetModuleFileNameEx
| |
| |---[dll]------ GetMappedFileName
| |
| |---[dll]------ ZwQueryInformationThread_
| |
| |---[dll]------ OpenThread
| |
| |---[dll]------ GetInputState
| |
| |---[dll]------ FileTimeToSystemTime
| |
| |---[dll]------ FileTimeToLocalFileTime
======程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ __启动窗口_可否被关闭
| |
| |------ _选择夹1_子夹被改变
| |
| |------ 启动信息
| |
| |------ _列表框_启动_右键单击表项
| |
| |------ _列表框_启动_被双击
| |
| |------ _刷新启动_被选择
| |
| |------ _添加启动_被选择
| |
| |------ _删除启动_被选择
| |
| |------ _定位注册表_被选择
| |
| |------ _定位文件启动_被选择
| |
| |------ _属性启动_被选择
| |
| |------ _列表框_任务_左键单击表项
| |
| |------ _列表框_任务_右键单击表项
| |
| |------ _刷新任务_被选择
| |
| |------ _结束进程任务_被选择
| |
| |------ _查找窗口_被选择
| |
| |------ _隐藏图标_被选择
| |
| |------ _显示图标_被选择
| |
| |------ _删除图标_被选择
| |
| |------ _定位文件任务_被选择
| |
| |------ _属性任务_被选择
| |
| |------ 任务信息
| |
| |------ 验证任务栏
| |
| |------ 验证过程
| |
| |------ 刷新任务栏
| |
| |------ 刷新托盘
| |
| |------ 进程信息
| |
| |------ EnumPro
| |
| |------ _列表框_进程_右键单击表项
| |
| |------ _列表框_进程_当前表项被改变
| |
| |------ _选择夹2_子夹被改变
| |
| |------ ProInfo
| |
| |------ EnumMod
| |
| |------ ThdInfo
| |
| |------ 取进程优先级别
| |
| |------ _刷新进程_被选择
| |
| |------ 网络连接
| |
| |------ _列表框_连接_右键单击表项
| |
| |------ _刷新网络_被选择
| |
| |------ _关闭连接_被选择
| |
| |------ _结束进程网络_被选择
| |
| |------ _隐藏本地连接_被选择
| |
| |------ _定位文件网络_被选择
| |
| |------ _属性网络_被选择
| |
| |------ 系统服务
| |
| |------ _列表框_服务_右键单击表项
| |
| |------ _列表框_服务_被双击
| |
| |------ _启动服务_被选择
| |
| |------ _停止服务_被选择
| |
| |------ _删除服务_被选择
| |
| |------ _隐藏系统服务_被选择
| |
| |------ _自动服务_被选择
| |
| |------ _手动服务_被选择
| |
| |------ _禁用服务_被选择
| |
| |------ _刷新服务_被选择
| |
| |------ _定位文件服务_被选择
| |
| |------ _服务属性_文件_被选择
| |
| |------ _服务属性_被选择
| |
| |
======程序集_功能
| |
| |------ loadDll_Fuc
| |
| |------ EnumIco
| |
| |------ 格式化路径
| |
| |------ 枚举注册表键名
| |
| |------ 寻找文件_
| |
| |------ 取系统特定目录
| |
| |------ 进程是否运行
| |
| |------ 取公司名称
| |
| |------ 定位文件
| |
| |------ 查看属性
| |
| |------ 延时_
| |
| |------ 创建快捷方式
| |
| |------ 查询快捷方式
| |
| |------ 取托盘区句柄_
| |
| |------ CreateProcessThread
| |
| |------ W2A
| |
| |------ PID取进程名和路径
| |
| |------ 取窗口标题_
| |
| |------ 关闭指定连接
| |
| |------ GetAscIP
| |
| |------ GetUser_WTS
| |
| |------ DOS路径转换_
| |
| |------ GetCommandLine
| |
| |------ 处理事件_
| |
| |------ 数值到时间
| |
| |
======程序集_添加启动
| |
| |------ _按钮_取消_被单击
| |
| |------ _按钮_添加_被单击
| |
| |------ _按钮_寻找_被单击
 
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。