易语言原始套接字应用源码
系统结构:显示信息,窗口消息处理,数据到达,异步通讯安装,异步通讯卸载,异步选择,异步处理,异步返回,UnHOOK,HOOKFunc,HOOKAPI,GetFunc,changefunc,CallFunc,数值_无符号_短整数,内存_填充字节集,Call,asm_CALLSub,ehook,uhook,New_Socket,WSAGetLastError,WSAIsBlocking,WSACleanup,send_字节集,recv,WSAStartup,htons,ntohs,socket,gethostname,getsockname,closesocket,connect,WSAAsyncSelect,文本IP到整型,WSACancelBlockingCall,整型IP到文本,bind,listen,accept_套接字地址,recvfrom,sendto,gethostbyname,getpeername,getpeername_in,CallWindowProcA,SetWindowLongA,CallWindowProcB,WSASocket,AcceptEx,GetWindowLongA,LocalAlloc,LocalFree,GetCurrentProcessId,GetProcAddress,ReadFile,GetModuleHandleA,SetHandleCount_字节集,RtlMoveMemory_写字节集,VirtualProtect,RtlMoveMemory_读套接字地址,RtlMoveMemory_写套接字地址,端口到短整数,短整数到端口,mem_Unsigned_short,lstrcpyn_短整数型,RtlMoveMemory_Read_Raw_UDP报头,RtlMoveMemory_Read_短整数型,RtlMoveMemory_Read_字节型,
======启动
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _窗口1_创建完毕
| |
| |------ _窗口1_将被销毁
| |
| |------ 显示信息
| |
| |------ _编辑框1_被双击
| |
| |------ _按钮_Start_被单击
| |
| |------ _按钮_Stop_被单击
| |
| |------ 窗口消息处理
| |
| |------ 数据到达
| |
| |
======C_网络异步通讯
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 异步通讯安装
| |
| |------ 异步通讯卸载
| |
| |------ 异步选择
| |
| |------ 异步处理
| |
| |------ 异步返回
| |
| |
======C_Hook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ UnHOOK
| |
| |------ HOOKFunc
| |
| |------ HOOKAPI
| |
| |------ GetFunc
| |
| |------ changefunc
| |
| |------ CallFunc
| |
| |
======程序集1
| |
| |------ 数值_无符号_短整数
| |
| |------ 内存_填充字节集
| |
| |------ Call
| |
| |------ asm_CALLSub
| |
| |
======hook
| |
| |------ ehook
| |
| |------ uhook
| |
| |------ New_Socket
| |
| |
======调用的Dll
| |
| |---[dll]------ WSAGetLastError
| |
| |---[dll]------ WSAIsBlocking
| |
| |---[dll]------ WSACleanup
| |
| |---[dll]------ send_字节集
| |
| |---[dll]------ recv
| |
| |---[dll]------ WSAStartup
| |
| |---[dll]------ htons
| |
| |---[dll]------ ntohs
| |
| |---[dll]------ socket
| |
| |---[dll]------ gethostname
| |
| |---[dll]------ getsockname
| |
| |---[dll]------ closesocket
| |
| |---[dll]------ connect
| |
| |---[dll]------ WSAAsyncSelect
| |
| |---[dll]------ 文本IP到整型
| |
| |---[dll]------ WSACancelBlockingCall
| |
| |---[dll]------ 整型IP到文本
| |
| |---[dll]------ bind
| |
| |---[dll]------ listen
| |
| |---[dll]------ accept_套接字地址
| |
| |---[dll]------ recvfrom
| |
| |---[dll]------ sendto
| |
| |---[dll]------ gethostbyname
| |
| |---[dll]------ getpeername
| |
| |---[dll]------ getpeername_in
| |
| |---[dll]------ CallWindowProcA
| |
| |---[dll]------ SetWindowLongA
| |
| |---[dll]------ CallWindowProcB
| |
| |---[dll]------ WSASocket
| |
| |---[dll]------ AcceptEx
| |
| |---[dll]------ GetWindowLongA
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ ReadFile
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ SetHandleCount_字节集
| |
| |---[dll]------ RtlMoveMemory_写字节集
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ RtlMoveMemory_读套接字地址
| |
| |---[dll]------ RtlMoveMemory_写套接字地址
| |
| |---[dll]------ 端口到短整数
| |
| |---[dll]------ 短整数到端口
| |
| |---[dll]------ mem_Unsigned_short
| |
| |---[dll]------ lstrcpyn_短整数型
| |
| |---[dll]------ RtlMoveMemory_Read_Raw_UDP报头
| |
| |---[dll]------ RtlMoveMemory_Read_短整数型
| |
| |---[dll]------ RtlMoveMemory_Read_字节型
调用的DLL命令:
.DLL命令 WSAGetLastError, 整数型, "ws2_32.dll", "WSAGetLastError", 公开, 取最后错误_
.DLL命令 WSAIsBlocking, 整数型, "ws2_32.dll", "WSAIsBlocking", 公开, 是否阻塞_
.DLL命令 WSACleanup, 整数型, "ws2_32.dll", "WSACleanup", 公开, 卸载Winsocket服务
.DLL命令 send_字节集, 整数型, "ws2_32.dll", "send", , 发送数据_(TCP,当这次发送数据未发送完时返回剩余字节数)
.参数 网络通讯标识符, 整数型, , s
.参数 缓冲区, 字节集, 传址, buf
.参数 缓冲区长度, 整数型, , lLen
.参数 标志, 整数型, , flags
.DLL命令 recv, 整数型, "ws2_32.dll", "recv", , 接收字节集数据(TCP,当数据这次未接收完时返回剩余字节数)
.参数 网络通讯标识符, 整数型, , s
.参数 缓冲区, 字节集, 传址, buf数据(提供变量)
.参数 缓冲区长度, 整数型, , lLen
.参数 标志, 整数型, , flags
.DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 初始化WnSocket服务
.参数 必需版本, 整数型, , wVersionRequired
.参数 服务信息, 套接字信息, , lpWSAData
.DLL命令 htons, 短整数型, "ws2_32.dll", "htons", , 转换为network 排列方式的数目
.参数 十六位主机命令, 短整数型, , hostshort端口号
.DLL命令 ntohs, 短整数型, "ws2_32.dll", "ntohs", , 转换为端口号-网络转换到本机
.参数 十六位网络端口, 短整数型, , netshort欲转换值
.DLL命令 socket, 整数型, "ws2_32.dll", "socket", , 创建套接字
.参数 协议族, 整数型, , af使用的通信协议的协议族
.参数 类型, 整数型, , lType流套接字类型
.参数 协议, 整数型, , protocol使用的通信协议
.DLL命令 gethostname, 整数型, "ws2_32.dll", "gethostname", , 取本机名,失败返回-1,成功返回0。
.参数 name, 文本型, 传址, 给变量,用于存放名称
.参数 namelen, 整数型, , 上一个参数的长度
.DLL命令 getsockname, 整数型, "ws2_32.dll", "getsockname", , 获取本地接口的地址信息(IP和端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, 套接字地址, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 closesocket, 整数型, "ws2_32.dll", "closesocket", , 销毁套接字
.参数 套接字描述符, 整数型
.DLL命令 connect, 整数型, "ws2_32.dll", "connect", , 连接到服务器(TCP)
.参数 网络通讯标识符, 整数型, , s
.参数 名称结构, 套接字地址, , addr
.参数 名称结构长度, 整数型, , namelen(16)
.DLL命令 WSAAsyncSelect, 整数型, "ws2_32.dll", "WSAAsyncSelect", , 异步选择_ 本函数自动将套接口设置为非阻塞模式 0 表明是成功的
.参数 网络通讯标识符, 整数型, , s标识一个需要事件通知的套接口的描述符
.参数 窗口句柄, 整数型, , hWnd标识一个在网络事件发生时需要接收消息的窗口句柄
.参数 消息值, 整数型, , wMsg在网络事件发生时要接收的消息
.参数 事件, 整数型, , lEvent位屏蔽码,用于指明应用程序感兴趣的网络事件集合.
.DLL命令 文本IP到整型, 整数型, "ws2_32.dll", "inet_addr", , 点数格式转换为整数格式IP地址-到网络地址_
.参数 IP地址, 文本型, , cp欲被转换的IP地址
.DLL命令 WSACancelBlockingCall, 整数型, "ws2_32.dll", "WSACancelBlockingCall", , 取消阻塞_
.DLL命令 整型IP到文本, 文本型, "ws2_32.dll", "inet_ntoa", , 将整数格式IP地址转换为点数格式(返回值是内存地址指针)
.参数 网络地址, 整数型, , lIn欲转换整数格式IP地址
.DLL命令 bind, 整数型, "ws2_32.dll", "bind", , 绑定一个地址和端口
.参数 套接字描述符, 整数型
.参数 地址结构, 套接字地址, 传址, 地址信息
.参数 结构大小, 整数型, , 地址信息长度(长度16
.DLL命令 listen, 整数型, "ws2_32.dll", "listen", , 监听
.参数 sockfd, 整数型, , 套接字描述符
.参数 backlog, 整数型, , 最多容纳客户请求数
.DLL命令 accept_套接字地址, 整数型, "ws2_32.dll", "accept", , 等待用户进入并接受连接
.参数 s, 整数型, , 套接字描述符
.参数 addr, 套接字地址, 传址, 地址信息
.参数 addrlen, 整数型, 传址, 地址信息长度(长度为16)
.DLL命令 recvfrom, 整数型, "ws2_32.dll", "recvfrom", , 接收数据(UDP)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 数据(提供变量)
.参数 len, 整数型, , 数据长度
.参数 flags, 整数型, , 0
.参数 from, 套接字地址, 传址, 来源地址信息(提供变量)
.参数 fromlen, 整数型, 传址, 地址信息长度(提供变量)
.DLL命令 sendto, 整数型, "ws2_32.dll", "sendto", , 发送数据(UDP)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 数据
.参数 len, 整数型, , 数据长度
.参数 flags, 整数型, , 0
.参数 to, 套接字地址, 传址, 目标地址信息
.参数 tolen, 整数型, , 地址信息长度
.DLL命令 gethostbyname, 整数型, "ws2_32.dll", "gethostbyname", , 成功返回内存指针
.参数 name, 文本型, 传址, 机器名称
.DLL命令 getpeername, 整数型, "ws2_32.dll", "getpeername", , 获取远端信息(已连接对方IP和端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, 套接字地址, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 getpeername_in, 整数型, "ws2_32.dll", "getpeername"
.参数 s, 整数型, , 句柄
.参数 name, 整数型, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 CallWindowProcA, 整数型, "user32.dll", "CallWindowProcA", , CallWindowProcA将消息传答窗口函数
.参数 前一窗口函数地址, 整数型, , lpPrevWndFunc
.参数 窗口句柄, 整数型, , hwnd
.参数 消息值, 整数型, , msg
.参数 附加参数1, 整数型, , wParam
.参数 附加参数2, 整数型, , lParam
.DLL命令 SetWindowLongA, 整数型, "user32.dll", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 窗口句柄, 整数型, , hwnd,欲为其取得信息的窗口的句柄
.参数 窗口信息值, 整数型, , nIndex,请参考GetWindowLong函数的nIndex参数的说明
.参数 窗口信息新值, 整数型, , dwNewLong,由nIndex指定的窗口信息的新值
.DLL命令 CallWindowProcB, 整数型, "user32.dll", "CallWindowProcA", 公开
.参数 动态调用代码, 字节集, , 一定要用本人编写的
.参数 子程序, 子程序指针, , 子程序指针
.参数 参数, 整数型, 数组, 为整数数组,参数1为成员1…类推;文本型和字节集型(自定义结构)为指针
.参数 参数数目, 整数型, , 一定要和参数数组相符,不然会出错
.参数 是否C调用, 逻辑型, , 真为cdecl调用方式,假为stdcall调用方式(即标准WINAPI方式)
.DLL命令 WSASocket, 整数型, "Ws2_32.dll", "WSASocketA", 公开
.参数 af, 整数型
.参数 type, 整数型
.参数 protocol, 整数型
.参数 lpProtocolInfo, 整数型
.参数 g, 整数型
.参数 dwFlags, 整数型
.DLL命令 AcceptEx, 逻辑型, "mswsock.dll", "AcceptEx"
.参数 sListenSocket, 整数型
.参数 sAcceptSocket, 整数型
.参数 lpOutputBuffer, 整数型
.参数 dwReceiveDataLength, 整数型
.参数 dwLocalAddressLength, 整数型
.参数 dwRemoteAddressLength, 整数型
.参数 lpdwBytesReceived, 整数型, 传址
.参数 lpOverlapped, 整数型
.DLL命令 GetWindowLongA, 整数型, "user32.dll", "GetWindowLongA", 公开, GetWindowLongA从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲为其获取信息的窗口的句柄
.参数 属性, 整数型, , 欲取回的信息,可以是下述任何一个常数:;GWL_EXSTYLE:扩展窗口样式;GWL_STYLE:窗口样式;GWL_WNDPROC:该窗口的窗口函数的地址;GWL_HINSTANCE:拥有窗口的实例的句柄;GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值;GWL_ID:对话框中一个子窗口的标识符;GWL_USERDATA:含义由应用程序规定;DWL_DLGPROC:这个窗口的对话框函数地址;DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值;DWL_USER:含义由应用程序规定;
.DLL命令 LocalAlloc, 整数型, "kernel32.dll", "LocalAlloc", 公开
.参数 uFlags, 整数型
.参数 uBytes, 整数型
.DLL命令 LocalFree, 整数型, "kernel32.dll", "LocalFree", 公开
.参数 hMem, 整数型
.DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId"
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress", , ,GetProcAddress 如果GetProcAddress执行成功,则返回模块中函数入口处的地址,否则返回nil。
.参数 模块句柄, 整数型, , hModule
.参数 函数名称, 文本型, , lpProcName
.DLL命令 ReadFile, 逻辑型, "kernel32.dll", "ReadFile"
.参数 文件号, 整数型, , in,hFile,文件的句柄
.参数 读入缓冲区, 字节集, 传址, out,lpBuffer,用于保存读入数据的一个缓冲区
.参数 读取尺寸, 整数型, , in,nNumberOfBytesToRead,要读入的字符数
.参数 实际尺寸, 整数型, 传址, out,lpNumberOfBytesRead,从文件中实际读入的字符数
.参数 参数, 整数型, , 这里只in不out,否则可能会出错.inout,0,lpOverlapped
.DLL命令 GetModuleHandleA, 整数型, "kernel32.dll", "GetModuleHandleA", 公开, GetModuleHandleA获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 模块名, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD; user32.dll
.DLL命令 SetHandleCount_字节集, 整数型, "kernel32.dll", "SetHandleCount", 公开
.参数 字节集, 字节集
.DLL命令 RtlMoveMemory_写字节集, 整数型, "kernel32.dll", "RtlMoveMemory", 公开
.参数 目标数据, 整数型, , any
.参数 原数据, 字节集, , any
.参数 尺寸, 整数型
.DLL命令 VirtualProtect, 逻辑型, "kernel32.dll", "VirtualProtect", 公开, 置虚拟保护,成功返回非0,失败返回0
.参数 起始地址, 整数型, , lpAddress
.参数 长度, 整数型, , dwSize
.参数 新保护权限, 整数型, , 可读写权限(PAGE_READWRITE)=4
.参数 旧保护权限, 整数型, 传址, 保存旧属性的结构变量地址
.DLL命令 RtlMoveMemory_读套接字地址, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, 套接字地址, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_写套接字地址, , "kernel32.dll", "RtlMoveMemory", 公开, 套接字地址
.参数 目标数据, 整数型, , any
.参数 原数据, 套接字地址, 传址, any
.参数 尺寸, 整数型
.DLL命令 端口到短整数, 短整数型, "ws2_32.dll", "htons", 公开
.参数 端口, 短整数型
.DLL命令 短整数到端口, 短整数型, "ws2_32.dll", "ntohs", 公开
.参数 十六位网络端口, 短整数型
.DLL命令 mem_Unsigned_short, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 目标数据, 整数型, 传址
.参数 原数据, 整数型
.参数 尺寸, 整数型, , 2
.DLL命令 lstrcpyn_短整数型, 整数型, "kernel32.dll", "lstrcpyn", 公开
.参数 欲取其指针, 短整数型, 传址
.参数 欲取其指针, 短整数型
.参数 保留, 整数型, , 0
.DLL命令 RtlMoveMemory_Read_Raw_UDP报头, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, Raw_UDP报头, 传址
.参数 Source, 整数型
.参数 Length, 整数型, , 8
.DLL命令 RtlMoveMemory_Read_短整数型, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, 短整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型, , 2
.DLL命令 RtlMoveMemory_Read_字节型, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 目标数据, 字节型, 传址
.参数 原数据, 整数型
.参数 尺寸, 整数型
易语言类似易的KEY注册验证和KEY生成模块源码,生成钥匙文件,文本加密,钥匙文件注册,十六进制到十进制,文本解密...
易语言简易版超级列表框加入超链接源码,超级列表框置超链接,SendMessage_...
易语言监控tcp连接后续删除连接源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs,API_SetTcpEntry...
易语言监控TCP连接API源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs...
易语言电影信息采集器金牛报喜交流源码,采集信息,提取网页信息,读取海报...
易语言清除cookies模块源码,清空cookies,清空history,清空cache,清空cache文件,列出对应项目,清除项目,InternetSetOption,FindFirstUrlCacheEntry,FindNextUrlCacheEntry,FindCloseUrlCache,DeleteUrlCacheEntry...
易语言注册表监视源码,CreateEvent,RegOpenKeyEx,RegCloseKey,CloseHandle,RegNotifyChangeKeyValue,WaitForSingleObject,WaitForMultipleObjects...
易语言歌词同步源码,载入字幕文件,同步,滚动字幕...
易语言本地修改QQ群群公告源码,搜索QQ号,搜索QQ群,获取群公告,更改群公告...