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. C——没有bool的C语言?

    bool static my_var_initialized = false; 偶然写出了这样一句C代码,环境是visual studio 2012,工程是Compile as C的,竟然报了好几个错 ...

  2. java集合中的传值和传引用

    在学习java集合过程中发现了传值和传引用的区别: 我们来看下面两句话 ●java集合就像一种容器,我们可以把多个对象(实际上是对象的引用),丢进该容器.(来自疯狂java讲义) ●当使用Iterat ...

  3. CSS入门

    CSS,层叠样式表,是对web页面显示效果进行控制的一套标准.当页面的内容受多种样式控制,将会按照一定的顺序处理.CSS的作用:(1)将网页的内容结构和格式控制分开.(2)可以精确控制页面的所有元素. ...

  4. 【图像处理】【SEED-VPM】3.外设信息

    ———————————————————————————————————————————————————————————————————————— 摄像头接口 具有AV端子输出的彩色摄像头,摄像头广角8 ...

  5. iOS语音

    <span style="white-space:pre">    </span>语音技术近来可是出遍了风头,从iphone4s的siri,到微信的语音聊天 ...

  6. android退出MainActivity后onDestroy不回调

    问题:有时点击back键,退出MainActivity后,app已不可见,但是onDestroy却没有被调用. 原因: 1. onBackPressed被覆盖 @Override public voi ...

  7. java目录与classpath

    目录结构 描述 jdk bin            编译器和工具 demo             演示 docs              HTML格式的类库文档 include         ...

  8. 64位Win7 VS调试、PLSQL与oracle的连接异常问题

    系统换为64位Win7后,VS与Oracle开发环境出现了很多问题.调试无法连接Oracle,PLSQL无法连接Oracle等一系列问题.下面记录一下处理办法: 1.oracle客户端选择32位进行安 ...

  9. 方法的重载overload

    /*方法的重载overload * 重载:在同一个类里可以定义一个或者一个以上的方法 *     参数类型不一致 *     参数数量不一致 *     */ public class Chongza ...

  10. CDS

    very nice artical talk about mergechangelog and cleardataset Delta and Data http://www.cnblogs.com/y ...