1.3 PROGRAM DEVELOPMENT ENVIRONMENT

1.4 WIN32 EXECUTEABLE FILE FORMAT

We should also know that complied binary code is a data structure in itself,which the operating system operates on when code is loaded into memory for execution.For Win32 platforms,this data structure is called Portable Executable,or PE,file format.

Understanding the PE file format helps greatly with Windows program.It helps you understand how source code is turned into binary code,where global variables are stored,and how are they initialized,including how shared variables work.Every DLL in the Win32 system is in the PE format.So understanding the PE format helps you understand how dynamic linking works,how inport references are resolved,and how to avoid dynamic rebasing of DLLs.The basic technique of API hooking depends heavlly on kowledge of import table details.Understanding the PE format also helps you understand how virtual memory space is structured in the Win32 environment.There are a few places where knowledge of PE file format will be needed in this book,so we briefly discuss the PE file format and its loaded form in RAM here.

第3小节讲的是程序开发环境,目前尚非实用,略去。第4小节,简略地讨论了PE文件格式及其加载进RAM的形式。关于PE文件的格式,可以参考小甲鱼的加密解密视频教程

另外鱼C论坛是一个不错的论坛,附上地址 http://bbs.fishc.com/forum.php

小甲鱼的空间 http://bbs.fishc.com/home.php?mod=space&uid=9&do=index

另,小甲鱼教学视频参考的貌似是看雪论坛《加密与解密》(第三版)第五章的内容

而我也准备花一些时间认真研究下PE文件格式

之所以学Windows_Graphics_Programming_Win32_GDI_and_DirectDraw是前面压缩位图实例中遇到的压缩bitmap文件的难题,没想到这本书里面介绍的内容比预想的多太多

1.3 PROGRAM DEVELOPMENT ENVIRONMENT的更多相关文章

  1. How to set up Dynamics CRM 2011 development environment

    Recently I have been starting to learn Microsoft Dynamics CRM 2011 about implement plugin and workfl ...

  2. Create A .NET Core Development Environment Using Visual Studio Code

    https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio- ...

  3. The Google Test and Development Environment (持续更新)

    最近Google Testing Blog上开始连载The Google Test and Development Environment(Google的测试和开发环境),因为blogspot被墙,我 ...

  4. Programming in Go (Golang) – Setting up a Mac OS X Development Environment

    http://www.distilnetworks.com/setup-go-golang-ide-for-mac-os-x/#.V1Byrf50yM8 Programming in Go (Gola ...

  5. storm环境搭建(前言)—— 翻译 Setting Up a Development Environment

    Setting Up a Development Environment 搭建storm开发环境所需步骤: Download a Storm release , unpack it, and put ...

  6. Storm(1) - Setting Up Development Environment

    Setting up your development environment 1. download j2se 6 SDK from http://www.oracle.com/technetwor ...

  7. Establish the LAMP (Linux+Apache+MySQL+PHP) Development Environment on Ubuntu 14.04 Operating System

    ######################################################## Step One: Update the software package in yo ...

  8. How to enable C development in a Windows 10 development environment VM

    To enable C development in a Windows 10 development environment VM, follow these steps: Start VS in ...

  9. Could not install the app on the device, read the error above for details. Make sure you have an Android emulator running or a device connected and have set up your Android development environment:

    Administrator@DESKTOP-EHCTIOR MINGW64 /d/react-native-eyepetizer (master) $ react-native run-android ...

随机推荐

  1. Html.DropDownList

    //获取直属父级列表 var parents = _MemberEditDTOService.GetParents(); var parentsItems = parents.Result.Selec ...

  2. V-MODEL指令实现方法

    V-MODEL 是VUE 的一个指令,在input 控件上使用时,可以实现双向绑定. 通过看文档,发现他不过是一个语法糖. 实际是通过下面的代码来实现的:   <%@ page language ...

  3. C# 中的 Static

    今天测试了一下C#中 static 的初始化顺序: 1.调用时才初始化, 2.按照调用顺序初始化 3.先执行类的静态方法,然后初始化静态变量及方法 4.继承时,先执行子类的静态方法,然后执行父类的静态 ...

  4. MSDN Library for vs 2010安装及使用(MSDN Library)

    VS2010正式版不再有单独的MSDN Library安装选项,VS2010的ISO安装光盘里已经包含有MSDN Library,只不过要手动安装,方法如下: 1.安装完VS2010后,在开始菜单中打 ...

  5. C#数据库导出(入)TXT

    导出: public void ExportTxt() { var file = System.IO.File.Open(path, System.IO.FileMode.Open); using ( ...

  6. windows8.1下android开发环境搭建(Eclipse+Android sdk+ADT+Genymotion)

    一.基本jdk.eclipse环境 二.android sdk 1.下载安装:https://developer.android.com/sdk/installing/index.html?pkg=t ...

  7. 场景7 Data Guard

    场景7  Data Guard 官方文档 :Oracle Data Guard Concepts and Administration 用于数据容灾,通过主备库同步(主库将redo日志传送到备库,一个 ...

  8. android 解析XML 工具类

    /** * Created by John on 2016/3/29. */ public class XmlParser { private static final String ns = nul ...

  9. DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解

    关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  10. logsatsh input 插件之 collectd

    logsatsh input 插件之 collectd 标签(空格分隔): logstash 作用:用于监控内存,cpu,磁盘I等信息 未完待续,时间未定. 参考: logstash 官网 elast ...