1.3 PROGRAM DEVELOPMENT ENVIRONMENT
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的更多相关文章
- 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 ...
- 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- ...
- The Google Test and Development Environment (持续更新)
最近Google Testing Blog上开始连载The Google Test and Development Environment(Google的测试和开发环境),因为blogspot被墙,我 ...
- 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 ...
- storm环境搭建(前言)—— 翻译 Setting Up a Development Environment
Setting Up a Development Environment 搭建storm开发环境所需步骤: Download a Storm release , unpack it, and put ...
- Storm(1) - Setting Up Development Environment
Setting up your development environment 1. download j2se 6 SDK from http://www.oracle.com/technetwor ...
- Establish the LAMP (Linux+Apache+MySQL+PHP) Development Environment on Ubuntu 14.04 Operating System
######################################################## Step One: Update the software package in yo ...
- 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 ...
- 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 ...
随机推荐
- This TableLayout layout or its LinearLayout parent is possibly useless
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- what is blade and soul Soul Shields
Soul Shields are sets of 8 fragments which serve as the main source of attributes to a character. Ad ...
- easyui datagrid 逻辑分页
function getGroupUsers(groupPath) { $('#tbGroupUsersList').datagrid({ width: 800, height: 100, nowra ...
- <java基础学习>01环境变量配置
安装完JDK开始配置系统环境变量,在path变量里面添加java的bin目录 方法二: 配置完成后 在命令下输入javac查看是否配置成功 第一个java程序 hello world! class H ...
- 《数据结构》2.2顺序表(sequence list)
//顺序表节点的定义 typedef struct { datatype data[MAXSIZE]; //数组容量的上限 int len; //记录最后一个元素的位置,相当于一个指针,表空时len= ...
- php学习
一.session使用: 1.所有内容页——最前面(<html>标签以前)添加以下代码: <?php if(!isset($_session)){ session_start(); ...
- HTML的 <u> 标签
实例 使用 <u> 标签为文本添加下划线: <p>如果文本不是超链接,就不要<u>对其使用下划线</u>.</p> 亲自试一试 浏览器支持 ...
- 一些Layout的坑
iOS这个东西,初学感觉,还好还好,然后一年之后再来修复一下初学的时候的代码,我只是感觉头很晕- - 别扶我. AutoLayout的坑,明明以前都没有的!!!升了iOS10就突然发现了这个坑,其实也 ...
- Vue.js常用指令总结
有时候指令太多会造成记错.记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错. 本文主要讲了一下六个指令: v-if//v-show//v-else//v-for//v-bind ...
- Javascript运动基础
javascript的运动非常实用,通过控制需要运动块的实际距离与要到达的距离的关系,结合定时器来控制小方块的各种运动. 运动框架 <!DOCTYPE html><html>& ...