CodeBlue 发表于 2024-2-22 12:02

#易语言 易语言识别更改后缀名的文件

本帖最后由 CodeBlue 于 2024-2-22 17:51 编辑

易语言识别更改后缀名的文件
例如我们把xxx.zip改成了xxx.module,那么我们的易语言怎么识别呢?下面上代码:


.版本 2
.支持库 eCompress
.子程序 读取更改后缀名的zip文件
' 首先重命名
复制文件 (取运行目录 () + “xxx.module”, 取运行目录 () + “xxx.zip”)
' 然后插入一个zip压缩
ZIP压缩1.解压 (取运行目录 () + “xxx.zip”, )
' 然后弹出一个对话框
信息框 (“成功” + , 0, , )


这种原理可以导入到你开发的软件里,例如导入模块就可以像这样。


鹏路翱翔 发表于 2024-2-22 15:26

好思路,可以当成是一种伪装,但是执行的时候怎么判断他原来是什么文件格式呢?怎么才能成功执行起来呢?

你好,再见 发表于 2024-2-22 15:49

直接读文件前4位不就行了
50 4B 03 04

wapj152321 发表于 2024-2-22 16:08

需要识别文件特征吧

CodeBlue 发表于 2024-2-22 17:50

wapj152321 发表于 2024-2-22 16:08
需要识别文件特征吧

.版本 2

.子程序 读取更改后缀名的zip文件
.局部变量 文件, 文本型
.局部变量 数值, 整数型

' 首先重命名
复制文件 (取运行目录 () + “xxx.module”, 取运行目录 () + “xxx.zip”)
' 然后插入一个zip压缩
ZIP压缩1.解压 (取运行目录 () + “xxx.zip”, )
' 判断特征
数值 = 倒找文本 (“xxx.module”, “.module”, , 假)
文件 = 取文本左边 (数值, )
.如果 (文件是否存在 (取运行目录 () + 文件 + “特征.txt”) > 0)
    信息框 (“成功”, 0, , )
.否则
    信息框 (“失败”, 0, , )
.如果结束

CodeBlue 发表于 2024-2-22 17:55

鹏路翱翔 发表于 2024-2-22 15:26
好思路,可以当成是一种伪装,但是执行的时候怎么判断他原来是什么文件格式呢?怎么才能成功执行起来呢?

我们无需用代码判断它是什么格式,执行起来的话,以下代码:
.版本 2

.子程序 读取更改后缀名的zip文件
.局部变量 文件, 文本型
.局部变量 数值, 整数型

' 首先重命名
复制文件 (取运行目录 () + “xxx.module”, 取运行目录 () + “xxx.zip”)
' 然后插入一个zip压缩
ZIP压缩1.解压 (取运行目录 () + “xxx.zip”, )
' 判断特征
数值 = 倒找文本 (“xxx.module”, “.module”, , 假)
文件 = 取文本左边 (数值, )
.如果 (文件是否存在 (取运行目录 () + 文件 + “特征.txt”) > 0)
    信息框 (“成功”, 0, , )
    ' 这里运行代码
    运行 (取运行目录 () + 文件 + “应用.exe”, 真, )

.否则
    信息框 (“失败”, 0, , )

鹏路翱翔 发表于 2024-2-23 08:35

CodeBlue 发表于 2024-2-22 17:55
我们无需用代码判断它是什么格式,执行起来的话,以下代码:
.版本 2



没达到伪装的效果啊,还是把xxx.zip展示给用户了,最好的效果是,在执行的时候,不能让用户知道这个文件原来是什么格式,或者不让用户通过任务管理器找到他{:1_918:}

CodeBlue 发表于 2024-2-23 11:23

本帖最后由 CodeBlue 于 2024-2-23 11:30 编辑

鹏路翱翔 发表于 2024-2-23 08:35
没达到伪装的效果啊,还是把xxx.zip展示给用户了,最好的效果是,在执行的时候,不能让用户知道这个文件 ...
要是不放心的话,把"xxx.zip"转换成utf8/utf16格式不就行了吗。

.版本 2
.支持库 eCompress

.子程序 读取更改后缀名的zip文件
.局部变量 文件, 文本型
.局部变量 数值, 整数型

' 首先重命名
复制文件 (取运行目录 () + “xxx.module”, 取运行目录 () + 到文本 (UTF8到文本 ({ 120, 120, 120, 46, 122, 105, 112 })))
' 然后插入一个zip压缩
ZIP压缩1.解压 (取运行目录 () + “xxx.zip”, )
' 判断特征
数值 = 倒找文本 (“xxx.module”, “.module”, , 假)
文件 = 取文本左边 (数值, )
.如果 (文件是否存在 (取运行目录 () + 文件 + “特征.txt”) > 0)
    信息框 (“成功”, 0, , )
    ' 这里运行代码
    运行 (取运行目录 () + 文件 + “应用.exe”, 真, )

.否则
    信息框 (“失败”, 0, , )
.如果结束


再说了,用户看怎么会看代码呢?它运行出来不就是exe吗?exe看不到代码

冥界3大法王 发表于 2024-2-23 11:31

你好,再见 发表于 2024-2-22 15:49
直接读文件前4位不就行了

我就看你回答的最靠谱。。和简单化。。{:301_988:}

鹏路翱翔 发表于 2024-2-23 12:34

CodeBlue 发表于 2024-2-23 11:23
要是不放心的话,把"xxx.zip"转换成utf8/utf16格式不就行了吗。

.版本 2


你理解错了,我的意思是不让用户找到zip和exe这些原文件,你把zip隐藏了,解压后的exe不还是显示给用户了啊?隐藏zip就没有意义了啊,所以在执行的时候,zip可以换个别的后缀进行显示,但是不能让用户知道exe,或者不让用户通过任务管理器找到exe
页: [1] 2
查看完整版本: #易语言 易语言识别更改后缀名的文件