引言
初学者或者一些有经验的开发人员,并不总是对于系统底层有清楚的了解。比如,进程(或线程)调度是如何实现的?往往只停留于模糊的认识。了解这些问题的最好途径是亲自实践。然而开发一个真实系统的门槛很高,而通过学习一个已有系统来了解也非易事,因为错综复杂的代码和关系有时把人搞糊涂了。于是学习者往往写一些模拟程序来努力表达系统是怎样运作的。不过,这些程序往往过于简单。于是“看看能否写一个模拟进程调度的软件”,从这个想法出发我尝试写一个接近真实的调度程序,因为进程或线程调度是现代操作系统的核心部分。经过一段时间的摸索一个调度程序写成了,同时写了一个简单的内存管理。接下来实现了一个模拟文件系...
进程就是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...
解决方法:
有两种可能:
1.未加头文件 #include <stdio.h>
2.头文件#include <stdio.h>加到include <stdafx.h> 的前面,而应该放在include <stdafx.h>后
介绍:
完成进程的列举和模块的列举(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〗-介...
直接写网址了,
大家可以去看, 真心推荐的一片文章
http://www.cnblogs.com/BoyXiao/archive/2011/02/27/1966383.html
WM_CREATE = &H0001
应用程序创建一个窗口
WM_DESTROY = &H0002
一个窗口被销毁
WM_MOVE = &H0003
移动一个窗口
WM_SIZE = &H0005 &nb...
VC6中特别常见的一个错误.
如果不认识会莫名其妙很久
一般都是输入法导致的, 检查逗号标点.
一般都是有非法字符, 中文逗号
#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...