引言 初学者或者一些有经验的开发人员,并不总是对于系统底层有清楚的了解。比如,进程(或线程)调度是如何实现的?往往只停留于模糊的认识。了解这些问题的最好途径是亲自实践。然而开发一个真实系统的门槛很高,而通过学习一个已有系统来了解也非易事,因为错综复杂的代码和关系有时把人搞糊涂了。于是学习者往往写一些模拟程序来努力表达系统是怎样运作的。不过,这些程序往往过于简单。于是“看看能否写一个模拟进程调度的软件”,从这个想法出发我尝试写一个接近真实的调度程序,因为进程或线程调度是现代操作系统的核心部分。经过一段时间的摸索一个调度程序写成了,同时写了一个简单的内存管理。接下来实现了一个模拟文件系...

阅读全文>>

进程就是4GB  线程就是EIP 无意间看到的文章,还不会用,收藏下! 【标题】: 劫持正在运行进程的EIP注入代码的方法 【作者】: 火血狼(QQ:65845743) 【工具】: VC++2005, WINXP, WIN7 【声明】: 1.禁止用来做破坏;2.转载请告知作者. ----------------------------------------------------------------------------- 【灵感来源】 近日,在读<<Windows内核编程>>的时候,偶然发现,一个函数...

阅读全文>>

功能: 01:展示输出表信息 02: 展示输入表信息 03:资源表信息 04:重定位表信息 05:绑定导入表信息 难点: 01: 定义全局变量, 区别每个点击按钮, 使用一个对话框,分别对消息进行接收 02: 读取PE信息, 对每个表的信息进行展示 03: 字符串的使用方法 sprintf  strcat  的用法 04 SendMessage 实例展示: 主要代码: ...

阅读全文>>

报错原因: VC6的编译环境,  DiaPorc的主程序中, 写了一个MessageBox,  然后就持续不断的执行,  没办法关闭, 强制关闭了 编译环境, 重新打开VC6 报错: obj : error LNK2001: unresolved external symbol "void * _ 通是还报错 fatal error LNK1120: 1 unresolved externals 清空了 编译环境,重新编译, 无效 ...

阅读全文>>

知识点: 01 PE结构中IMAGE_DATA_DIRECTORY   的详细解析步骤 [地址(RAW)范围:0x00000170 - 0x000001ef] [长度:80h] [数据目录表(16项,每个成员占8字节).]         [成员]             [数据:RVA]       [大小]         [说明]     &nb...

阅读全文>>

节表的获取 知识点: 01 节表信息的读取 02 ListView的操作方法 (在这耽误了很久, 不太熟悉这里面的操作) 展示图: 关键代码: //PE区段表 void SetPeSectionInfo(HWND hwndDlg,LPSTR lpszFile) { LPVOID pFileBuffer = NULL; PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHe...

阅读全文>>

功能: 主要实现 对PE头信息的读取 因为以前在命名行实现过对PE信息的读取, 这里只是 变成界面显示, 没啥技术要点 展示: 主要代码: VOID SetPeInfoText(HWND hwndDlg,LPSTR lpszFile) { LPVOID pFileBuffer = NULL; PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FILE_HEADER p...

阅读全文>>

介绍: 完成进程的列举和模块的列举(1221) 主要功能介绍: 01对话框的载入DialogBox 02按钮的响应 WM_COMMAND 03加载listBox 04listBox的初始化 05WM_NOTIFY (List的响应) 06进程的权限提升 07CreateToolhelp32Snapshot 08Module32Next 主要是一些知识点的运用 展示图片: 主要代码: ...

阅读全文>>

〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空间不足,无法处理此命令。 〖9〗-存储控制块地址无效。 〖10〗-环境错误。 〖11〗-试图加载格式错误的程序。 〖12〗-访问码无效。 〖13〗-数据无效。 〖14〗-存储器不足,无法完成此操作。 〖15〗-系统找不到指定的驱动器。 〖16〗-无法删除目录。 〖17〗-系统无法将文件移到不同的驱动器。 〖18〗-没有更多文件。 〖19〗-介...

阅读全文>>

WM_CREATE   =   &H0001      应用程序创建一个窗口      WM_DESTROY   =   &H0002      一个窗口被销毁      WM_MOVE   =   &H0003      移动一个窗口      WM_SIZE   =   &H0005 &nb...

阅读全文>>

#include "stdafx.h" #include "Tools.h" #include<Windows.h> LRESULT CALLBACK WindowProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { switch(uMsg){ case...

阅读全文>>

#include "string.h" class Monster { public: int ID; int Level; char Name[20]; public: Monster(){} Monster(int ID,int Level,char* Name) { this->ID = ID; this->Level =Level; memcpy(&this->Name,Name,strlen(Name)+1); } }; template<class T> class Tre...

阅读全文>>