IMPORT ADDRESS TABLE ENTRY

首先,说下FLAT内存模式,DOS时代,由于早起的硬件设计问题,为了充分利用CPU的寻址能力
产生了分段内存管理,用两个16位的寄存器来指示20位的内存地址,
在CPU进入32位后,32位地址线所能寻址的地址空间为2^32,即4GB
并且32位CPU提供了保护模式工作方式,在保护模式下,段寄存器中存放的是选择子
内存在程序员看来,就是一段平坦的(。。描述的不好,忍下)

队列中存放指令,这个说的是指令队列吧,8086就已经有6字节的指令队列了
必须明确的一点是,数据在计算机中是以2进制形式存在的,CPU的工作方式规定了
CS:IP指向的为指令,SS:SP指向的为栈,这些是CPU设计时由它的工作方式确定了的,
并且为了支持这些,专门设计了一些指令,比如JMP,CALL,PUSH,POP等
指令队列的存在是为了提高CPU的工作效率 ,不用每次执行指令时到内存中去取,
可以先取一部分过来,然后一边执行一遍继续从内存中取,放到指令队列中

这些可以看一些接口技术的书,不用深入学习,简单浏览下前面的内容,就能解决你的疑惑


你说的IMPORT ADDRESS TABLE ENTRY 是PE文件的导入表吧,PE文件中,对DLL里函数的调用
会编程跳转到导入表中的相应位置,然后在这里有跳转指令,进入DLL中的相应函数,这个函数的地址
是windows在装入可执行文件时动态填写的
PE signature found File Type: DLL FILE HEADER VALUES 8664 machine (x64) 2 number of sections E04F9911 time date stamp 0 file pointer to symbol table 0 number of symbols F0 size of optional header 2022 characteristics Executable Application can handle large (>2GB) addresses DLL OPTIONAL HEADER VALUES 20B magic # (PE32+) 48.00 linker version 1DDA00 size of code 400 size of initialized data 0 size of uninitialized data 0 entry point 2000 base of code 180000000 image base (0000000180000000 to 00000001801E1FFF) 2000 section alignment 200 file alignment 4.00 operating system version 0.00 image version 6.00 subsystem version 0 Win32 version 1E2000 size of image 200 size of headers 0 checksum 3 subsystem (Windows CUI) 8560 DLL characteristics High Entropy Virtual Addresses Dynamic base NX compatible No structured exception handler Terminal Server Aware 400000 size of stack reserve 4000 size of stack commit 100000 size of heap reserve 2000 size of heap commit 0 loader flags 10 number of directories 0 [ 0] RVA [size] of Export Directory 0 [ 0] RVA [size] of Import Directory 1E0000 [ 38C] RVA [size] of Resource Directory 0 [ 0] RVA [size] of Exception Directory 0 [ 0] RVA [size] of Certificates Directory 0 [ 0] RVA [size] of Base Relocation Directory 1DF918 [ 38] RVA [size] of Debug Directory 0 [ 0] RVA [size] of Architecture Directory 0 [ 0] RVA [size] of Global Pointer Directory 0 [ 0] RVA [size] of Thread Storage Directory 0 [ 0] RVA [size] of Load Configuration Directory 0 [ 0] RVA [size] of Bound Import Directory 0 [ 0] RVA [size] of Import Address Table Directory 0 [ 0] RVA [size] of Delay Import Directory 2000 [ 48] RVA [size] of COM Descriptor Directory 0 [ 0] RVA [size] of Reserved Directory SECTION HEADER #1 .text name 1DD9B7 virtual size 2000 virtual address (0000000180002000 to 00000001801DF9B6) 1DDA00 size of raw data 200 file pointer to raw data (00000200 to 001DDBFF) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers 60000020 flags Code Execute Read Debug Directories Time Type Size RVA Pointer -------- ------- -------- -------- -------- EF5D2053 cv 67 001DF950 1DDB50 Format: RSDS, {39633015-CF28-40B4-A779-FEC96A23033D}, 1, C:\Users\Administrator\source\repos\0X0RAT\Stubdll\obj\x64\Release\Stubdll.pdb 00000000 repro 0 00000000 0 SECTION HEADER #2 .rsrc name 38C virtual size 1E0000 virtual address (00000001801E0000 to 00000001801E038B) 400 size of raw data 1DDC00 file pointer to raw data (001DDC00 to 001DDFFF) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers 40000040 flags Initialized Data Read Only Summary 2000 .rsrc 1DE000 .text
06-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值