窗口程序集名 | 保 留 | 保 留 | 备 注 | 程序集_解密 | | | | 变量名 | 类 型 | 数组 | 备 注 | 原始CreateFileA | 字节集 | | OldCreateFileA | 整数型 | | 原始ReadFile | 字节集 | | OldReadFile | 整数型 | | 开始解密 | 逻辑型 | | 如果真 (拦截CreateFileA = 0 )返回 ()修改虚拟保护 (拦截CreateFileA, 8, 64, OldCreateFileA)原始CreateFileA = 指针到字节集 (拦截CreateFileA, 8 )值 = { 184 }写到内存 (值 + 到字节集 (&NEWCreateFileA ) + { 255, 224 }, 拦截CreateFileA, 8 )|
NEWCreateFileA | 整数型 | | |
打开文件名 | 文本型 | | | | 访问权限 | 整数型 | | | | 共享方式 | 整数型 | | | | 安全特性 | 整数型 | | | | 创建方式 | 整数型 | | | | 文件属性 | 整数型 | | | | 从文件复制文件属性 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 值 | 字节集 | | | 句柄 | 整数型 | | | 截获数据 | 字节集 | | | 所有文件 | 文本型 | | | 计数 | 整数型 | | 0 | 获得数据 | 整数型 | | | 记录变量 | 整数型 | | | 如果真 (取字节集长度 (原始CreateFileA ) > 0 )写到内存 (原始CreateFileA, 拦截CreateFileA, )如果 (到小写 (取文本右边 (打开文件名, 15 )) = “channellist.csv”)开始解密 = 真 开始解密 = 假 .如果结束 在这里怎么多个文件检测?????? 句柄 = 创建文件1_ (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性 )值 = { 184 }写到内存 (值 + 到字节集 (&NEWCreateFileA ) + { 255, 224 }, 拦截CreateFileA, 8 )返回 (句柄 )如果真 (拦截ReadFile = 0 )返回 ()修改虚拟保护 (拦截ReadFile, 8, 64, OldReadFile)原始ReadFile = 指针到字节集 (拦截ReadFile, 8 )值 = { 184 }写到内存 (值 + 到字节集 (&NEWReadFile ) + { 255, 224 }, 拦截ReadFile, 8 )|
NEWReadFile | 整数型 | | |
文件句柄 | 整数型 | | | | 数据缓冲区 | 整数型 | | | | 字符数 | 整数型 | | | | 实际读入字符数 | 整数型 | | | | 异步过程 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 值 | 字节集 | | | 句柄 | 整数型 | | | 截获数据 | 字节集 | | | 如果真 (取字节集长度 (原始ReadFile ) > 0 )写到内存 (原始ReadFile, 拦截ReadFile, )句柄 = 读入数据_ (文件句柄, 数据缓冲区, 字符数, 实际读入字符数, 异步过程)如果真 (开始解密 = 真)_内存_读字节集内存 (, 数据缓冲区, 截获数据, 字符数 )截获数据 = 解密数据 (截获数据, “123456”, #RC4算法 )_内存_写字节集内存 (, 数据缓冲区, 截获数据 ) 值 = { 184 }写到内存 (值 + 到字节集 (&NEWReadFile ) + { 255, 224 }, 拦截ReadFile, 8 )返回 (句柄 )
|