社区
Windows SDK/API
帖子详情
如何将socket传递进dll
山娃马小三儿
2017-04-16 02:58:28
开发环境delphi7,使用winsock2文件
一个主程序框架,用来接受客户端连接,客户端发起连接后,程序判断连接的合法性,如果合法就将这个连接传入一个dll,所有的收发工作都在这个dll里面进行,dll可以关闭这个socket。
最好有dll的简单代码,谢谢
...全文
448
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 啊
渗透测试文件传输实战:从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内存视图与真实工业场景问题,强调字节级控制与系统直觉重建。
从SQL注入到UDF提权:实战演练数据库漏洞如何获取系统Root权限
本文详细记录了从SQL注入漏洞发现到利用MySQL UDF提权获取系统Root权限的完整渗透流程。涵盖环境搭建、注入点确认、手工与Sqlmap自动化利用、UDF提权原理及前提条件(FILE/CREATE FUNCTION权限、plugin_dir路径、架构匹配)、恶意共享库上传、函数创建与命令执行,以及常见错误排查和替代方案。重点聚焦数据库漏洞向操作系统权限升级的技术路径与关键限制。
.NET混沌工程实践:Cat in dotNET故障注入与韧性验证体系
本文系统阐述面向.NET平台的混沌工程实践方法论,聚焦故障注入、可观测性增强与生产环境韧性验证。基于自研框架'Cat in dotNET',采用.NET原生诊断API(EventPipe、ClrMD、DiagnosticSource)实现三级故障注入(配置扰动、API Hook、IL重写),构建四层防御架构(诱饵、捕猫、驯猫、驱猫),并深度集成指标(Prometheus)、日志(Serilog)与链路追踪(OpenTelemetry)。强调可控性、可审计性与生产就绪性,适用于金融级微服务场景。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章