社区
Windows SDK/API
帖子详情
如何将socket传递进dll
山娃马小三儿
2017-04-16 02:58:28
开发环境delphi7,使用winsock2文件
一个主程序框架,用来接受客户端连接,客户端发起连接后,程序判断连接的合法性,如果合法就将这个连接传入一个dll,所有的收发工作都在这个dll里面进行,dll可以关闭这个socket。
最好有dll的简单代码,谢谢
...全文
450
8
打赏
收藏
如何将socket传递进dll
开发环境delphi7,使用winsock2文件 一个主程序框架,用来接受客户端连接,客户端发起连接后,程序判断连接的合法性,如果合法就将这个连接传入一个dll,所有的收发工作都在这个dll里面进行,dll可以关闭这个socket。 最好有dll的简单代码,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xhz8000
2017-04-24
打赏
举报
回复
还有一点要注意,你dll里定义的 function test(hwnd :Pointer):boolean; 如果你主程序里是这样定义的 function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致 感觉是一致的啊 ^_^ 好久没有回答问题了,看见楼主这样说我想说两句。 以前我们看见人家说调用DLL要加stdcall,我也是就加了,现在想起来 其实是别人回答只是让你知道要加,但是不知道为什么加的感觉。 其实加这个就是参数入栈的问题,因为每个编译器所编译的 代码入栈的顺序不一样,加了之后就是让大家保持一致,不至于取参数错误,或者访问栈错误。 你现在这个函数刚好一个参数, 所以基本是没有问题的,不管是从右到左还是从左到右入栈都没有问题,还有如果都是D调用不加也无所谓,但是供别的语言调用 最好还是加上,都按照这个入参约定调用,保证没有问题。
蓝色光芒
2017-04-17
打赏
举报
回复
Socket就是一个整型,直接当作普通函数的参数传递到dll里就可以了
山娃马小三儿
2017-04-17
打赏
举报
回复
还有一点要注意,你dll里定义的
function test(hwnd :Pointer):boolean;
如果你主程序里是这样定义的
function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致
感觉是一致的啊
山娃马小三儿
2017-04-17
打赏
举报
回复
就算没发送成功,但是也没关掉连接
蓝色光芒
2017-04-17
打赏
举报
回复
还有一点要注意,你dll里定义的 function test(hwnd :Pointer):boolean; 如果你主程序里是这样定义的 function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致
蓝色光芒
2017-04-17
打赏
举报
回复
winsock2.send(socket, sendData[0], 4, 0); winsock2.closesocket(socket); 发送完马上就关闭,你让底层怎么响应呢, 你可以中间等一下再关 winsock2.send(socket, sendData[0], 4, 0); Sleep(10000); ///测试用 winsock2.closesocket(socket);
山娃马小三儿
2017-04-17
打赏
举报
回复
这是dll简单代码 function test(hwnd :Pointer):boolean; var SendData :Array [0..3] of byte; socket :TSocket; begin socket :=TSocket(hwnd); SendData[0] :=1; SendData[1] :=2; SendData[2] :=3; SendData[3] :=4; winsock2.send(socket, sendData[0], 4, 0); winsock2.closesocket(socket); Result :=True; end; exports test; begin end. -------------------- 主程序里验证完socket的合法性后 test(Pointer(Socket));
山娃马小三儿
2017-04-17
打赏
举报
回复
传是传进去了,也不报错,但是没法收发数据,也没法关闭这个socket 啊
C++编程实践:200个实例构建从入门到精通的工程能力
本文系统阐述如何通过200个分层递
进
的C++实践案例构建扎实工程能力,涵盖智能指针实现(RAII、移动语义、模板)、线程池设计(生产者-消费者、同步原语、完美转发)、HTTP服务器开发(
Socket
编程、阻塞/非阻塞I/O)等核心内容,并强调内存管理、多线程安全、CMake构建、调试与性能分析等实战避坑要点。
渗透测试文件传输实战:从HTTP到DNS隧道的攻防技法全解析
本文系统解析渗透测试中文件传输的核心攻防技术,涵盖HTTP/HTTPS、FTP、SMB等标准协议传输,Certutil/Base64、PowerShell编码等无工具静态传输,以及DNS/ICMP隧道等隐蔽信道技术。强调环境适配、动静结合与路径递
进
策略,并从红队投递和蓝队检测双视角分析网络层与主机层关键检测点,提供实战避坑指南与工具链部署方法。
正向连接实战:从EFS缓冲区溢出到DVWA Web漏洞的远程控制路径
本文详解正向连接(Bind Shell)在渗透测试中的核心应用,聚焦Easy File Sharing Web Server(EFS)缓冲区溢出漏洞与DVWA文件上传/命令注入漏洞的实战利用。通过手工构造Shellcode、Python脚本触发EFS栈溢出,以及在DVWA中升级Web Shell为稳定TCP正向Shell,完整呈现从漏洞发现、Payload执行到交互式远程控制的全过程。涵盖环境搭建、Netcat/Msfvenom工具使用、端口监听与连接、绕过安全级别等关键技术点。
Windows底层开发实战:C/C++手写PE加载器与Native API深度解析
本文深入解析Windows底层开发核心实践,重点围绕C/C++手写PE加载器的完整实现过程,涵盖PE文件结构解析、内存分配、重定位处理、导入表绑定及入口点执行;同时深度剖析Native API(如NtCreateSection、NtMapViewOfSection等)在无CRT环境下的调用机制与调试验证方法,结合x64dbg内存视图与真实工业场景问题,强调字节级控制与系统直觉重建。
UE4/UE5网络线程发包Hook实战:定位加密Call与稳定拦截方案
本文详解UE4/UE5引擎中跨线程网络发包的稳定Hook方案,聚焦定位工作线程中的加密Call。通过系统API(如sendto)动态回溯调用栈,结合x64dbg调试、硬件内存断点与特征码搜索,精准识别加密前明文数据入口。采用内联Hook+Trampoline跳板实现线程安全、可重入的拦截,涵盖x64调用约定适配、指令精确复制、多线程无锁队列设计及游戏热更新兼容策略,适用于协议分析、自动化测试等合法技术场景。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章