开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 978|回复: 35
打印 上一主题 下一主题
收起左侧

[易语言] 怎么取数组里面绝对内容

[复制链接]
结帖率:85% (77/91)
跳转到指定楼层
发表于 2024-11-13 21:17:33 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   贵州省贵阳市
5精币
  
如果真 (取字节集长度 (原始CreateFileA) > 0)
写到内存 (原始CreateFileA, 拦截CreateFileA, )
获取文件名称 = 分割文本 ( #需要解密文件, #换行符, )
计次循环首 (取数组成员数 (获取文件名称), a)
所有文件 = 获取文件名称 [a]#换行符
加入成员 (待解密文件, 所有文件)
计次循环尾 ()
文本2 = 分割文本 (打开文件名, #换行符, )
' 待解密文件 怎么对比打开文件名 绝对文本 比如  待解密文件 里面有“1.csv” 那下面自动比对
计次循环首 (取数组成员数 (文本2), i)
如果 (到小写 (文本_取右边 (处理斜杠 (打开文件名), “\”, , )) = “1.csv”)
开始解密 = 真
开始解密 = 假

计次循环尾 ()
句柄 = 创建文件1_ (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性)
值 = { 184 }
写到内存 (值 + 到字节集 (&NEWCreateFileA){ 255, 224 }, 拦截CreateFileA, 8)
返回 (句柄)


' 待解密文件 怎么对比打开文件名 绝对文本 比如 待解密文件 里面有“1.csv” 那下面自动比对


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:85% (77/91)

签到天数: 2 天

35
 楼主| 发表于 2024-11-14 13:54:58 | 只看该作者   贵州省贵阳市
LEOONL 发表于 2024-11-13 21:19
  
如果真 (取字节集长度 (原始CreateFileA) > 0)
[/quote]
[e=0].版本 2
子程序名返回值类型公开备 注
NEWCreateFileA整数型 这里还原API
参数名类 型参考可空数组备 注
打开文件名文本型要打开的文件的名字
访问权限整数型如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息
共享方式整数型零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允许对文件进行共享访问
安全特性整数型SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)
创建方式整数型下述常数之一:;CREATE_NEW:创建文件;如文件存在则会出错;CREATE_ALWAYS:创建文件,会改写前一个文件;OPEN_EXISTING:文件必须已经存在。由设备提出要求;OPEN_ALWAYS:如文件不存在则创建它;TRUNCATE_EXISTING:讲现有文件缩短为零长度
文件属性整数型一个或多个下述常数;FILE_ATTRIBUTE_ARCHIVE:标记归档属性;FILE_ATTRIBUTE_COMPRESSED:将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式;FILE_ATTRIBUTE_NORMAL:默认属性;FILE_ATTRIBUTE_HIDDEN:隐藏文件或目录;FILE_ATTRIBUTE_READONLY:文件为只读;FILE_ATTRIBUTE_SYSTEM:文件为系统文件;FILE_FLAG_WRITE_THROUGH:操作系统不得推迟对文件的写操作;FILE_FLAG_OVERLAPPED:允许对文件进行重叠操作;FILE_FLAG_NO_BUFFERING:禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块;FILE_FLAG_RANDOM_ACCESS:针对随机访问对文件缓冲进行优化;FILE_FLAG_SEQUENTIAL_SCAN:针对连续访问对文件缓冲进行优化;FILE_FLAG_DELETE_ON_CLOSE:关闭了上一次打开的句柄后,将文件删除。特别适合临时文件也可在Windows NT下组合使用下述常数标记:SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY
从文件复制文件属性整数型如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性;
变量名类 型静态数组备 注
字节集 
句柄整数型 
截获数据字节集 
i整数型 
待解密文件文本型0
filename文本型 
如果真 (取字节集长度 (原始CreateFileA) > 0)
写到内存 (原始CreateFileA, 拦截CreateFileA, )

待解密文件 = 分割文本 ( #需要解密文件, “,”, )
filename = 文件_取文件名 (打开文件名, )
开始解密 = 假
计次循环首 (取数组成员数 (待解密文件), i)
如果真 (filename = 待解密文件 [i])
开始解密 = 真
跳出循环 ()

计次循环尾 ()
句柄 = 创建文件1_ (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性)
值 = { 184 }
写到内存 (值 + 到字节集 (&NEWCreateFileA){ 255, 224 }, 拦截CreateFileA, 8)
返回 (句柄)
子程序名返回值类型公开备 注
处理斜杠文本型 把文件中的“\”修改成“/”
参数名类 型参考可空数组备 注
文本文本型
返回 (子文本替换 (文本, “/”, “\”, , , ))
子程序名返回值类型公开备 注
取文本指针整数型 返回一个文本型变量的内存指针
参数名类 型参考可空数组备 注
文本型变量文本型
返回 (取文本指针_ (文本型变量, “”, 0))
子程序名返回值类型公开备 注
拦截文件读入  
变量名类 型静态数组备 注
字节集 
如果真 (拦截ReadFile = 0)
返回 ()
修改虚拟保护 (拦截ReadFile, 8, 64, OldReadFile)
原始ReadFile = 指针到字节集 (拦截ReadFile, 8)
值 = { 184 }
写到内存 (值 + 到字节集 (&NEWReadFile){ 255, 224 }, 拦截ReadFile, 8)
子程序名返回值类型公开备 注
NEWReadFile整数型 
参数名类 型参考可空数组备 注
文件句柄整数型文件的句柄
数据缓冲区整数型用于保存读入数据的一个缓冲区
字符数整数型要读入的字符数
实际读入字符数整数型从文件中实际读入的字符数
异步过程整数型OVERLAPPED,如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须用这个参数引用一个特殊的结构。那个结构定义了一次异步读取操作。否则,应将这个参数设为NULL(将函数声明成ByVal As 并传递零值);
变量名类 型静态数组备 注
字节集 
句柄整数型 
截获数据字节集 
如果真 (取字节集长度 (原始ReadFile) > 0)
写到内存 (原始ReadFile, 拦截ReadFile, )
句柄 = 读入数据_ (文件句柄, 数据缓冲区, 字符数, 实际读入字符数, 异步过程)
如果真 (开始解密 = )
_内存_读字节集内存 (, 数据缓冲区, 截获数据, 字符数)
截获数据 = 解密数据 (截获数据, “123456”, #RC4算法 )
_内存_写字节集内存 (, 数据缓冲区, 截获数据)
' 写出字节集 (文件号, 截获数据)
值 = { 184 }
写到内存 (值 + 到字节集 (&NEWReadFile){ 255, 224 }, 拦截ReadFile, 8)
返回 (句柄)


i支持库列表   支持库注释   
dp1数据操作支持库一



大佬 现在是解密这个不知道怎么弄了 只能解密到3个文件 后面就不能正确的解密了

“只要把那个解密的那个全局变量应用的地方,改一下就行了” 这个是别人给我说的 不知道改哪里了~~请教啊
回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

34
 楼主| 发表于 2024-11-14 11:55:17 | 只看该作者   贵州省贵阳市
dnxl 发表于 2024-11-14 11:43
就这几行代码,你是这也不行那也不行…,调试输出会用么?信息框会用么? ...
  
待解密文件 = 分割文本 ( #需要解密文件, “,”, )
' 文本2 = 分割文本 (打开文件名, #换行符, )
' 如果 (到小写 (文本_取右边 (处理斜杠 (打开文件名), “\”, , )) = “loginlist.csv”)
filename = 文件_取文件名 (打开文件名, )
开始解密 = 假
计次循环首 (取数组成员数 (待解密文件), i)
如果真 (filename = 待解密文件 [i])
开始解密 = 真
跳出循环 ()
信息框 (filename, 0, , )
计次循环尾 ()
. ' 如果 (到小写 (文本_取右边 (处理斜杠 (打开文件名), “\”, , )) = “loginlist.csv”)  ' 只能等于一个 后面的就不能继续了
' 开始解密 = 真
' 开始解密 = 假


回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

33
 楼主| 发表于 2024-11-14 11:54:45 | 只看该作者   贵州省贵阳市
dnxl 发表于 2024-11-14 11:43
就这几行代码,你是这也不行那也不行…,调试输出会用么?信息框会用么? ...

现在是 只能解3个 多1个都不行  
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 20 天

32
发表于 2024-11-14 11:43:38 | 只看该作者   广西壮族自治区柳州市
21186213 发表于 2024-11-14 10:09
你这样写 我也写过的 也不行。

主要还是 打开文件名 = 待解密文件  循环过了 但是 打开文件名 可能 之 ...

就这几行代码,你是这也不行那也不行…,调试输出会用么?信息框会用么?
回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

31
 楼主| 发表于 2024-11-14 10:09:10 | 只看该作者   贵州省贵阳市
dnxl 发表于 2024-11-14 01:46
你这注册时间都超10年了,看你写这代码我都懵逼
你分割需要解密文件我理解,分割后每个成员又加个换行符写 ...

你这样写 我也写过的 也不行。

主要还是 打开文件名 = 待解密文件 循环过了 但是 打开文件名 可能 之前就打开过了 或者之后才打开 不能准确的 等于 待解密文件   

如果  待解密文件 改成 绝对 文件名 就一点问题都没有 但是只能 做一个 不能多个文件名

回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

30
 楼主| 发表于 2024-11-14 10:04:03 | 只看该作者   贵州省贵阳市
dnxl 发表于 2024-11-14 01:46
你这注册时间都超10年了,看你写这代码我都懵逼
你分割需要解密文件我理解,分割后每个成员又加个换行符写 ...

不知道为什么 我就在这里卡着 过不去! 可能对于其他人而言 很简单。
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 20 天

29
发表于 2024-11-14 01:46:14 | 只看该作者   广西壮族自治区柳州市
你这注册时间都超10年了,看你写这代码我都懵逼
你分割需要解密文件我理解,分割后每个成员又加个换行符写到另一个数组什么操作?
打开文件名是函数参数,本身就是一个文件路径,你用换行符分割又是什么操作?
然后你循环对比了个寂寞,我想你应该想要这个效果

.版本 2

.如果真 (取字节集长度 (原始CreateFileA) > 0)
    写到内存 (原始CreateFileA, 拦截CreateFileA, )
.如果真结束
获取文件名称 = 分割文本 (#需要解密文件, #换行符, )
' 待解密文件 怎么对比打开文件名 绝对文本 比如  待解密文件 里面有“1.csv” 那下面自动比对
.计次循环首 (取数组成员数 (获取文件名称), i)
    .如果 (到小写 (文本_取右边 (处理斜杠 (打开文件名), “\”, , )) = 获取文件名称[i])
        开始解密 = 真
    .否则
        开始解密 = 假
    .如果结束

.计次循环尾 ()
句柄 = 创建文件1_ (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性)
值 = { 184 }
写到内存 (值 + 到字节集 (&NEWCreateFileA) + { 255, 224 }, 拦截CreateFileA, 8)
返回 (句柄)

回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

28
 楼主| 发表于 2024-11-14 01:05:27 | 只看该作者   贵州省贵阳市
LEOONL 发表于 2024-11-14 00:49
我说你问的这个问题,给你写了几次代码都还没搞清楚你想干嘛,是取哪个名字 取到然后呢,其实给你的代码 ...

可能是我想的太复杂,钻牛角尖了

回复

使用道具 举报

结帖率:85% (77/91)

签到天数: 2 天

27
 楼主| 发表于 2024-11-14 01:01:48 | 只看该作者   贵州省贵阳市
LEOONL 发表于 2024-11-14 00:49
我说你问的这个问题,给你写了几次代码都还没搞清楚你想干嘛,是取哪个名字 取到然后呢,其实给你的代码 ...

调试输出用不了,是写成dll,然后exe加载运行
回复

使用道具 举报

26
发表于 2024-11-14 00:49:21 | 只看该作者   四川省宜宾市
21186213 发表于 2024-11-14 00:26
就是客户Duan读取文件   hook 解密不被别人修改和查看内容

我说你问的这个问题,给你写了几次代码都还没搞清楚你想干嘛,是取哪个名字 取到然后呢,其实给你的代码都应该是你要用到的,你只是想一想 盘一盘逻辑去使用这些代码就可以了

补充内容 (2024-11-14 00:53):
还有最重要的,多用 调试输出() 看看输出是什么样的根据输出去改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表