千羽ce吧 关注:327贴子:2,504
  • 0回复贴,共1

我是逗比小小白(加解密)

取消只看楼主收藏回复

.版本 2
.子程序 若水加密
.参数 加密地址, 整数型
.参数 加密数值, 整数型
.局部变量 edi, 整数型
.局部变量 ecx, 整数型
.局部变量 ebx, 整数型
.局部变量 eax, 整数型
.局部变量 esi, 整数型
.局部变量 edx, 整数型
.局部变量 ss, 整数型
ecx = 加密地址
eax = 读内存整数型 (进程ID, 十六到十 (#加密基址))
eax = eax + 1
读内存整数型 (进程ID, 十六到十 (#加密基址), eax)
edx = eax
edx = 右移 (edx, 8)
edx = 左移 (edx, 24)
edx = 右移 (edx, 24)
edx = 读内存整数型 (进程ID, edx × 2 + 十六到十 (#加密参数1))
edx = 若水取双字节 (edx)
eax = 左移 (eax, 24)
eax = 右移 (eax, 24)
ss = 读内存整数型 (进程ID, eax × 2 + 十六到十 (#加密参数2))
ss = 若水取双字节 (ss)
edx = 位异或 (edx, ss)
eax = edx
eax = 若水取双字节 (eax)
esi = 加密数值
edx = 右移 (esi, 16)
超级延时 (10)
ss = 若水取双字节 (esi)
edx = edx + ss
edx = 位异或 (edx, eax)
edi = edx
edx = eax
eax = 左移 (eax, 16)
eax = eax + edx
esi = 加密数值
eax = 位异或 (eax, esi)
esi = 加密地址 + 8
写内存整数型 (进程ID, esi, eax)
eax = 读内存整数型 (进程ID, 加密地址)
esi = 读内存整数型 (进程ID, 十六到十 (#解密基址))
ecx = edi
ecx = 左移 (ecx, 16)
ecx = ecx + edx
edx = eax
edx = 右移 (edx, 16)
edx = 读内存整数型 (进程ID, esi + edx × 4 + 36)
eax = 若水取双字节 (eax)
写内存整数型 (进程ID, edx + eax × 4 + 8468, ecx)
.子程序 若水解密, 整数型
.参数 地址, 整数型
.局部变量 edi, 整数型
.局部变量 ecx, 整数型
.局部变量 ebx, 整数型
.局部变量 eax, 整数型
.局部变量 esi, 整数型
.局部变量 edx, 整数型
.局部变量 ss, 整数型
eax = 读内存整数型 (进程ID, 地址)
esi = 读内存整数型 (进程ID, 十六到十 (#解密基址))
edx = eax
edx = 右移 (edx, 16)
edx = 读内存整数型 (进程ID, esi + edx × 4 + 36)
eax = 若水取双字节 (eax)
eax = 读内存整数型 (进程ID, edx + eax × 4 + 8468)
eax = 若水取双字节 (eax)
edx = eax
esi = edx
esi = 左移 (esi, 16)
esi = esi + edx
edx = 读内存整数型 (进程ID, 地址 + 8)
eax = 位异或 (esi, edx)
返回 (eax)
.子程序 若水取双字节, 整数型
.参数 数值, 整数型
.局部变量 取舍, 整数型
取舍 = 十六到十 (取文本右边 (十到十六 (数值), 4))
返回 (取舍)


1楼2015-02-04 11:59回复