节属性 转 页属性

1. 定义也属性数组

 1     // Protection flags for memory pages (Executable, Readable, Writeable)
 2     static int ProtectionFlags[2][2][2] = {
 3         {
 4             // not executable
 5             {PAGE_NOACCESS, PAGE_WRITECOPY},
 6             {PAGE_READONLY, PAGE_READWRITE},
 7         }, {
 8             // executable
 9             {PAGE_EXECUTE, PAGE_EXECUTE_WRITECOPY},
10             {PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE},
11         },
12     };

2. 解析节属性,转换为页属性

 1     // loop through all sections and change access flags
 2     for (i=0; i < module->headers->FileHeader.NumberOfSections; i++, section++) {
 3         DWORD protect, oldProtect, size;
 4         int executable = (section->Characteristics & IMAGE_SCN_MEM_EXECUTE) != 0;
 5         int readable =   (section->Characteristics & IMAGE_SCN_MEM_READ) != 0;
 6         int writeable =  (section->Characteristics & IMAGE_SCN_MEM_WRITE) != 0;
 7
 8         // determine protection flags based on characteristics
 9         protect = ProtectionFlags[executable][readable][writeable];
10         if (section->Characteristics & IMAGE_SCN_MEM_NOT_CACHED) {
11             protect |= PAGE_NOCACHE;
12         }
13
14         // determine size of region
15         size = section->SizeOfRawData;
16         if (size > 0) {
17             // change memory access flags
18             VirtualProtect((LPVOID)((POINTER_TYPE)section->Misc.PhysicalAddress | imageOffset), size, protect, &oldProtect);
19         }
20     }
时间: 2024-10-14 11:10:43

节属性 转 页属性的相关文章

CPropertySheet(属性单) CPropertyPage(属性页)

1.添加对话框资源,为对话框创建类,继承于CPropertyPage class CFirstPage : public CPropertyPage // FirstPage.cpp CFirstPage::CFirstPage() : CPropertyPage(CFirstPage::IDD) { m_psp.dwFlags |= PSP_DEFAULT|PSP_HIDEHEADER; } class CSecondPage : public CPropertyPage // SecondP

第三篇:属性_第二节:控件属性在页面及源码中的表示方式

一.属性在页面及源码中的表示方式 认真地看看页面中声明控件的代码,你会发现控件属性在页面中的表示千变万化.我们看看下面这些: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="控件属性在页面源码中的表达方式.aspx.cs" Inherits="CustomServerControlTest.控件属性在页面源码中的表达方式" %> <!DOCT

ecshop实现商品列表页属性筛选区品牌筛选以LOGO形式展示

很多时候ecshop分类页的品牌都是以名称的形式显示的,下面ECSHOP开发中心的技术和大家说说ecshop 如何实现商品列表页属性筛选区品牌筛选以LOGO形式展示 1.修改 category.php 文件,将(大概220行) 找到 1 $sql = "SELECT b.brand_id, b.brand_name, COUNT(*) AS goods_num ". 替换成 1 $sql = "SELECT b.brand_id,b.brand_logo, b.brand_n

Android零基础入门第22节:ImageView的属性和方法大全

通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习如何在进行图片展示,这就是涉及到另外一个非常重要的控件家族,那就是ImageView. 一.认识ImageView ImageView继承自View组件,主要功能是用于显示图片,可以显示任意图像.ImageView与其子类的类图如下图所示. 从上图可以看到,ImageView 还派生出了 ImageButton.ZoomButton等组件,因此ImageView支持

ecshop模板将商品列表页属性筛选区的品牌以LOGO形式显示

ecshop模板将商品列表页属性筛选区的品牌以LOGO形式显示 商品列表页属性筛选区品牌以LOGO形式显示1.修改 category.php 文件将(大概215行) $sql = "SELECT b.brand_id, b.brand_name, COUNT(*) AS goods_num ". 修改为 $sql = "SELECT b.brand_id,b.brand_logo, b.brand_name, COUNT(*) AS goods_num ". 把商品

c# 第30节 类字段与属性

本节内容: 1:字段是什么 2:属性判断字段的安全 3:对属性的解释 1:字段是什么 字段其实在上一节我们就使用过了:再来详细的说他一说 amespace cw { public enum gender //public 是为了让所有的类都可以使用 { 男, 女 } public class Clerk { //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据 public string _name; public gender _gerder; public in

第三篇:属性_第一节:控件属性与属性的持久化

一.控件属性 首先,属性是各种.net语言的基本语法.而我们常说的控件属性是指控件类中用public修饰的属性. 见Lable的Text属性: [Bindable(true), DefaultValue(""), Localizable(true), PersistenceMode(PersistenceMode.InnerDefaultProperty), WebCategory("Appearance"), WebSysDescription("Lab

MaskEdit组件的EditText属性和Text属性

MaskEdit组件主要是EditMask属性 是string属性. 掩码字符串EditMask属性分为3个部分,分别用分号隔开,形式是“XXXXX;X;X” 第一部分是掩码字符串的主要部分,它确定输入数据的格式,由一系列制定的特殊字符构成.其中用到的字符和意义见表 第二部分决定是否将掩码中的非格式字符串作为数据的一部分,0表示不作为数据的一部分,1表示作为数据的一部分,他将影响Text属性值. 第三部分支出在掩码中用来代表未输入数据的字符. EditText和Text 属性都可以用来读取用户输

Android实习札记(10)---ImageView的src属性 VS blackground属性

Android实习札记(10)---ImageView的src属性 VS blackground属性                                                                              转载请注明出处:coder-pig 问题分析 相信大家对于ImageView图片组件并不陌生吧,见名知意,就是用来显示图片的咯! 而显示图片的话可以通过src属性,又或者blackground属性来进行设置! 这些大家都知道,但是有没有去纠结下