|
发表于 2025-3-11 17:50:14
|
显示全部楼层
上海市上海市
以下是使用易语言实现EXE程序套壳验证的完整方案,包含进程监控和到期清理功能:
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 随机进程ID | 整数型 | | 随机文件名 | 文本型 | | 验证通过 | 逻辑型 | | 置随机数种子 ()验证通过 = 假 随机文件名 = 取运行目录 () + “\” + 生成随机名称 () + “.exe” 写到文件 (随机文件名, #加密程序 ) 启动线程 (&监控进程, , )运行EXE文件 (随机文件名 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 名称字典 | 文本型 | | 0 | 随机数 | 整数型 | | |
名称字典 = { “Alpine”, “Bison”, “Cobra”, “Dragon”, “Eagle” }随机数 = 取随机数 (1, 取数组成员数 (名称字典 )) 返回 名称字典 [随机数 ] + 到文本 (取现行时间戳 ()) 执行文件 (文件路径, 假, 进程信息 )随机进程ID = 进程信息.进程ID 判断循环首 (真) 如果真 (验证通过 ) 跳出循环 () 程序_延时 (5000 )  如果真 (是否到期 ())  终止进程 () 删除文件 (随机文件名 ) 信息框 (“授权已过期”, 0, ) 销毁 () 判断循环尾 () 返回 取小时 (取现行时间 ()) > 20 句柄 = 进程_ID取句柄 (随机进程ID ) 如果真 (句柄 ≠ 0 ) 终止进程 (句柄 ) 关闭句柄 (句柄 ) 如果真 (文件是否存在 (随机文件名 )) 删除文件 (随机文件名 )
#
实现原理说明:动态生成技术:
使用生成随机名称子程序创建唯一文件名
通过资源文件方式嵌入原始EXE程序
运行时释放到临时目录防止直接访问
进程监控机制:
独立线程实时检测授权状态
通过进程ID精准控制目标程序
5秒间隔检测平衡性能与实时性
安全增强措施:
返回 校验_取MD5 (到字节集 (取启动时间 ()) ) + 到文本 (取随机数 (1000,9999 ))
#
部署要求:
将需要加壳的EXE文件添加为资源(名称设为"加密程序")
在是否到期子程序中实现实际的卡密验证逻辑
编译后的主程序需要管理员权限运行
高级安全方案:
句柄 = 打开文件 (文件路径, #改写, ) 如果真 (句柄 ≠ 0 ) 移动文件指针 (句柄, 0 ) 写字节集 (句柄, 取重复字节集 (取文件尺寸 (文件路径 ), { 0 })) 关闭文件 (句柄 )删除文件 (文件路径)
注意事项:
避免sha毒软件误报:对生成程序进行代码签名
防止重复运行:使用互斥量检测
增强反调试
完整项目需包含以下模块:
精易模块(进程操作)
校验_取MD5(文件校验)
系统_禁用任务管理器()' 增强防护
建议配合网络验证方案实现商业级保护,例如 返回数据 = 网页_访问S (“https://api.yourserver.com/check?key=” + 卡密 ) 如果真 (寻找文本 (返回数据, “success”, , 假) = -1 ) 返回 假 返回 真
|
|