如果真 (安装回调 () = 假)信息框 (“ 进度显示要编译后运行才行哦!”, 0 + 64, “提示”, )_临时子程序 () 返回 (0 ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | aaaa | 整数型 | | | EIP | 整数型 | | | 内存属性 | 内存属性 | | | 数据 | 字节集 | | | 位置1 | 整数型 | | | hookcodeeip | 整数型 | | | hookeip | 整数型 | | | jmpeip | 整数型 | √ | | callback | 整数型 | √ | | tEIP | 整数型 | | |
EIP = GetEIP ()VirtualQuery (EIP, 内存属性, 28 )数据 = 取空白字节集 (内存属性.区域地址 + 内存属性.区域长度 - 1000 )ReadProcessMemory (-1, 内存属性.区域地址, 数据, 内存属性.区域地址 + 内存属性.区域长度 - 1000, 0 )tEIP = 寻找字节集 (数据, { 139, 69, 220, 141, 85, 188, 82, 80, 86, 83, 255, 215, 133, 192, 116, 153, 139, 69, 188, 133, 192, 117, 9, 199, 69, 200, 1, 0, 0, 0, 235, 137, 139, 77, 12, 80, 86 }, )如果真 (tEIP = -1 )返回 (假)hookeip = 内存属性.区域地址 + tEIP + 31jmpeip = hookeip + 5 hookcodeeip = VirtualAlloc (0, 100, 4096, 64 )callback = 到整数 (&进度回调 )写到内存 ({ 139, 77, 12, 96, 81 } + { 129, 237, 140, 0, 0, 0, 85 } + { 255, 21 } + 到字节集 (取整数指针地址 (callback )) + { 97, 80, 86, 255, 37 } + 到字节集 (取整数指针地址 (jmpeip )), hookcodeeip, )VirtualProtect (hookeip, 5, 64, 0 )写到内存 ({ 233 } + 到字节集 (到整数 (hookcodeeip (hookeip + 5 )) ), hookeip, )返回 (真)置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 133, 4, 0, 0, 0, 129, 232, 5, 0, 0, 0, 137, 133, 252, 255, 255, 255 })返回 (地址 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 当前已下载长度 | 整数型 | | | 数据 | 字节集 | | |
数据 = 取空白字节集 (4 )ReadProcessMemory (-1, ecx + 16, 数据, 4, 0 )当前已下载长度 = 取字节集数据 (数据, #整数型, )百分比 = 到整数 (当前已下载长度 ÷ 到整数 (文件长度 ) × 100 )处理事件 ()|
Http下载开始 | | √ | |
文件下载地址 | 文本型 | | | | 文件保存地址 | 文本型 | | | |
读取的数据 = HTTP读文件 (文件下载地址 )写到文件 (文件保存地址, 读取的数据 )返回 (百分比 )
|