|
Init | 逻辑型 | | |
hProcess | 长整数型 | | | | hWnd | 长整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 字节集数据 | 字节集 | | | 数据地址1 | 长整数型 | | | CallWindowProcA | 长整数型 | | | 数据地址2 | 长整数型 | | | SetWindowLongPtrA | 长整数型 | | | GetWindowLongPtrA | 长整数型 | | | DefWindowProcA | 长整数型 | | | 数据指针 | 长整数型 | | | 数据地址3 | 长整数型 | | |
字节集数据 = { 64, 83, 85, 86, 87, 65, 86, 72, 129, 236, 0, 2, 0, 0, 77, 139, 241, 73, 139, 232, 72, 137, 215, 72, 139, 241, 129, 250, 34, 78, 0, 0, 117, 10, 73, 193, 225, 32, 77, 1, 200, 65, 255, 208, 73, 187, 0, 0, 0, 0, 0, 0, 0, 0, 77, 139, 27, 77, 133, 219, 116, 29, 76, 137, 116, 36, 32, 76, 139, 205, 73, 137, 248, 72, 139, 214, 73, 139, 203, 73, 187, 0, 0, 0, 0, 0, 0, 0, 0, 65, 255, 19, 235, 24, 77, 137, 241, 73, 137, 232, 72, 139, 215, 72, 139, 206, 72, 184, 0, 0, 0, 0, 0, 0, 0, 0, 255, 208, 72, 129, 196, 0, 2, 0, 0, 65, 94, 95, 94, 93, 91, 195 }如果真 (全局jz ≤ 0 )全局jz = 取模块jz64 (hProcess, “user32.dll”, )如果真 (全局jz ≤ 0 )返回 (假)CallWindowProcA = 取DLL函数地址 (hProcess, 全局jz, “CallWindowProcA”)GetWindowLongPtrA = 取DLL函数地址 (hProcess, 全局jz, “GetWindowLongPtrA”)DefWindowProcA = 取DLL函数地址 (hProcess, 全局jz, “DefWindowProcA”)如果真 (CallWindowProcA = 0 或 GetWindowLongPtrA = 0 或 DefWindowProcA = 0 )返回 (假)数据地址3 = X64_申请内存 (hProcess, 0, 8, 位或 (4096, 8192), 64)数据指针 = CALLX64Fun (hProcess, GetWindowLongPtrA, hWnd, 4294967292, , )如果真 (数据指针 = 0 或 数据地址3 = 0 或 X64_写指针 (hProcess, 数据地址3, 取变量数据地址 (数据指针 ), 8, 0 ) = 假)返回 (假)数据地址2 = X64_申请内存 (hProcess, 0, 8, 位或 (4096, 8192), 64)如果真 (数据地址2 = 0 或 CallWindowProcA = 0 或 X64_写指针 (hProcess, 数据地址2, 取变量数据地址 (CallWindowProcA ), 8, 0 ) = 假)X64_释放内存 (hProcess, 数据地址2, 0, 32768 )返回 (假)字节集数据 = 字节集替换 (字节集数据, 47, 8, H字节集_取整补全 (到字节集 (数据地址3), 8, , 真))字节集数据 = 字节集替换 (字节集数据, 82, 8, H字节集_取整补全 (到字节集 (数据地址2 ), 8, , 真)) 字节集数据 = 字节集替换 (字节集数据, 109, 8, H字节集_取整补全 (到字节集 (DefWindowProcA ), 8, , 真)) 数据地址1 = X64_申请内存 (hProcess, 0, 取字节集长度 (字节集数据 ), 位或 (4096, 8192 ), 64 )如果真 (数据地址1 = 0 或 X64_写指针 (hProcess, 数据地址1, 取变量数据地址 (字节集数据 ), 取字节集长度 (字节集数据 ), 0 ) = 假)X64_释放内存 (hProcess, 数据地址2, 0, 32768 )X64_释放内存 (hProcess, 数据地址1, 0, 32768 )返回 (假)SetWindowLongPtrA = 取DLL函数地址 (hProcess, 全局jz, “SetWindowLongPtrA”)如果真 (SetWindowLongPtrA = 0 )X64_释放内存 (hProcess, 数据地址2, 0, 32768 )X64_释放内存 (hProcess, 数据地址1, 0, 32768 )返回 (假)数据指针 = CALLX64Fun (hProcess, SetWindowLongPtrA, hWnd, 4294967292, 数据地址1)如果真 (数据指针 ≤ 0 )X64_释放内存 (hProcess, 数据地址2, 0, 32768 )X64_释放内存 (hProcess, 数据地址1, 0, 32768 )返回 (假)返回 (真) |