ce吧 关注:196,990贴子:3,803,176
  • 14回复贴,共1

《毒奶粉》易语言内存操作 加密解密构造方法

只看楼主收藏回复

提供了新老加解密以及优化后的加解密的各种构造方法,大家自己实验与对比


IP属地:山东1楼2022-03-15 20:25回复
    .版本 2
    .子程序 加密, , , 新结构
    .参数 address, 长整数型
    .参数 value, 长整数型
    .参数 lenght, 整数型, 可空
    .局部变量 eax, 整数型
    .局部变量 ebx, 整数型
    .局部变量 Key, 字节集
    .如果真 (是否为空 (lenght))
    lenght = 4
    .如果真结束
    value = value + lenght
    .如果真 (lenght = 1)
    eax = 取高位 (value)
    ebx = 取低位 (value)
    Key = 到字节集 (到字节 (位异或 (eax, 26)))
    .如果真结束
    .如果真 (lenght = 2)
    eax = 取高位 (value)
    ebx = 取低位 (value)
    Key = 到字节集 (到短整数 (位异或 (eax, 7979)))
    .如果真结束
    .如果真 (lenght = 4)
    eax = 取高位 (value)
    ebx = 取低位 (value)
    Key = 到字节集 (到整数 (位异或 (eax, 522846812)))
    .如果真结束
    .如果真 (lenght = 8)
    eax = 取高位 (value)
    ebx = 取低位 (value)
    eax = 位异或 (eax, 1274686236)
    ebx = 位异或 (ebx, 522846556)
    Key = 到字节集 (到长整数 (位异或64 (eax, ebx)))
    .如果真结束
    写内存字节集2 (进程ID, address, Key)
    .子程序 解密, 长整数型, , 新结构
    .参数 address, 长整数型
    .参数 lenght, 整数型, 可空
    .局部变量 eax, 整数型
    .局部变量 ebx, 整数型
    .局部变量 Key, 长整数型
    .如果真 (是否为空 (lenght))
    lenght = 4
    .如果真结束
    eax = 读内存整数型 (进程ID, address)
    ebx = 读内存整数型 (进程ID, address + 4)
    .如果真 (lenght = 1)
    Key = 位异或 (eax, 26)
    Key = 到字节 (Key - 1)
    .如果真结束
    .如果真 (lenght = 2)
    Key = 位异或 (eax, 7979)
    Key = 到短整数 (Key - 2)
    .如果真结束
    .如果真 (lenght = 4)
    Key = 位异或 (eax, 522846812)
    Key = 到整数 (Key - 4)
    .如果真结束
    .如果真 (lenght = 8)
    eax = 位异或 (eax, 1274686236)
    ebx = 位异或 (ebx, 522846556)
    Key = 位异或64 (eax, ebx)
    Key = Key - 8
    .如果真结束
    返回 (Key)
    .子程序 取高位, 整数型
    .参数 rax, 长整数型
    置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 236, 93, 194, 8, 0 })
    返回 (0)
    .子程序 取低位, 整数型
    .参数 rax, 长整数型
    置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 216, 137, 236, 93, 194, 8, 0 })
    返回 (0)
    .子程序 位异或64, 长整数型
    .参数 eax, 整数型
    .参数 ebx, 整数型
    置入代码 ({ 139, 69, 8, 139, 93, 12, 49, 216, 137, 236, 93, 194, 8, 0 })
    返回 (0)
    .子程序 老加密
    .参数 地址1, 长整数型
    .参数 数值, 整数型
    .参数 类型, 整数型, 可空
    .局部变量 加密ID, 长整数型
    .局部变量 偏移参数, 长整数型
    .局部变量 偏移地址, 长整数型
    .局部变量 data, 长整数型
    .局部变量 地址尾, 长整数型
    .局部变量 ax, 短整数型
    .局部变量 si, 短整数型
    加密ID = 读内存长整数型 (进程ID, 地址1)
    ' 偏移参数 = 读内存长整数型 (进程ID, 读内存长整数型 (进程ID, #解密基址) + 右移 (加密ID, 16) × 8 + 56)
    偏移地址 = 偏移参数 + 位与长整数 (加密ID, 65535) × 4 + 8476
    偏移参数 = 读内存整数型 (进程ID, 偏移地址)
    data = 位与长整数 (偏移参数, 65535)
    data = data + 左移 (data, 16)
    ax = 位与长整数 (偏移参数, 65535)
    .判断开始 (是否为空 (类型))
    地址尾 = 位与长整数 (地址1, 15)
    .判断开始 (地址尾 = 0)
    si = 右移 (数值, 16)
    si = si - ax
    si = si + 数值
    .判断 (地址尾 = 4)
    si = 位与长整数 (数值, 65535) - 右移 (数值, 16)
    .判断 (地址尾 = 8)
    si = 右移 (数值, 16)
    si = si × 数值
    .判断 (地址尾 = 12)
    si = 右移 (数值, 16)
    si = si + 数值
    si = si + ax
    .默认
    返回 ()
    .判断结束
    .判断 (类型 = 1)
    si = 位与长整数 (数值, 255)
    .判断 (类型 = 2)
    si = 数值
    .判断 (类型 = 3)
    si = 右移 (数值, 16)
    si = si + 数值
    .判断 (类型 = 4)
    si = 右移 (数值, 16)
    si = si + 位与长整数 (数值, 65535)
    .默认
    返回 ()
    .判断结束
    ax = 位异或 (si, ax)
    写内存字节集2 (进程ID, 偏移地址 + 2, 到字节集 (ax))
    写内存整数型2 (进程ID, 地址1 + 选择 (类型 ≠ 4, 4, 8), 位异或 (data, 数值))
    .子程序 老解密, 整数型
    .参数 地址, 长整数型
    .局部变量 v3, 整数型
    ' v3 = 位与 (读内存整数型 (进程ID, 读内存整数型 (进程ID, 读内存整数型 (进程ID, #解密基址) + 8 × 右移 (读内存整数型 (进程ID, 地址), 16) + 56) + 4 × 位与 (读内存整数型 (进程ID, 地址), 65535) + 8476), 65535)
    返回 (位异或 (读内存整数型 (进程ID, 地址 + 4), 位或 (v3, 左移 (v3, 16))))
    .子程序 老解密2, 长整数型
    .参数 内存地址, 长整数型
    .局部变量 局部_参1, 长整数型
    .局部变量 局部_参2, 长整数型
    .局部变量 局部_参3, 长整数型
    .局部变量 局部_参4, 长整数型
    .局部变量 局部_参5, 长整数型
    .局部变量 局部_参6, 长整数型
    .局部变量 局部_参7, 长整数型
    局部_参1 = 读内存整数型 (进程ID, 内存地址)
    局部_参2 = 局部_参1
    局部_参3 = 十六到十 (取文本右边 (十到十六 (局部_参2), 4))
    ' 局部_参4 = 读内存长整数型 (进程ID, #解密基址)
    局部_参2 = 右移 (局部_参2, 16)
    局部_参5 = 读内存长整数型 (进程ID, 局部_参4 + 局部_参2 × 8 + 56)
    局部_参6 = 读内存整数型 (进程ID, 局部_参5 + 局部_参3 × 4 + 8476)
    局部_参7 = 十六到十 (取文本右边 (十到十六 (局部_参6), 4))
    局部_参2 = 局部_参7
    局部_参2 = 左移 (局部_参2, 16)
    局部_参2 = 位或 (局部_参2, 局部_参7)
    返回 (位异或 (局部_参2, 读内存整数型 (进程ID, 内存地址 + 4)))
    .子程序 加密处理, , , 新加密优化
    .参数 数据指针, 长整数型
    .参数 修改数值, 整数型
    .局部变量 运算数据, 长整数型
    运算数据 = 修改数值 + 4
    运算数据 = 位异或 (522846812, 运算数据)
    写内存长整数型F (进程ID, 数据指针, 运算数据)
    .子程序 解密处理, 整数型, , 新解密优化
    .参数 数据指针, 长整数型
    .局部变量 结果数据, 长整数型
    结果数据 = 位异或 (读内存长整数型 (进程ID, 数据指针), 522846812)
    结果数据 = 结果数据 - 4
    返回 (结果数据)
    .子程序 Long_Xor, 长整数型, , 位异或
    .参数 long1, 长整数型
    .参数 long2, 长整数型
    置入代码 ({ 139, 69, 8, 139, 85, 12, 51, 69, 16, 51, 85, 20, 201, 194, 16, 0 })
    返回 (0)
    .子程序 sizeof, 整数型
    .参数 typeid, 整数型
    .局部变量 result, 整数型, , "4"
    result = { 1, 2, 4, 8 }
    返回 (result [typeid])
    .子程序 取key1, 长整数型
    .参数 typeid, 整数型
    .局部变量 result, 长整数型, , "4"
    result = { 26, 7979, 522846812, 0 }
    .如果真 (typeid = #长整数型)
    返回 (取字节集数据 ({ 28, 43, 250, 75, 92, 1, 42, 31 }, #长整数型, ))
    .如果真结束
    返回 (result [typeid])
    .子程序 取key2, 整数型
    .参数 typeid, 整数型
    .局部变量 result, 整数型, , "4"
    result = { 193, 194, 196, 0 }
    返回 (result [typeid])
    .子程序 取加密数据KEY, 字节集
    .参数 va, 长整数型
    .参数 类型, 整数型, 可空
    .局部变量 encryBuf1, 整数型
    .局部变量 encryBuf2, 整数型
    .局部变量 buff, 字节集
    .如果真 (是否为空 (类型))
    类型 = #整数型
    .如果真结束
    .如果真 (类型 = #长整数型)
    返回 (到字节集 (Long_Xor (va + sizeof (类型), 取key1 (类型))))
    .如果真结束
    encryBuf1 = 位异或 (va + sizeof (类型), 取key1 (类型))
    encryBuf2 = va + 取key2 (类型) + encryBuf1
    返回 (到字节集 (encryBuf1) + 到字节集 (encryBuf2))
    .子程序 解密读取, 长整数型, , 不卡加解密
    .参数 指针, 长整数型
    .参数 类型, 整数型, 可空
    .如果真 (是否为空 (类型))
    类型 = #整数型
    .如果真结束
    返回 (Long_Xor (取字节集数据 (读字节集 (指针, sizeof (类型)), 类型, ), 取key1 (类型)) - sizeof (类型))
    .子程序 加密写入, , , 不卡加密
    .参数 指针, 长整数型
    .参数 va, 长整数型
    .参数 类型, 整数型, 可空
    .如果真 (是否为空 (类型))
    类型 = #整数型
    .如果真结束
    写内存字节集 (指针, 取加密数据KEY (va, 类型))


    IP属地:山东2楼2022-03-15 20:26
    回复
      2025-08-07 00:53:21
      广告
      不感兴趣
      开通SVIP免广告
      .版本 2
      .子程序 加密, , , 新结构
      .参数 address, 长整数型
      .参数 value, 长整数型
      .参数 lenght, 整数型, 可空
      .局部变量 eax, 整数型
      .局部变量 ebx, 整数型
      .局部变量 Key, 字节集
      .如果真 (是否为空 (lenght))
      lenght = 4
      .如果真结束
      value = value + lenght
      .如果真 (lenght = 1)
      eax = 取高位 (value)
      ebx = 取低位 (value)
      Key = 到字节集 (到字节 (位异或 (eax, 26)))
      .如果真结束
      .如果真 (lenght = 2)
      eax = 取高位 (value)
      ebx = 取低位 (value)
      Key = 到字节集 (到短整数 (位异或 (eax, 7979)))
      .如果真结束
      .如果真 (lenght = 4)
      eax = 取高位 (value)
      ebx = 取低位 (value)
      Key = 到字节集 (到整数 (位异或 (eax, 522846812)))
      .如果真结束
      .如果真 (lenght = 8)
      eax = 取高位 (value)
      ebx = 取低位 (value)
      eax = 位异或 (eax, 1274686236)
      ebx = 位异或 (ebx, 522846556)
      Key = 到字节集 (到长整数 (位异或64 (eax, ebx)))
      .如果真结束
      写内存字节集2 (进程ID, address, Key)
      .子程序 解密, 长整数型, , 新结构
      .参数 address, 长整数型
      .参数 lenght, 整数型, 可空
      .局部变量 eax, 整数型
      .局部变量 ebx, 整数型
      .局部变量 Key, 长整数型
      .如果真 (是否为空 (lenght))
      lenght = 4
      .如果真结束
      eax = 读内存整数型 (进程ID, address)
      ebx = 读内存整数型 (进程ID, address + 4)
      .如果真 (lenght = 1)
      Key = 位异或 (eax, 26)
      Key = 到字节 (Key - 1)
      .如果真结束
      .如果真 (lenght = 2)
      Key = 位异或 (eax, 7979)
      Key = 到短整数 (Key - 2)
      .如果真结束
      .如果真 (lenght = 4)
      Key = 位异或 (eax, 522846812)
      Key = 到整数 (Key - 4)
      .如果真结束
      .如果真 (lenght = 8)
      eax = 位异或 (eax, 1274686236)
      ebx = 位异或 (ebx, 522846556)
      Key = 位异或64 (eax, ebx)
      Key = Key - 8
      .如果真结束
      返回 (Key)
      .子程序 取高位, 整数型
      .参数 rax, 长整数型
      置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 236, 93, 194, 8, 0 })
      返回 (0)
      .子程序 取低位, 整数型
      .参数 rax, 长整数型
      置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 216, 137, 236, 93, 194, 8, 0 })
      返回 (0)
      .子程序 位异或64, 长整数型
      .参数 eax, 整数型
      .参数 ebx, 整数型
      置入代码 ({ 139, 69, 8, 139, 93, 12, 49, 216, 137, 236, 93, 194, 8, 0 })
      返回 (0)
      .子程序 老加密
      .参数 地址1, 长整数型
      .参数 数值, 整数型
      .参数 类型, 整数型, 可空
      .局部变量 加密ID, 长整数型
      .局部变量 偏移参数, 长整数型
      .局部变量 偏移地址, 长整数型
      .局部变量 data, 长整数型
      .局部变量 地址尾, 长整数型
      .局部变量 ax, 短整数型
      .局部变量 si, 短整数型
      加密ID = 读内存长整数型 (进程ID, 地址1)
      ' 偏移参数 = 读内存长整数型 (进程ID, 读内存长整数型 (进程ID, #解密基址) + 右移 (加密ID, 16) × 8 + 56)
      偏移地址 = 偏移参数 + 位与长整数 (加密ID, 65535) × 4 + 8476
      偏移参数 = 读内存整数型 (进程ID, 偏移地址)
      data = 位与长整数 (偏移参数, 65535)
      data = data + 左移 (data, 16)
      ax = 位与长整数 (偏移参数, 65535)
      .判断开始 (是否为空 (类型))
      地址尾 = 位与长整数 (地址1, 15)
      .判断开始 (地址尾 = 0)
      si = 右移 (数值, 16)
      si = si - ax
      si = si + 数值
      .判断 (地址尾 = 4)
      si = 位与长整数 (数值, 65535) - 右移 (数值, 16)
      .判断 (地址尾 = 8)
      si = 右移 (数值, 16)
      si = si × 数值
      .判断 (地址尾 = 12)
      si = 右移 (数值, 16)
      si = si + 数值
      si = si + ax
      .默认
      返回 ()
      .判断结束
      .判断 (类型 = 1)
      si = 位与长整数 (数值, 255)
      .判断 (类型 = 2)
      si = 数值
      .判断 (类型 = 3)
      si = 右移 (数值, 16)
      si = si + 数值
      .判断 (类型 = 4)
      si = 右移 (数值, 16)
      si = si + 位与长整数 (数值, 65535)
      .默认
      返回 ()
      .判断结束
      ax = 位异或 (si, ax)
      写内存字节集2 (进程ID, 偏移地址 + 2, 到字节集 (ax))
      写内存整数型2 (进程ID, 地址1 + 选择 (类型 ≠ 4, 4, 8), 位异或 (data, 数值))
      .子程序 老解密, 整数型
      .参数 地址, 长整数型
      .局部变量 v3, 整数型
      ' v3 = 位与 (读内存整数型 (进程ID, 读内存整数型 (进程ID, 读内存整数型 (进程ID, #解密基址) + 8 × 右移 (读内存整数型 (进程ID, 地址), 16) + 56) + 4 × 位与 (读内存整数型 (进程ID, 地址), 65535) + 8476), 65535)
      返回 (位异或 (读内存整数型 (进程ID, 地址 + 4), 位或 (v3, 左移 (v3, 16))))
      .子程序 老解密2, 长整数型
      .参数 内存地址, 长整数型
      .局部变量 局部_参1, 长整数型
      .局部变量 局部_参2, 长整数型
      .局部变量 局部_参3, 长整数型
      .局部变量 局部_参4, 长整数型
      .局部变量 局部_参5, 长整数型
      .局部变量 局部_参6, 长整数型
      .局部变量 局部_参7, 长整数型
      局部_参1 = 读内存整数型 (进程ID, 内存地址)
      局部_参2 = 局部_参1
      局部_参3 = 十六到十 (取文本右边 (十到十六 (局部_参2), 4))
      ' 局部_参4 = 读内存长整数型 (进程ID, #解密基址)
      局部_参2 = 右移 (局部_参2, 16)
      局部_参5 = 读内存长整数型 (进程ID, 局部_参4 + 局部_参2 × 8 + 56)
      局部_参6 = 读内存整数型 (进程ID, 局部_参5 + 局部_参3 × 4 + 8476)
      局部_参7 = 十六到十 (取文本右边 (十到十六 (局部_参6), 4))
      局部_参2 = 局部_参7
      局部_参2 = 左移 (局部_参2, 16)
      局部_参2 = 位或 (局部_参2, 局部_参7)
      返回 (位异或 (局部_参2, 读内存整数型 (进程ID, 内存地址 + 4)))
      .子程序 加密处理, , , 新加密优化
      .参数 数据指针, 长整数型
      .参数 修改数值, 整数型
      .局部变量 运算数据, 长整数型
      运算数据 = 修改数值 + 4
      运算数据 = 位异或 (522846812, 运算数据)
      写内存长整数型F (进程ID, 数据指针, 运算数据)
      .子程序 解密处理, 整数型, , 新解密优化
      .参数 数据指针, 长整数型
      .局部变量 结果数据, 长整数型
      结果数据 = 位异或 (读内存长整数型 (进程ID, 数据指针), 522846812)
      结果数据 = 结果数据 - 4
      返回 (结果数据)
      .子程序 Long_Xor, 长整数型, , 位异或
      .参数 long1, 长整数型
      .参数 long2, 长整数型
      置入代码 ({ 139, 69, 8, 139, 85, 12, 51, 69, 16, 51, 85, 20, 201, 194, 16, 0 })
      返回 (0)
      .子程序 sizeof, 整数型
      .参数 typeid, 整数型
      .局部变量 result, 整数型, , "4"
      result = { 1, 2, 4, 8 }
      返回 (result [typeid])
      .子程序 取key1, 长整数型
      .参数 typeid, 整数型
      .局部变量 result, 长整数型, , "4"
      result = { 26, 7979, 522846812, 0 }
      .如果真 (typeid = #长整数型)
      返回 (取字节集数据 ({ 28, 43, 250, 75, 92, 1, 42, 31 }, #长整数型, ))
      .如果真结束
      返回 (result [typeid])
      .子程序 取key2, 整数型
      .参数 typeid, 整数型
      .局部变量 result, 整数型, , "4"
      result = { 193, 194, 196, 0 }
      返回 (result [typeid])
      .子程序 取加密数据KEY, 字节集
      .参数 va, 长整数型
      .参数 类型, 整数型, 可空
      .局部变量 encryBuf1, 整数型
      .局部变量 encryBuf2, 整数型
      .局部变量 buff, 字节集
      .如果真 (是否为空 (类型))
      类型 = #整数型
      .如果真结束
      .如果真 (类型 = #长整数型)
      返回 (到字节集 (Long_Xor (va + sizeof (类型), 取key1 (类型))))
      .如果真结束
      encryBuf1 = 位异或 (va + sizeof (类型), 取key1 (类型))
      encryBuf2 = va + 取key2 (类型) + encryBuf1
      返回 (到字节集 (encryBuf1) + 到字节集 (encryBuf2))
      .子程序 解密读取, 长整数型, , 不卡加解密
      .参数 指针, 长整数型
      .参数 类型, 整数型, 可空
      .如果真 (是否为空 (类型))
      类型 = #整数型
      .如果真结束
      返回 (Long_Xor (取字节集数据 (读字节集 (指针, sizeof (类型)), 类型, ), 取key1 (类型)) - sizeof (类型))
      .子程序 加密写入, , , 不卡加密
      .参数 指针, 长整数型
      .参数 va, 长整数型
      .参数 类型, 整数型, 可空
      .如果真 (是否为空 (类型))
      类型 = #整数型
      .如果真结束
      写内存字节集 (指针, 取加密数据KEY (va, 类型))


      IP属地:山东3楼2022-03-15 20:32
      回复
        .版本 2
        .子程序 加密, , , 新结构
        .参数 address, 长整数型
        .参数 value, 长整数型
        .参数 lenght, 整数型, 可空
        .局部变量 eax, 整数型
        .局部变量 ebx, 整数型
        .局部变量 Key, 字节集
        .如果真 (是否为空 (lenght))
        lenght = 4
        .如果真结束
        value = value + lenght
        .如果真 (lenght = 1)
        eax = 取高位 (value)
        ebx = 取低位 (value)
        Key = 到字节集 (到字节 (位异或 (eax, 26)))
        .如果真结束
        .如果真 (lenght = 2)
        eax = 取高位 (value)
        ebx = 取低位 (value)
        Key = 到字节集 (到短整数 (位异或 (eax, 7979)))
        .如果真结束
        .如果真 (lenght = 4)
        eax = 取高位 (value)
        ebx = 取低位 (value)
        Key = 到字节集 (到整数 (位异或 (eax, 522846812)))
        .如果真结束
        .如果真 (lenght = 8)
        eax = 取高位 (value)
        ebx = 取低位 (value)
        eax = 位异或 (eax, 1274686236)
        ebx = 位异或 (ebx, 522846556)
        Key = 到字节集 (到长整数 (位异或64 (eax, ebx)))
        .如果真结束


        IP属地:山东4楼2022-03-15 20:34
        回复
          写内存字节集2 (进程ID, address, Key)
          .子程序 解密, 长整数型, , 新结构
          .参数 address, 长整数型
          .参数 lenght, 整数型, 可空
          .局部变量 eax, 整数型
          .局部变量 ebx, 整数型
          .局部变量 Key, 长整数型
          .如果真 (是否为空 (lenght))
          lenght = 4
          .如果真结束
          eax = 读内存整数型 (进程ID, address)
          ebx = 读内存整数型 (进程ID, address + 4)
          .如果真 (lenght = 1)
          Key = 位异或 (eax, 26)
          Key = 到字节 (Key - 1)
          .如果真结束
          .如果真 (lenght = 2)
          Key = 位异或 (eax, 7979)
          Key = 到短整数 (Key - 2)
          .如果真结束
          .如果真 (lenght = 4)
          Key = 位异或 (eax, 522846812)
          Key = 到整数 (Key - 4)
          .如果真结束
          .如果真 (lenght = 8)
          eax = 位异或 (eax, 1274686236)
          ebx = 位异或 (ebx, 522846556)
          Key = 位异或64 (eax, ebx)
          Key = Key - 8
          .如果真结束


          IP属地:山东5楼2022-03-15 20:34
          回复
            返回 (Key)
            .子程序 取高位, 整数型
            .参数 rax, 长整数型
            置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 236, 93, 194, 8, 0 })
            返回 (0)
            .子程序 取低位, 整数型
            .参数 rax, 长整数型
            置入代码 ({ 139, 69, 8, 139, 93, 12, 137, 216, 137, 236, 93, 194, 8, 0 })
            返回 (0)
            .子程序 位异或64, 长整数型
            .参数 eax, 整数型
            .参数 ebx, 整数型
            置入代码 ({ 139, 69, 8, 139, 93, 12, 49, 216, 137, 236, 93, 194, 8, 0 })
            返回 (0)
            .子程序 老加密
            .参数 地址1, 长整数型
            .参数 数值, 整数型
            .参数 类型, 整数型, 可空
            .局部变量 加密ID, 长整数型
            .局部变量 偏移参数, 长整数型
            .局部变量 偏移地址, 长整数型
            .局部变量 data, 长整数型
            .局部变量 地址尾, 长整数型
            .局部变量 ax, 短整数型
            .局部变量 si, 短整数型


            IP属地:山东6楼2022-03-15 20:34
            回复
              加密ID = 读内存长整数型 (进程ID, 地址1)
              ' 偏移参数 = 读内存长整数型 (进程ID, 读内存长整数型 (进程ID, #解密基址) + 右移 (加密ID, 16) × 8 + 56)
              偏移地址 = 偏移参数 + 位与长整数 (加密ID, 65535) × 4 + 8476
              偏移参数 = 读内存整数型 (进程ID, 偏移地址)
              data = 位与长整数 (偏移参数, 65535)
              data = data + 左移 (data, 16)
              ax = 位与长整数 (偏移参数, 65535)
              .判断开始 (是否为空 (类型))
              地址尾 = 位与长整数 (地址1, 15)
              .判断开始 (地址尾 = 0)
              si = 右移 (数值, 16)
              si = si - ax
              si = si + 数值
              .判断 (地址尾 = 4)
              si = 位与长整数 (数值, 65535) - 右移 (数值, 16)
              .判断 (地址尾 = 8)
              si = 右移 (数值, 16)
              si = si × 数值
              .判断 (地址尾 = 12)
              si = 右移 (数值, 16)
              si = si + 数值
              si = si + ax
              .默认
              返回 ()
              .判断结束


              IP属地:山东7楼2022-03-15 20:34
              回复
                .判断 (类型 = 1)
                si = 位与长整数 (数值, 255)
                .判断 (类型 = 2)
                si = 数值
                .判断 (类型 = 3)
                si = 右移 (数值, 16)
                si = si + 数值
                .判断 (类型 = 4)
                si = 右移 (数值, 16)
                si = si + 位与长整数 (数值, 65535)
                .默认
                返回 ()
                .判断结束
                ax = 位异或 (si, ax)
                写内存字节集2 (进程ID, 偏移地址 + 2, 到字节集 (ax))
                写内存整数型2 (进程ID, 地址1 + 选择 (类型 ≠ 4, 4, 8), 位异或 (data, 数值))
                .子程序 老解密, 整数型
                .参数 地址, 长整数型
                .局部变量 v3, 整数型
                ' v3 = 位与 (读内存整数型 (进程ID, 读内存整数型 (进程ID, 读内存整数型 (进程ID, #解密基址) + 8 × 右移 (读内存整数型 (进程ID, 地址), 16) + 56) + 4 × 位与 (读内存整数型 (进程ID, 地址), 65535) + 8476), 65535)
                返回 (位异或 (读内存整数型 (进程ID, 地址 + 4), 位或 (v3, 左移 (v3, 16))))
                .子程序 老解密2, 长整数型
                .参数 内存地址, 长整数型
                .局部变量 局部_参1, 长整数型
                .局部变量 局部_参2, 长整数型
                .局部变量 局部_参3, 长整数型
                .局部变量 局部_参4, 长整数型
                .局部变量 局部_参5, 长整数型
                .局部变量 局部_参6, 长整数型
                .局部变量 局部_参7, 长整数型


                IP属地:山东8楼2022-03-15 20:35
                回复
                  2025-08-07 00:47:21
                  广告
                  不感兴趣
                  开通SVIP免广告
                  局部_参1 = 读内存整数型 (进程ID, 内存地址)
                  局部_参2 = 局部_参1
                  局部_参3 = 十六到十 (取文本右边 (十到十六 (局部_参2), 4))
                  ' 局部_参4 = 读内存长整数型 (进程ID, #解密基址)
                  局部_参2 = 右移 (局部_参2, 16)
                  局部_参5 = 读内存长整数型 (进程ID, 局部_参4 + 局部_参2 × 8 + 56)
                  局部_参6 = 读内存整数型 (进程ID, 局部_参5 + 局部_参3 × 4 + 8476)
                  局部_参7 = 十六到十 (取文本右边 (十到十六 (局部_参6), 4))
                  局部_参2 = 局部_参7
                  局部_参2 = 左移 (局部_参2, 16)
                  局部_参2 = 位或 (局部_参2, 局部_参7)
                  返回 (位异或 (局部_参2, 读内存整数型 (进程ID, 内存地址 + 4)))
                  .子程序 加密处理, , , 新加密优化
                  .参数 数据指针, 长整数型
                  .参数 修改数值, 整数型
                  .局部变量 运算数据, 长整数型
                  运算数据 = 修改数值 + 4
                  运算数据 = 位异或 (522846812, 运算数据)
                  写内存长整数型F (进程ID, 数据指针, 运算数据)
                  .子程序 解密处理, 整数型, , 新解密优化
                  .参数 数据指针, 长整数型
                  .局部变量 结果数据, 长整数型
                  结果数据 = 位异或 (读内存长整数型 (进程ID, 数据指针), 522846812)
                  结果数据 = 结果数据 - 4
                  返回 (结果数据)


                  IP属地:山东9楼2022-03-15 20:35
                  回复
                    .子程序 Long_Xor, 长整数型, , 位异或
                    .参数 long1, 长整数型
                    .参数 long2, 长整数型
                    置入代码 ({ 139, 69, 8, 139, 85, 12, 51, 69, 16, 51, 85, 20, 201, 194, 16, 0 })
                    返回 (0)
                    .子程序 sizeof, 整数型
                    .参数 typeid, 整数型
                    .局部变量 result, 整数型, , "4"
                    result = { 1, 2, 4, 8 }
                    返回 (result [typeid])
                    .子程序 取key1, 长整数型
                    .参数 typeid, 整数型
                    .局部变量 result, 长整数型, , "4"
                    result = { 26, 7979, 522846812, 0 }
                    .如果真 (typeid = #长整数型)
                    返回 (取字节集数据 ({ 28, 43, 250, 75, 92, 1, 42, 31 }, #长整数型, ))
                    .如果真结束
                    返回 (result [typeid])
                    .子程序 取key2, 整数型
                    .参数 typeid, 整数型
                    .局部变量 result, 整数型, , "4"
                    result = { 193, 194, 196, 0 }
                    返回 (result [typeid])


                    IP属地:山东10楼2022-03-15 20:35
                    回复
                      .子程序 取加密数据KEY, 字节集
                      .参数 va, 长整数型
                      .参数 类型, 整数型, 可空
                      .局部变量 encryBuf1, 整数型
                      .局部变量 encryBuf2, 整数型
                      .局部变量 buff, 字节集
                      .如果真 (是否为空 (类型))
                      类型 = #整数型
                      .如果真结束
                      .如果真 (类型 = #长整数型)
                      返回 (到字节集 (Long_Xor (va + sizeof (类型), 取key1 (类型))))
                      .如果真结束
                      encryBuf1 = 位异或 (va + sizeof (类型), 取key1 (类型))
                      encryBuf2 = va + 取key2 (类型) + encryBuf1
                      返回 (到字节集 (encryBuf1) + 到字节集 (encryBuf2))
                      .子程序 解密读取, 长整数型, , 不卡加解密
                      .参数 指针, 长整数型
                      .参数 类型, 整数型, 可空
                      .如果真 (是否为空 (类型))
                      类型 = #整数型
                      .如果真结束
                      返回 (Long_Xor (取字节集数据 (读字节集 (指针, sizeof (类型)), 类型, ), 取key1 (类型)) - sizeof (类型))
                      .子程序 加密写入, , , 不卡加密
                      .参数 指针, 长整数型
                      .参数 va, 长整数型
                      .参数 类型, 整数型, 可空
                      .如果真 (是否为空 (类型))
                      类型 = #整数型
                      .如果真结束
                      写内存字节集 (指针, 取加密数据KEY (va, 类型))


                      IP属地:山东11楼2022-03-15 20:35
                      回复
                        ……


                        IP属地:山东来自iPhone客户端13楼2022-03-16 07:59
                        回复
                          666


                          IP属地:安徽来自Android客户端14楼2022-03-16 14:14
                          回复
                            这是全游戏通用?


                            IP属地:云南15楼2022-03-23 23:24
                            回复