|

分享源码
界面截图: |
- |
是否带模块: |
纯源码 |
备注说明: |
- |
本帖最后由 挽来的枫 于 2016-6-1 06:44 编辑
|
Callaaaaaaaaaaaaaaaaaaaaaaaaaa | 整数型 | | |
参数_地址 | 整数型 | | | | 参数_一 | 整数型 | | | | 参数_二 | 整数型 | | | | 参数_三 | 整数型 | | | | 参数_四 | 整数型 | | | | 置入代码 ({ 201, 88, 135, 4, 36, 255, 224 })返回 (0 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 变量_回调函数地址 | 整数型 | | | 变量_文件句柄 | 整数型 | | | 变量_映射句柄 | 整数型 | | | 变量_堆 | 整数型 | | | 变量_许可证 | 整数型 | | | 变量_线程数 | 整数型 | | | 变量_总次数 | 整数型 | | | 变量_文件大小 | 整数型 | | | 变量_当前次数 | 整数型 | | | 变量_当前线程数 | 整数型 | | | 变量_任务状态 | 整数型 | | | 变量_进程句柄 | 整数型 | | | 变量_传递完毕 | 整数型 | | | 变量_完成大小 | 整数型 | | | 变量_超列数值 | 整数型 | | | RtlMoveMemory_读整数 (变量_回调函数地址, 参数_信息指针 + 4, 4 )RtlMoveMemory_读整数 (变量_文件句柄, 参数_信息指针 + 8, 4 )RtlMoveMemory_读整数 (变量_映射句柄, 参数_信息指针 + 12, 4 )RtlMoveMemory_读整数 (变量_堆, 参数_信息指针 + 16, 4 )RtlMoveMemory_读整数 (变量_许可证, 参数_信息指针 + 20, 4 )RtlMoveMemory_读整数 (变量_线程数, 参数_信息指针 + 24, 4 )RtlMoveMemory_读整数 (变量_总次数, 参数_信息指针 + 44, 4 )RtlMoveMemory_读整数 (变量_文件大小, 参数_信息指针 + 52, 4 )RtlMoveMemory_读整数 (变量_超列数值, 参数_信息指针 + 56, 4 )变量_当前次数 = 0 判断循环首 (变量_当前次数 < 变量_总次数 ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 ) LeaveCriticalSection (变量_许可证 ) 如果真 (变量_当前线程数 < 变量_线程数 ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_读整数 (变量_任务状态, 参数_信息指针 + 32, 4 ) LeaveCriticalSection (变量_许可证 )  如果真 (变量_任务状态 = -1 或 变量_任务状态 = 1 )  跳出循环 ()     如果真 (变量_任务状态 = 2 )  WaitForSingleObject (-1, 100 )  到循环尾 ()     变量_当前次数 = 变量_当前次数 + 1  RtlMoveMemory_写整数 (参数_信息指针 + 40, 变量_当前次数, 4 )  变量_进程句柄 = CreateThread (0, 0, &HTTP下载处理_2, 参数_信息指针, 0, 0 )  如果真 (变量_进程句柄 = 0 )  EnterCriticalSection (变量_许可证 )  RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 )  LeaveCriticalSection (变量_许可证 )  跳出循环 () CloseHandle (变量_进程句柄)  循环判断首 ()  EnterCriticalSection (变量_许可证 )  RtlMoveMemory_读整数 (变量_传递完毕, 参数_信息指针 + 60, 4 )  LeaveCriticalSection (变量_许可证 )  WaitForSingleObject (-1, 100 )  循环判断尾 (变量_传递完毕 = 0 )  WaitForSingleObject (-1, 100 ) 判断循环尾 () 循环判断首 () EnterCriticalSection (变量_许可证 ) RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 ) LeaveCriticalSection (变量_许可证 ) WaitForSingleObject (-1, 100 ) 循环判断尾 (变量_当前线程数 ≠ 0 )RtlMoveMemory_读整数 (变量_任务状态, 参数_信息指针 + 32, 4 ) 判断 (变量_任务状态 = -1 ) 调用子程序 (变量_回调函数地址, , , -1, 0, 0, -1 ) 判断 (变量_任务状态 = 0 ) RtlMoveMemory_读整数 (变量_完成大小, 参数_信息指针 + 48, 4 ) 调用子程序 (变量_回调函数地址, , , 0, 变量_文件大小, 变量_完成大小, 变量_超列数值 )  DeleteCriticalSection (变量_许可证 )HeapDestroy (变量_堆 )CloseHandle (变量_映射句柄 )CloseHandle (变量_文件句柄 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 变量_下载地址指针 | 整数型 | | | 变量_回调函数地址 | 整数型 | | | 变量_映射句柄 | 整数型 | | | 变量_许可证 | 整数型 | | | 变量_堆 | 整数型 | | | 变量_当前线程数 | 整数型 | | | 变量_块_1 | 整数型 | | | 变量_当前次数 | 整数型 | | | 变量_总次数 | 整数型 | | | 变量_文件大小 | 整数型 | | | 变量_dwFlags | 整数型 | | | 变量_hOpen | 整数型 | | | 变量_szHead | 文本型 | | | 变量_开始 | 整数型 | | | 变量_结尾 | 整数型 | | | 变量_hConnect | 整数型 | | | 变量_块_2 | 整数型 | | | 变量_http块 | 整数型 | | | 变量_当前大小 | 整数型 | | | 变量_szTemp | 整数型 | | | 变量_dwSize | 整数型 | | | 变量_写入位置 | 整数型 | | | 变量_块位置 | 整数型 | | | 变量_视图句柄 | 整数型 | | | 变量_完成大小 | 整数型 | | | 变量_任务状态 | 整数型 | | | 变量_超列数值 | 整数型 | | | RtlMoveMemory_读整数 (变量_下载地址指针, 参数_信息指针, 4 )RtlMoveMemory_读整数 (变量_回调函数地址, 参数_信息指针 + 4, 4 )RtlMoveMemory_读整数 (变量_映射句柄, 参数_信息指针 + 12, 4 )RtlMoveMemory_读整数 (变量_堆, 参数_信息指针 + 16, 4 )RtlMoveMemory_读整数 (变量_许可证, 参数_信息指针 + 20, 4 )RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 )RtlMoveMemory_读整数 (变量_块_1, 参数_信息指针 + 36, 4 )RtlMoveMemory_读整数 (变量_当前次数, 参数_信息指针 + 40, 4 )RtlMoveMemory_读整数 (变量_文件大小, 参数_信息指针 + 52, 4 )RtlMoveMemory_读整数 (变量_超列数值, 参数_信息指针 + 56, 4 )EnterCriticalSection (变量_许可证 )RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 )RtlMoveMemory_写整数 (参数_信息指针 + 28, 变量_当前线程数 + 1, 4 )RtlMoveMemory_写整数 (参数_信息指针 + 60, 1, 4 )LeaveCriticalSection (变量_许可证 )InternetGetConnectedState (变量_dwFlags, 0 ) 如果 (位与 (变量_dwFlags, 4 ) = 0 ) 变量_hOpen = InternetOpen (字符 (0 ), 4, 0, 0, 0 ) 变量_hOpen = InternetOpen (字符 (0 ), 0, 0, 0, 0 ) 如果真 (变量_hOpen = 0 ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 ) RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 ) RtlMoveMemory_写整数 (参数_信息指针 + 28, 变量_当前线程数 - 1, 4 ) LeaveCriticalSection (变量_许可证 ) 返回 () 如果 (变量_当前次数 = 变量_总次数 ) 变量_开始 = 变量_块_1 (变量_当前次数 - 1 ) 变量_结尾 = 变量_文件大小  变量_开始 = 变量_块_1 (变量_当前次数 - 1 ) 变量_结尾 = 变量_块_1 × 变量_当前次数 - 1 变量_szHead = “Accept: */*” + #换行符 + “Accept-Language: zh-cn” + #换行符 + “Accept-Encoding: gzip, deflate” + #换行符 + “User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)”变量_szHead = 变量_szHead + #换行符 + “Range:bytes=” + 到文本 (变量_开始 ) + “-” + 到文本 (变量_结尾 )变量_hConnect = InternetOpenUrl (变量_hOpen, 指针到文本 (变量_下载地址指针 ), 变量_szHead, 取文本长度 (变量_szHead ), 2214592768, 0 ) 如果真 (变量_hConnect = 0 ) InternetCloseHandle (变量_hOpen ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 ) RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 ) RtlMoveMemory_写整数 (参数_信息指针 + 28, 变量_当前线程数 - 1, 4 ) LeaveCriticalSection (变量_许可证 ) 返回 () 变量_块_2 = 65536 变量_http块 = 20480 变量_当前大小 = 0 变量_szTemp = HeapAlloc (变量_堆, 8, 变量_http块 ) 如果真 (变量_szTemp = 0 ) InternetCloseHandle (变量_hConnect ) InternetCloseHandle (变量_hOpen ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 ) RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 ) RtlMoveMemory_写整数 (参数_信息指针 + 28, 变量_当前线程数 - 1, 4 ) LeaveCriticalSection (变量_许可证 ) 返回 () 循环判断首 () 如果真 (InternetReadFile (变量_hConnect, 变量_szTemp, 变量_http块, 变量_dwSize ) = 0 )  EnterCriticalSection (变量_许可证 ) RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 ) LeaveCriticalSection (变量_许可证 ) 跳出循环 ()   如果真 (变量_dwSize = 0 ) 跳出循环 ()   变量_写入位置 = 变量_开始 + 变量_当前大小  变量_块位置 = 变量_写入位置 ÷ 变量_块_2  变量_块位置 = 变量_块位置 × 变量_块_2  变量_视图句柄 = 映射装载 (变量_映射句柄, 2, 0, 变量_块位置, 变量_写入位置 - 变量_块位置 + 变量_dwSize ) 如果真 (变量_视图句柄 = 0 )  EnterCriticalSection (变量_许可证 ) RtlMoveMemory_写整数 (参数_信息指针 + 32, -1, 4 ) LeaveCriticalSection (变量_许可证 ) 跳出循环 ()  写入映射 (变量_视图句柄 + 变量_写入位置 - 变量_块位置, 变量_szTemp, 变量_dwSize ) 映射卸载 (变量_视图句柄 ) 变量_当前大小 = 变量_当前大小 + 变量_dwSize EnterCriticalSection (变量_许可证 ) RtlMoveMemory_读整数 (变量_完成大小, 参数_信息指针 + 48, 4 ) 变量_完成大小 = 变量_完成大小 + 变量_dwSize RtlMoveMemory_写整数 (参数_信息指针 + 48, 变量_完成大小, 4 ) 调用子程序 (变量_回调函数地址, , , 1, 变量_文件大小, 变量_完成大小, 变量_超列数值 ) RtlMoveMemory_读整数 (变量_任务状态, 参数_信息指针 + 32, 4 ) LeaveCriticalSection (变量_许可证 ) 判断循环首 (变量_任务状态 = 2 ) EnterCriticalSection (变量_许可证 ) RtlMoveMemory_读整数 (变量_任务状态, 参数_信息指针 + 32, 4 ) LeaveCriticalSection (变量_许可证 )  如果真 (变量_任务状态 = -1 或 变量_任务状态 = 1 )  跳出循环 () WaitForSingleObject (-1, 100) 判断循环尾 () 循环判断尾 (变量_任务状态 ≠ -1 且 变量_任务状态 ≠ 1 )HeapFree (变量_堆, 0, 变量_szTemp )InternetCloseHandle (变量_hConnect )InternetCloseHandle (变量_hOpen )EnterCriticalSection (变量_许可证 )RtlMoveMemory_读整数 (变量_当前线程数, 参数_信息指针 + 28, 4 )RtlMoveMemory_写整数 (参数_信息指针 + 28, 变量_当前线程数 - 1, 4 )LeaveCriticalSection (变量_许可证 )|
多线程_HTTP下载_开始 | 整数型 | | |
参数_下载地址 | 文本型 | | | | 参数_保存路径 | 文本型 | | | | 参数_线程数 | 整数型 | | | | 参数_回调函数地址 | 整数型 | | | | 参数_超列数值 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 变量_dwFlags | 整数型 | | | 变量_hOpen | 整数型 | | | 变量_szHead | 文本型 | | | 变量_hConnect | 整数型 | | | 变量_dwByteToRead | 整数型 | | | 变量_dwSizeOfRq | 整数型 | | | 变量_文件句柄 | 整数型 | | | 变量_映射句柄 | 整数型 | | | 变量_块 | 整数型 | | | 变量_次数 | 整数型 | | | 变量_hHeap | 整数型 | | | 变量_msg | 整数型 | | | 变量_地址 | 整数型 | | | 变量_许可证 | 整数型 | | | 变量_当前线程数 | 整数型 | | | 变量_进程句柄 | 整数型 | | | 变量_超列数值 | | | |
变量_超列数值 = 参数_超列数值 InternetGetConnectedState (变量_dwFlags, 0 ) 如果 (位与 (变量_dwFlags, 4 ) = 0 ) 变量_hOpen = InternetOpen (字符 (0 ), 4, 0, 0, 0 ) 变量_hOpen = InternetOpen (字符 (0 ), 0, 0, 0, 0 ) 如果真 (变量_hOpen = 0 ) 返回 (-1 ) 变量_szHead = “Accept: */*” + #换行符 + “Accept-Language: zh-cn” + #换行符 + “Accept-Encoding: gzip, deflate” + #换行符 + “User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)”变量_hConnect = InternetOpenUrl (变量_hOpen, 参数_下载地址, 变量_szHead, 取文本长度 (变量_szHead ), 2214592768, 0 ) 如果真 (变量_hConnect = 0 ) InternetCloseHandle (变量_hOpen ) 返回 (-1 ) 变量_dwByteToRead = 0 变量_dwSizeOfRq = 4 如果真 (HttpQueryInfo (变量_hConnect, 536870917, 变量_dwByteToRead, 变量_dwSizeOfRq, 0 ) = 0 ) 变量_dwByteToRead = 0 InternetCloseHandle (变量_hConnect )InternetCloseHandle (变量_hOpen )
多线程http下载_2.rar
(8.06 KB, 下载次数: 517)
|
评分
-
查看全部评分
|