社区
非技术区
帖子详情
如何把一个DLL文件映射到别的进程空间内,谁给我一个例子
武稀松
2002-01-17 04:18:21
...全文
19
回复
打赏
收藏
如何把一个DLL文件映射到别的进程空间内,谁给我一个例子
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Windows环境下32位汇编语言程序设计 第2版(罗文斌) 完整光盘
Windows环境下32位汇编语言程序设计 第2版(罗文斌) 完整光盘内容,包含每章内容的完整代码 本光盘所包含目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\HelloWorld ;Hello World Chapter04\FirstWindow ;用Win32汇编写第一个窗口 Chapter04\FirstWindow-1 ;用Win32汇编写第一个窗口 Chapter04\SendMessage ;窗口间的消息互发 Chapter04\SendMessage-1 ;窗口间的消息互发 Chapter05\Menu ;使用资源 - 使用菜单 Chapter05\Icon ;使用资源 - 使用图标 Chapter05\Dialog ;使用资源 - 使用对话框 Chapter05\Listbox ;使用资源 - 使用列表框 Chapter05\Control ;使用资源 - 使用子窗口控件 Chapter05\ShowVersionInfo ;使用资源 - 显示版本信息资源的程序 Chapter05\VersionInfo ;使用资源 - 使用版本信息资源 Chapter06\Timer ;定时器的使用 Chapter07\DcCopy ;在两个窗口的 DC 间互相拷贝屏幕 Chapter07\Clock ;模拟时钟程序 Chapter07\BmpClock ;用 Bitmap 图片做背景的模拟时钟程序 Chapter07\TestObject ;一些常见的绘图操作 Chapter08\CommDlg ;使用通用对话框 Chapter09\Toolbar ;使用工具栏 Chapter09\StatusBar ;使用状态栏 Chapter09\Richedit ;使用丰富编辑控件 Chapter09\Wordpad ;一个完整的文本编辑器
例子
Chapter09\SubClass ;窗口的子类化
例子
Chapter09\SuperClass ;窗口的超类化
例子
Chapter10\MemInfo ;显示当前内存的使用情况 Chapter10\Fragment ;内存碎片化的演示程序 Chapter10\FindFile ;全盘查找
文件
的
例子
Chapter10\FormatText ;
文件
读写
例子
Chapter10\FormatText\FileMap ;使用内存
映射
文件
进行
文件
读写的
例子
Chapter10\MMFShare ;使用内存
映射
文件
进行
进程
间数据共享 Chapter11\
Dll
\
Dll
;最简单的动态链接库
例子
- 编写
DLL
Chapter11\
Dll
\MASM Sample ;最简单的动态链接库
例子
- 使用
DLL
Chapter11\
Dll
\VC++ Sample ;最简单的动态链接库
例子
- 在VC++中使用汇编编写的
DLL
Chapter11\KeyHook ;Windows 钩子的
例子
- 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的
例子
- 监听键盘动作 Chapter12\Counter ;有问题的程序 - 一个计数程序 Chapter12\Thread ;用多线程的方
DLL
和
进程
的地址
空间
DLL
和
进程
的地址
空间
一,MT和MD的区别二,显示链接与隐式链接三,
DLL
和
进程
的地址
空间
DLL
是Windows开发人员经常使用到的一种技术,比如我们经常会把相同功能的代码封装到一个模块中,然后供其他需要使用该模块的程序共同调用,可以降低代码的复用性,使用起来非常方便;而且,当我们需要对外部提供自己公司的接口时,也会考虑到使用
dll
,它可以将我们内部实现的代码进行封装保护,而不会暴露给使用者。本...
用
文件
映射
(File Mapping)实现
进程
间内存共享
我们知道,在Windows中的每个
进程
都有自己独立的内存
空间
。该独立的内存
空间
包含了所有的可执行模块或
DLL
模块的代码和数据以及动态内存分配的
空间
。每个
进程
的内存
空间
只能被该
进程
访问,其他
进程
是不能访问的。 如果我们要想在
进程
间共享内存(也就是创建一块不同
进程
都能访问的内存),那就必须使用内核对象。因为内核对象由Windows系统内核所拥有,而不是由
进程
所拥有。 下面就用
文件
映
Windows使用内存
映射
文件
内存
映射
文件
主要用于以下三种情况:系统使用内存
映射
文件
,以便加载和执行. exe和
DLL
文件
。这可以大大节省页
文件
空间
和应用程序启动运行所需的时间。可以使用内存
映射
文件
来访问磁盘上的数据
文件
。这使你可以不必对
文件
执行I/O操作,并且可以不必对
文件
内容进行缓存。可以使用内存
映射
文件
,使同一台计算机上运行的多个
进程
能够相互之间共享数据。
DLL
文件
脱壳
博客中用到的
例子
和某些程序的链接在文章末尾。 对
DLL
文件
进行脱壳的原理和对普通PE
文件
进行脱壳的原理其实是差不多的,就是多了一个构造重定位表的步骤。因为
DLL
文件
都是
映射
到其他
进程
的地址
空间
中,所以基址很有可能不是默认基址。而壳又会破坏原来的重定位表,所以我们脱壳后需要手动构造一个新的重定位表。 第一步,也是需要像脱普通PE
文件
的壳一样,先找到OEP,然后再把镜像
文件
给Dump下来。但是因为重定位的关系,我们又希望脱壳后的
文件
尽量和脱壳前的一样,所以我们就需要找到壳中进行重定位的那一段代码,然后将其跳
非技术区
829
社区成员
53,611
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章