|
内存模糊搜索X64 | | | |
进程PID | 整数型 | | | | 特征码 | 文本型 | | | | 结果数组 | 长整数型 | | | | 起始地址 | 长整数型 | | | | 结束地址 | 长整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | _局部1 | 文本型 | | | _局部2 | 字节集 | | | _局部3 | 整数型 | | | _局部4 | _MEMORY_BASIC_INFORMATION | | | _局部5 | 长整数型 | | | _局部6 | 字节集 | | | _局部7 | 逻辑型 | | | _局部8 | 长整数型 | | | _局部9 | 字节集 | | | 清除数组 (结果数组 )_局部1 = 特征码 _局部1 = 子文本替换 (_局部1, “ ”, “”, , , 真) 如果真 (位与 (取文本长度 (_局部1 ), 1 ) ≠ 0 ) _局部1 = _局部1 + “?”_局部9 = 取模糊码 (_局部1)_局部1 = 子文本替换 (_局部1, “?”, “0”, , , 真) _局部2 = 十六进制到字节集 (_局部1 )_局部3 = OpenProcess ( #PROCESS_ALL_ACCESS, 假, 进程PID )如果真 (_局部3 = 0 )返回 ()判断循环首 (结束地址 > 起始地址 且 VirtualQueryEx (_局部3, 起始地址, _局部4, 28 ) ≠ 0 )如果真 (_局部4.当前属性 ≠ 16 且 _局部4.当前属性 ≠ 1 且 _局部4.当前属性 ≠ 512 且 _局部4.当前属性 ≠ 0 )如果 (_局部4.区域地址 ≥ 0 )如果 (_局部4.区域长度 ≥ 0 )_局部5 = _局部4.区域地址 + _局部4.区域长度 - 起始地址 _局部5 = _局部4.区域地址 + _局部4.区域长度 - 起始地址 + 4294967296 如果 (_局部4.区域长度 ≥ 0 )_局部5 = _局部4.区域地址 + _局部4.区域长度 - 起始地址 + 4294967296 _局部5 = _局部4.区域地址 + _局部4.区域长度 - 起始地址 + 8589934592 _局部6 = 取空白字节集 (_局部5)ZwWow64ReadVirtualMemory64 (_局部3, 起始地址, _局部6, _局部5, _局部8 )搜索代码 (_局部2, _局部9, 起始地址, 到整数 (_局部5 ), _局部6, 结果数组, 起始地址 )如果 (_局部4.区域长度 ≥ 0 )起始地址 = 起始地址 + _局部4.区域长度 起始地址 = 起始地址 + 4294967296 + _局部4.区域长度 处理事件 ()判断循环尾 ()CloseHandle (_局部3 )返回 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | _局部1 | 整数型 | | | _局部2 | 字节集 | | | 置入代码 ({ 139, 125, 8, 139, 63, 137, 125, 244, 131, 125, 244, 0, 117, 6, 139, 229, 93, 194, 4, 0, 131, 201, 255, 51, 192, 242, 174, 247, 209, 73, 209, 233, 137, 77, 248, 131, 125, 248, 1, 15, 141, 4, 0, 0, 0, 201, 194, 4, 0, 139, 117, 8, 139, 54 })_局部2 = 取空白字节集 (_局部1 )置入代码 ({ 131, 192, 8, 139, 248, 139, 77, 248, 131, 249, 0, 118, 32, 73, 128, 62, 63, 116, 5, 128, 15, 240, 235, 3, 128, 39, 15, 70, 128, 62, 63, 116, 5, 128, 15, 15, 235, 3, 128, 39, 240, 70, 71, 235, 219 })返回 (_局部2 )|
搜索代码 | | | |
搜索代码_参数1 | 字节集 | | | | 搜索代码_参数2 | 字节集 | | | | 搜索代码_参数3 | 整数型 | | | | 搜索代码_参数4 | 整数型 | | | | 搜索代码_参数5 | 字节集 | | | | 搜索代码_参数6 | 长整数型 | | | | 搜索代码初始地址2 | 长整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 搜索代码_局部1 | 整数型 | | | 搜索代码_局部2 | 整数型 | | | 搜索代码_局部3 | 整数型 | | | 搜索代码_局部4 | 长整数型 | | |
搜索代码_局部1 = 0 搜索代码_局部2 = 0 搜索代码_局部3 = 0 搜索代码_局部4 = 0 置入代码 ({ 83, 86, 87, 139, 117, 24, 139, 54, 131, 198, 8, 137, 117, 244, 199, 69, 252, 0, 0, 0, 0, 139, 117, 8, 139, 54, 131, 198, 4, 235, 66, 51, 219, 139, 69, 12, 139, 0, 131, 192, 8, 137, 69, 248, 139, 254, 131, 199, 4, 235, 35, 139, 69, 252, 3, 195, 139, 85, 244, 51, 201, 138, 4, 16, 51, 210, 138, 23, 139, 77, 248, 51, 194, 51, 210, 138, 17, 33, 208, 117, 9, 67, 255, 69, 248, 71, 59, 30, 124, 217, 59, 30, 125, 13, 255, 69, 252, 139, 69, 20, 43, 6, 59, 69, 252, 125, 180, 139, 85, 20, 43, 22, 59, 85, 252, 124, 30, 139, 69, 252, 139, 93, 16, 1, 93, 252, 3, 6, 1, 69, 16, 1, 69, 244, 41, 69, 20, 232, 14, 0, 0, 0, 233, 123, 255, 255, 255, 95, 94, 91, 139, 229, 93, 194, 16, 0 })搜索代码_局部4 = 搜索代码_局部1 判断循环首 (搜索代码初始地址2 > 搜索代码_局部4 )搜索代码_局部4 = 4294967296 + 搜索代码_局部4 判断循环尾 ()加入成员 (搜索代码_参数6, 搜索代码_局部4 )置入代码 ({ 195 })
|