module Graphics #按键跳过视频 #逆向了 适用于300的dll #借用视频播放过程的一个子函数嵌入了检测按键的代码 #下面是用于跳过视频的按键 默认 A + S #详阅 Virtual-Key Codes #要单键的话就设置成一样的 #或者看着改 就是复制粘贴删除的问题 key1 = 0x41 key2 = 0x53 #大写防止被GC吃掉 SKIP_VIDEO_CODE = [0x51, # push ecx 0x6A, key1, # push key # dll 没被改过 下面这句应当不会出错 0xFF, 0x15, 0x88, 0x23, 0x1A, 0x10, # call GetKeyState 0x98, # cwde 0x85, 0xC0, # test eax,eax 0x78, 0x08, # jjjj 0x59, # pop ecx 0xB8, 0xE0, 0xF1, 0x10, 0x10, # mov eax,原函数 0xFF, 0xE0, # jmp eax 0x6A, key2, # push key 0xFF, 0x15, 0x88, 0x23, 0x1A, 0x10, # call GetKeyState 0x98, # cwde 0x85, 0xC0, # test eax,eax 0x78, 0x08, # jjjj 0x59, # pop ecx 0xB8, 0xE0, 0xF1, 0x10, 0x10, # mov eax,原函数 0xFF, 0xE0, # jmp eax # 回 0 停止播放 0x59, # pop ecx 0x33, 0xC0, # xor eax,eax 0xC3].pack("C*") # ret aa = [SKIP_VIDEO_CODE].pack("p").unpack("l")[0] ww = Win32API.new("kernel32", "WriteProcessMemory", "llpll", "v") ww.call(-1, 0x100027EE, [aa - 0x100027F2].pack("l"), 4, 0) end
CW.PNG (10.74 KB, 下载次数: 38)
CW.PNG (203.11 KB, 下载次数: 25)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |