Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347151
  • 博文数量: 88
  • 博客积分: 1695
  • 博客等级: 上尉
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-06 15:48
个人简介

喜欢美食, 旅行..

文章分类

全部博文(88)

文章存档

2014年(2)

2013年(12)

2012年(14)

2010年(8)

2009年(52)

我的朋友

发布时间:2012-12-18 18:23:24

这篇是网上一个哥们的总结, 个人觉得挺好, 原文地址:Windows内存管理的API函数数据所在的内存地址,内存最小存储单元是字节,在32位系统上使用32位数来表示内存地址.一共可以表示2^32次地址空间:32位可以使用4GB内存,那么地址空间就是0x00000000~0xFFFFFFFF物理内存:硬件系统中真实存在的存储空间称为物理内存.虚拟地址空间:windows内存管理知识:1.分段或分页内存管理2.物理地址和虚拟地址,虚拟地址空间.3.虚拟内存布局,内存分工,堆,栈.4.内存存取权限.5.标准C内存管理函数与windows内存管理API的关系. 内存保护属性和存取权限属性常量......【阅读全文】

阅读(3609) | 评论(0) | 转发(1)

发布时间:2012-12-16 23:17:05

这里只把我的视线作为一个例子来说明一下, 读者用自己的方法去实现也没问题.关于如何把自己的DLL导入到指定的进程,请参考我的另一篇博文[windows平台] 给进程注入代码 -- 导入DLL到指定进程的地址空间1. DLL 入口函数的相关逻辑在DLL加载的时候HOOK所有我们希望追踪的系统API.在DLL卸载的时候取消所有的HOOK.#include "hooksTable.h"BOOL APIENTRY DllMain( HMODULE hModule,           &nbs......【阅读全文】

阅读(2004) | 评论(0) | 转发(1)

发布时间:2012-12-16 23:08:51

1. 基本原理使用自己写的代码, 在指定的进程里面启动一个远程线程, 从而把相关的代码注入到这个指定进程里面去, 实施操作. 通常这样做是为了拦截一些系统的 API, 或者是操控(挟持)这个进程.2. 具体实现拿到进程的句柄, 然后用 LoadLibrary 系统函数开启一个远程的线程. 从而把我们的DLL导入到这个指定的进程.(读者可以使用自己的办法, 不过套路应该都差不多)3. 样例代码#include "windows.h"int main(){    char * lpExeFile = "D:\\src-project\\testProcess......【阅读全文】

阅读(2483) | 评论(0) | 转发(1)

发布时间:2012-12-16 22:55:17

这篇博文只是为了给自己留个笔记而已.1.boost::tokenizer 的用法.当一个字符串使用某个分隔符的时候, 想快速的拿到分割后的字串, 可以使用.#include <boost/tokenizer.hpp> int main(){    std::string teststr = "14,24,rt| &44,56";    boost::char_separator<char> separator(",");    boost::t......【阅读全文】

阅读(3680) | 评论(0) | 转发(2)

发布时间:2012-12-09 19:02:14

1. 相关API介绍key_t ftok( char * fname, int id ) // fname就时你指定的文件名,id是子序号。系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。  在一般的UNIX实现中,是将文件的索引节点号取出,前面加上子序号得到key_t的返回值。查询文件索引节点号的方法是: ls -i 当删除重建文件后,索引节点号由操作系统根据当时文件系统的使用情况分配,因此与原来不同,所以得到的索引节点号也不同。如果要确保key_t值不变,要目确保ftok的文件不被删除,要么不用ftok,指定一个......【阅读全文】

阅读(522) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册