社区
API
帖子详情
vb内存映射文件的使用
TFZM_DB
2008-10-12 10:56:49
我用vb内存映射文件类建立了内存映射文件,并知道了首地址。也就是说文件已经在内存中了。如何运行这个文件呢?---这个文件类型是不确定的,有可能是exe,有可能是txt或doc或jpg...,我想在程序用shell方式调用这个内存中的文件,该如何操作?
请教高手了!如果有答案请发tfzm@yeah.net
...全文
785
10
打赏
收藏
vb内存映射文件的使用
我用vb内存映射文件类建立了内存映射文件,并知道了首地址。也就是说文件已经在内存中了。如何运行这个文件呢?---这个文件类型是不确定的,有可能是exe,有可能是txt或doc或jpg...,我想在程序用shell方式调用这个内存中的文件,该如何操作? 请教高手了!如果有答案请发tfzm@yeah.net
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyserver
2008-10-13
打赏
举报
回复
原先没看清楚LZ的问题,原来是想SHELL内存中的文件,这好办,下载一个虚拟磁盘软件就可以了。
ewang11
2008-10-13
打赏
举报
回复
顶, 我也有同样的问题
alan001
2008-10-13
打赏
举报
回复
是不是想做单文件
chenhui530
2008-10-12
打赏
举报
回复
意向天开~~除非自己在ring0层拦截PE的加载过程,这个过程非常复杂相当于自己实现PE Load再简单的方法就是自己写个EXE解析相关的文件格式
ZengHD
2008-10-12
打赏
举报
回复
[Quote=引用楼主 TFZM_DB 的帖子:]
我想在程序用shell方式调用这个内存中的文件,该如何操作?
[/Quote]
这样也行?我还真没试过,楼下的回答
迈克揉索芙特
2008-10-12
打赏
举报
回复
可以自己写个壳,加到exe上。PELoder加载壳部分,壳控制你的EXE。
IORI915189
2008-10-12
打赏
举报
回复
说 异想天开 一点不为过 呵呵
SYSSZ
2008-10-12
打赏
举报
回复
学习学习,顺便顶一下贴
嗷嗷叫的老马
2008-10-12
打赏
举报
回复
[Quote=引用楼主 TFZM_DB 的帖子:]
我用vb内存映射文件类建立了内存映射文件,并知道了首地址。也就是说文件已经在内存中了。如何运行这个文件呢?---这个文件类型是不确定的,有可能是exe,有可能是txt或doc或jpg...,我想在程序用shell方式调用这个内存中的文件,该如何操作?
请教高手了!如果有答案请发tfzm@yeah.net
[/Quote]
从哪里映射过来的?硬盘?那干嘛不直接运行.......?为了保密?
lyserver
2008-10-12
打赏
举报
回复
虽然PE文件是以内存影射的方式读入并执行的,但以前我说过,系统在调入PE时,要做几次重定位,同时,该地址是属于独立的2G地址(另外2G由系统使用了,这就可我们常说的32位内存地址空间)。举例说吧,假如现在PE文件中有一个静态变量(或函数入口)地址为0x000ff000,调入内存时不需要重定位,但在自己的进程中读入时,由于进程已占用了一些地址,内存影射根本无法保证这个变量或函数地址仍然为0x000ff000,那么在CALL或JMP或LEA或MOV等操作时,显然会出现地址错误。就算你使用虚拟内存强制指定了正确的地址,但由于你的进程有完全不同的栈顶,直接CAL或JMP时,根本就转不到0x000ff000这个地址,就算碰巧可以正确寻址,也由于无法正确平栈而导致栈溢出。尤其某些资源需要重定位时,更增加了地址确定的难度。所以,直接使用同存影射方式在自己的空间里执行另一个PE,是一项根本实现不了的任务。如果真的需要,只能使用远程线程注入的方式调入另一个PE到自己进程的空间执行。或者,如果你懂得反编译,可以使用虚拟内存调入PE后,自己重定位所有需要重定位的地址,同时实现栈平衡就可以了。不过,这些都应该不是VB编程者所关心或需要掌握的内容。
内存映射
文件
的方式进行进程间通信
通过创建
内存映射
文件
,
VB
.NET与C++之间可以进行高效通信,避免磁盘读写。文章介绍了非持久化
内存映射
文件
的
使用
方法,包括
VB
.NET创建
内存映射
文件
,C++读取并处理图片后写入
内存映射
文件
,最后
VB
.NET读取结果。
VB
快速查找大型
文件
中包含的字符串
本文介绍了一种基于
内存映射
文件
和
VB
模拟指针技术的字符串查找方法,该方法显著提高了在大型
文件
中搜索字符串的效率。
Emgu的Image(Of Gray,Byte)转OpenCV的IplImage
该博客讨论如何在
VB
.NET中
使用
Emgu的Image(Of Gray,Byte)转换为C++中的OpenCV IplImage格式,以便于两个语言间通过
内存映射
文件
进行进程通信。博主通过创建
内存映射
文件
,将
VB
.NET中的灰度图像数据写入,然后在C++端读取并构造IplImage。文章强调了灰度图的通道数、图像尺寸处理和
内存映射
文件
操作的重要性。
文件
的读取
VB
6 方法二
本文介绍了一种
使用
Visual Basic通过
内存映射
文件
技术来高效读取大型
文件
的方法,并提供了一个具体的
VB
代码示例,展示了如何实现
文件
的打开、映射及数据的读取过程。
API
1,488
社区成员
23,270
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章