Windows进程通信之PE文件共享节

创建FTP站点 使用PE文件管理器共享文件 Ftp协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数 阅读详情

本文由danny发表于 http://blog.csdn.net/danny_share

 

说明:建议先下载本文配套工程,其中

SectionDLLSectionMain工程、SectionASub工程,SectionBSub工程分别用于演示进程间通信的DLL工程、主进程和两个子进程

下载地址:http://download.csdn.net/detail/danny_share/7749203

注意:

1.不要F5直接运行
2.编译生成debug目录或者release目录以后,手动双击SectionMain.exe点击Test按钮即可

 

一.  PE文件

本文主要是从使用的角度来看PE文件的节(也称段),来实现进程间通信,实际只是共享数据,和进程内存读写一样,没有监听或者通知的功能。所以对PE文件只作概览陈述。

 

1.Copy On Write

Windows保护模式下,由于每个进程拥有独立的虚拟地址空间,操作系统负责把虚拟地址映射成物理地址,对于同一个可执行文件生成的不同实例,Windows采用“Copy On Write”技术实现创建时共享虚拟地址空间(此时只读),当需写入时则copy一份(此时可写),因而两者的运行互不干扰,又可以加快运行。

 

2.PE结构

PE文件大致结构如下:

详细结构如下(此图转载自程序人生的博客http://www.programlife.net/pe-coff-specification.html):

 

 

 

3.常见节

1Windows是通过PE-Optional-Header中的DataDirectory而不是通过名字来定位的

2)但为了避免混淆,我们在自定义节的时候,应尽量避免使用下面的节名

3)通过PE文件的结构,我们也可以明白为什么

Windows系统下通过Cygwin64编译安装LibRadtran的完整指南 辐射传输计算是大气科学、遥感与环境光学模拟领域的核心技术,用于模拟太阳与热红外辐射在大气中的传播过程。其核心原理基于物理光学与电磁波理论,通过求解辐射传输方程来量化能量在大气介质中的吸收、散射与发射效应。该技术的工程价值在于为气候建模、卫星遥感反演及环境监测提供高精度的物理引擎。在跨平台应用场景中,科研人员常需在Windows工作站部署此类工具。本文聚焦于利用Cygwin64兼容层,在Windows平台原生构建LibRadtran计算环境,详细解析依赖库配置、编译参数调优及动态链接库管理等工程实践,解决Ne 阅读详情

相关推荐

进程间通信——DLL共享

DLL共享技术可以让使用同一个DLL的多个进程共享一块内存(共享),下面我通过一个项目来演示使用方法。 首先准备一个受害者程序,我选用了xp的扫雷,您也可以用任意喜欢的程序。 然后,编写DLLDLL中需要设置共享,然后在本项目中,DLL被注入到扫雷进程,然后循环打印共享中的数据,这个数据可以被控制程序修改。 下面是DLL代码,g_buffer就是共享的数据。 // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "framework.h" #pragma da

hambaga的博客 1275

Win PE网络共享服务文件

WinPE下启动网络共享服务,很多都会缺少这个文件

DLL共享数据段

全局变量在DLL内使用,在同一进程同一DLL文件中的相互调用是正常的,包括指针的使用;不同进程中参数互不影响。 当C#启动后开始加载DLL文件文件中的初始代码就会执行,所有全局变量会一直保存实值,直到C#程序运行结束或主动释放加载的DLL文件,这样DLL文件就可以被看作一个伴随C#主进程一直运行的子线程,运行过程中不会释放变量. 默认情况下,同一个程序启动多个进程,它们各自的变量值是不会相互影响的。第二个实例启动后,在修改全局变量的时候,系统会运用内存管理系统copy- on-write的特性来防止修

zhg_csdn的博客 2049

Windows进程通信PE文件共享配套源码

danny_share博客Windows进程间通信之PE文件共享配套源码, 分为 SectionDLL、SectionMain和SectionASub和SectionBSub个工程实现使用PE文件共享通信, 1.不要F5直接运行 2.编译生成debug目录或者release目录以后,手动双击SectionMain.exe点击Test按钮即可

Win11 PE下如何快速设置IP如何新建共享文件夹并设置为everyone完全控制权限

环境: Win 10专业版 联想E14 Win 11PE USM6 问题描述: Win PE下如何快速设置IP如何新建共享文件夹并设置为everyone完全控制权限 解决方案: 1.Win PE下开启网络组建服务 2.ip设为192.168.1.23,新建123文件夹,共享123文件夹并设置为everyone完全控制权限 3.新建bat脚本文件内容如下: netsh interface ip set address “以太网” static 192.168.1.23 255.255.255.0 mkdi

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 2567

DLL注入相关

先说说DLL引用的方法: 如果有lib+dll+头文件  则:建工程的时候选择导出符号 #pragma comment(lib, “libname.lib”) #include “libname.h” func();只有DLL文件  LoadLibrary  GetProcAddress  因为在C++中有函数重整,(函数名会被自动改变),我们需要在DLL中,在函数前加上 e

zhuhuibeishadiao 1495

Windows共享详解基本操作

目录 一,共享要求 二,共享权限 共享文件夹的创建和访问、共享文件夹的管理,让用户方便地通过网络访问共享文件文件夹中的资源 1. 环境准备工具Windows sever 2016服务器 和 Windows 10 虚拟机两台 2. 文件夹和用户环境设置 3. 配置共享权限 4. NTFS权限设置 一,共享要求 一般是局域网(内网)内使用 1,物理上处于同一局域网(同一公司网络或家庭网络或手机热点下的) 2,逻辑上处于同一局域网(使用的是同一段网络网段) 可以ping通对方主.

柒烨~的博客 5495

PE/Tools系列】不同系统文件共享(挂载)方法

Date: 2019.3.18 前言     通常在嵌入式设备上运行程序,由于某些资源存储比较大,而嵌入式设备存储较小,因此需要将本地目录挂载到设备上,以实现文件共享。本文旨在分析常用的几种不同系统的文件共享方法。

CSDN明星博主,认证博客专家,视频、Matlab领域优质创作者。 1459

windows进程通信之目录

工作这么长时间,还没总结过项目,先发个”Windows进程通信"系列吧。第一次写博客,难免疏漏,欢迎拍砖。 去年开发Varian的X-Ray采图模块,具体需求是这样: (1)产品运行在Windows7-64位英文专业版上 (2)曝光采图过程实现同步如下硬件的时序(分为软同步和硬同步两种模式):      一个曝光控制器、两个高压发生器、两块Varian平板,      然后获取两

danny的记事本 939

共享可写包含重定位_PE文件格式---

17.1.4 表和从排列位置来看,PE文件在DOS部分和PE文件头部分以后就是表和多个不同的(如图17.1中的③和④所示)。要理解什么是表,什么是以及它们之间的关系,那就首先要了解Windows是如何将PE文件映射到内存的。1. PE文件到内存的映射在执行一个PE文件的时候,Windows并不在一开始就将整个文件读入内存,而是采用与内存 映射文件类似的机制,也就是说,Windows装...

weixin_39641334的博客 305

支持网络和局域网共享文件windows pe

发现了一款不错的可以支持网络和局域网共享文件windows pe,但是网络管理器稳定性不太好,只能在开机第一次打开管理器,一旦关闭就打不开了,也不知道是不是电脑硬件问题,但是网络正常 下载地址https://www.sysfans.com/2009.html ...

pingfanren2的博客 5913

PE系统中使用CMD命令复制共享文件

本文介绍了Windows网络共享相关操作命令:1)使用net start lanmanserver启动共享服务;2)通过net use连接共享目录并查看内容(net view、dir);3)重点说明robocopy命令复制文件/目录的方法及进度显示功能;4)补充netshare查看共享、net use挂载/删除网络驱动器、net user管理用户等辅助命令;5)包含基础文件操作指令如cd、dir、mkdir等。这些命令可用于网络资源共享管理和本地文件操作。

好记性不如烂笔头 575

PE文件详解02

PE文件详解02 1.内容概要 PE文件详解01中我们已经解析了dos头,nt头,区块头表中的数据,接下来本片文章主要讲数据目录表中索引的几种关键数据。这些关键数据包括导入表,导出表,资源表,重定位表,线程本地存储,延迟加载表。 2.数据目录表内容在nt头的扩展头中 ,数据目录表是对上面各种表的索引,方便我们从区块中快速检索到数据。 3.导出表 3.1:导出表的作用 导出表是PE文件自己给其他PE...

qq_33168924的博客 499

局域网文件共享神器:一键启停,跨设备高速互传,可视化管理更高效

同网设备直连访问‌:同一局域网内的设备,通过浏览器输入指定地址(如http://192.168.12.105:10863)即可直接访问共享文件,无需安装额外软件,高速传输不受限制。全局精准搜索‌:支持按文件名、扩展名等条件进行全局搜索,搜索结果精准,同时支持按扩展名筛选文件,快速找到目标内容。稳定便携运行‌:单文件程序设计,无需安装,即开即用,启停过程无卡死现象,适合家庭、办公室等场景快速部署使用。一键启停共享‌:无需复杂配置,点击按钮即可快速开启或停止局域网共享服务,状态实时显示,操作直观。

m0_64171079的博客 388

linux动态链接库全局变量共享问题&DLL共享数据段

Linux写时拷贝技术(copy-on-write) 进程间是相互独立的,其实完全可以看成A、B两个进程各自有一份单独的liba.so和libb.so,相应的动态库的代码段和数据段都是各个进程各自有一份的。 然后在这个基础上,由于代码段是不会被修改的,所以操作系统可以采用copy on write的优化技术,让两个进程共享同一份物理内存。这是属于在不改变系统行为的基础上,为了省内存,

zxh821112的专栏 3万+

进程通信——DLL共享

简介 我们可以在 Dll 中申请一个共享,当进程加载该 Dll 文件后,不同进程都可以实现对该共享内存的读写,以此实现进程间的数据共享。其中,共享的申请方式如下: #pragma data_seg(".shared") /* 全局变量, 必须初始化 */ #pragma data_seg() #pragma comment(linker,"/section:.shared,rws") // 声明该共享的属性 //也可以使用以下方式定义全局变量, 必须初始化 //__declspec(allocat

walker的博客 505

dll和exe的共享------多进程共享dll/exe全局变量

我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因为采取了copy-on-write机制,当有一个实例去修改共享的那个数据区的时候,那么操作系统会另外分配一个内存块,该内存块就是存放这个实例修改的数据,所以并不会影响其他的应用程序实例。 那么可执行

keep_moving_cqu的专栏 3373

Windows进程通信之剪贴板

本文由danny发表于http://blog.csdn.net/danny_share   前面两篇废话了这么多,本文开始上干货。 本文从剪贴板概念、剪贴板内容监听,普通数据类型,打开剪贴板,读剪贴板,写剪贴板、API汇总、他山之石、通过剪贴板实现进程间通信和总结共11个方面来较为深入地探讨Windows剪贴板的机制和使用。   说明:建议先下载本文配套工程,其中 (1)      C

danny的记事本 2475
上一篇: Windows进程通信之进程内存读写
下一篇: Windows进程通信之内存映射文件
dannyshare
博客等级 码龄15年 8粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值