dword

【转】别人写的pe代码

余生颓废 提交于 2019-12-01 16:34:04
// PEOperate.cpp: implementation of the PEOperate class. // ////////////////////////////////////////////////////////////////////// #include "PEOperate.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// #include "windows.h" #include "stdio.h" #include "string.h" #define MESSAGEBOXADDR 0x77D507EA #define SHELLCODELENGTH 0x12 BYTE shellCode[]={ 0x6A,00,0x6A,00,0x6A,00,0x6A,00, 0xE8,00,00,00,00, 0xE9,00,00,00,00 }; //加载PE文件到内存中 LPVOID ReadPEFile(LPSTR lpszFile) { FILE *pFile =

文件镜像和内存镜像

拜拜、爱过 提交于 2019-12-01 16:24:41
直接将一个pe文件读到内存中是无法运行的,必须经过拉伸,然后再做其它处理才能可运行; 文件中的pe文件状态为文件映像; 拉伸后的状态为内存映像; 1.pe加载过程 1)根据SizeOfImage的大小,开辟一块缓冲区(ImageBuffer). SizeOfImage是可选pe头中的一个属性; 2)根据SizeOfHeaders的大小,将头信息从FileBuffer拷贝到ImageBuffer 文件映像和内存影响的头部信息是相同的,可以直接拷贝过去; 头部信息包括:dos头、标准pe头、可选pe头、节表; SizeOfHeaders是可选pe头的属性;表示所有头加起来然后按文件对齐后的大小; 3)根据节表中的信息循环讲FileBuffer中的节拷贝到ImageBuffer中. 节表中的属性PointerToRawData,表示文件映像中节的位置 ,决定了从哪里开始复制; 节表中有个属性VirtualAddress,表示内存镜像中该节相对于dos头开始的偏移;决定了该复制到哪个地方; 4)Misc.VirtualSize 和 SizeOfRawData谁大? VirtualSize是实际节的大小,也就是不包含文件对齐补的0; SizeOfRawData是节文件对齐后的大小; VirtualSize是可能比SizeOfRawData大的; 例如:char buf[1000]

第三十二篇 -- CreateFile、ReadFile、WriteFile

空扰寡人 提交于 2019-12-01 15:11:27
一、 CreateFile 这是一个多功能的函数,可打开或创建文件或者I/O设备,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。 函数原型: HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile ); View Code 返回值: Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS 函数声明: HANDLE CreateFile(LPCTSTR lpFileName, //普通文件名或者设备文件名 DWORD dwDesiredAccess, //访问模式(写/读)

Win10微软拼音输入法设置-注册表

时间秒杀一切 提交于 2019-12-01 14:28:09
修改候选项窗口 HKEY_CURRENT_USER\Software\Microsoft\InputMethod\CandidateWindow\CHS\1 EnableFixedCandidateCountMode (类型:REG_DWORD)     值为 1 时 启用固定候选个数 ,默认为 0 还原(可直接删除) MaxCandidates (类型:REG_DWORD)     修改候选项个数 ,范围 3~9 个,默认 7 个(EnableFixedCandidateCountMode的值为 1 时生效) ContextMenuFlags (类型:REG_DWORD)     启用候选项上下文菜单 ( 右键候选项可“固定首位”和“删除该词”)       默认值十进制为 23:两项都启用;20 启用“删除该词”;3 启用“固定首位”;0 为禁用 FontStyle (类型:REG_SZ)     修改字体样式 ,默认值为 “ 13.50pt;Regular;;Microsoft YaHei UI ” 共四项 第一项 字体大小 (小:11.25pt;中:13.50pt;大:15.00pt;特大:18.00pt)可自定义数值 第二项 字形 (常规:Regular;粗体:Bold;细体:light) 不可以设置斜体Italic 第三项为空 第四项 字体名称 (MIcrosoft

MFC 中 CreateEx() 函数

心不动则不痛 提交于 2019-12-01 13:36:41
1. 主要创建主窗口或父窗口 BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU nIDorHMenu, LPVOID lpParam = NULL); 2. 主要创建子窗口 BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, LPVOID lpParam = NULL); BOOL CtestDialogApp::InitInstance() { //自己用 CreateEx() 创建主窗口,需要自己注册窗口类 CWnd* pWnd = new CWnd();//要想接收消息,则需要新建一个类继承 CWnd,像 CMyMainWnd //CWnd* pWnd = new CMyMainWnd(); WNDCLASS wc = { 0 }; wc.style = CS_HREDRAW | CS

微信小程序IOS真机调试发生了SSL 错误,无法建立与该服务器的安全连接

情到浓时终转凉″ 提交于 2019-12-01 13:15:55
小程序 真机调试 IOS request:fail 发生了SSL 错误,无法建立与该服务器的安全连接,解决方法 服务器中打开Powerhell,执行以下代码,然后重启服务器 # Enables TLS 1.2 on windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" # Enable TLS 1.2 for client and server SCHANNEL communications new-itemproperty -path "HKLM:

任务栏项目修改隐藏禁用

ぐ巨炮叔叔 提交于 2019-12-01 13:05:23
搜索框样式 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search SearchboxTaskbarMode (类型:REG_DWORD)0 为隐藏,1 为显示图标,2 为默认显示搜索框 小娜Cortana按钮 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced ShowCortanaButton(类型:REG_DWORD)0 为隐藏,1 为默认显示 任务视图按钮 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced ShowTaskViewButton(类型:REG_DWORD)0 为隐藏,1 为默认显示 人脉按钮 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People PeopleBand(类型:REG_DWORD)0 为隐藏,1 为默认显示 隐藏系统托盘图标 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion

节表

二次信任 提交于 2019-12-01 11:44:24
1.联合体 有如下的需求: 我们想存储一个人的学号和身份证号,而且只要存储一个就可以了. 学号需要一个字节 身份证需要四个字节 如果设计成: struct Student { char 学号; int 身份证号; } 因为每次最多用一个成员,那另一个成员的空间永远是浪费的. 关于联合类型: union TestUnion { char x; int y; }; 特点: 1、联合体的成员是共享内存空间的 2、联合体的内存空间大小是联合体成员中对内存空间大小要求最大的空间大小 3、联合体最多只有一个成员有效 (也就是最多只能按联合体中的一种类型来获取数据) union TestUnion{ char x; int y; }; 与 union{ char x; int y; }TestUnion; 意义是不同的. 前面一种时定义了一个联合体; 后面一种是定义了一个匿名的联合体,同时声明了一个联合体变量; 2.关于节表 pe头对pe文件做概要性描述,相当于一本书的前言部分; 节表中的信息包括:每个节在文件中从哪里开始?有多大?在内存中从哪里开始,有多大?等信息;相当于一本书书的目录; 1)节表的位置 节表紧跟在可选pe头后面; 但可选pe头大小不确定; 而可选pe头的大小保存在标准pe头的SizeOfOptionalHeader中; 标准pe头的 节表的地址为:dos头中的e_flanew

任务栏搜索框个性化修改

你离开我真会死。 提交于 2019-12-01 11:03:21
0.解锁个性化 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\Flighting Current(类型:REG_DWORD)改为 0 RotateFlight(类型:REG_DWORD)改为 0 1.文字修改 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\Flighting\0\SearchBoxText value(类型:REG_SZ)的值改成其他的字符串,比如 “大爷,来玩呀” 1903之前版本 需重启explorer生效,以下同。但 重启计算机失效,卸载小娜可维持效果 1903之后版本小娜和搜索框分离,没有干扰,可用 为保证完全生效可对 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\Flighting\1 对应项的键值进行修改,以下同 2.左侧显示放大镜图标 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\Flighting\0\ShowSearchGlyphLeftOfSearchBox value(类型:REG_DWORD)改为

pe头

烂漫一生 提交于 2019-12-01 10:04:19
1.dos头 结构: struct _IMAGE_DOS_HEADER { WORD e_magic; WORD e_cblp; WORD e_cp; WORD e_crlc; WORD e_cparhdr; WORD e_minalloc; WORD e_maxalloc; WORD e_ss; WORD e_sp; WORD e_csum; WORD e_ip; WORD e_cs; WORD e_lfarlc; WORD e_ovno; WORD e_res[4]; WORD e_oemid; WORD e_oeminfo; WORD e_res2[10]; DWORD e_lfanew; } 重要的属性: 2.标准pe头 根据dos头的e_lfanew可以找到nt头; nt头的结构: struct _IMAGE_NT_HEADERS { DWORD Signature; _IMAGE_FILE_HEADER FileHeader; _IMAGE_OPTIONAL_HEADER OptionalHeader; }; nt头的第一个属性是pe标记,占4个字节,值是50 45 00 00,其中50 45对应英文字母pe; 标志pe头结构: struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD