美文网首页
导入表(2)

导入表(2)

作者: bluewind1230 | 来源:发表于2018-01-31 19:08 被阅读0次
导入表:

(exe例子为:内存管理-VirtualAlloc)
LordPE查看其导入表RVA:


image.png

010editor中验证:


image.png
导入表位置,落在了.idata段:
image.png
1A000 【7800】

1A1C8 【79C8】

79C8:(这个值为文件中的偏移,就是它在文件中的起始位置,利用79C8在010editor里面可以找到导入表)

在010editor中:


image.png
typedef struct _IMAGE_IMPORT_DESCRIPTOR{
union {
DWORD Characteristics;
DWORD OriginalFirstThunk;//指向一个结构体数组的相对位移,RVA to original unbound IAT (PIMAGE_THUNK_DATA)
}DUMMYUNIONNAME;
DWORD TimeDataStamp;
DWORD ForwarderChain;
DWORD Name;    //导入的PE文件的名字的相对位移(RVA)
DWORD FirstThunk ;//指向一个结构体数组的相对位移(RVA  to IAT)
}
image.png
image.png

18 A2 01 00【OriginalFirstThunk:INT(Import Name Table)导入名称表地址RVA】
00 00 00 00
00 00 00 00
22 A4 01 00【DLL名称的RVA】
00 A0 01 00【IAT(Import Address Table)导入地址表地址RVA】

1.dll的名字【22 A4 01 00(小端)--->0001A422(因为1A000对应7800,故这里dll在文件中偏移为7C22)】

image.png

2.看下INT(OriginalFirstThunk):1A218【7A18】(以全0结尾)


image.png

函数名数组(对应IMAGE_THUNK_DATA32结构体数组,每一个结构体就是一个联合体)

E0 A3 01 00----0001A3E0【7BE0】最高位为0,说明是以名称导入的,不是序号导入的;

一共导入了25个函数,这里只写一个,其他依次类推!
注意:IAT和INT都指向下面的这个数据结构,4Byte

typedef struct  _IMAGE_THUNK_DATA32{
union{
DWORD ForwarderString;
DWORD Function;//导入函数的地址,在加载到内存之后,这里才起作用
DWORD Ordinal;//假如是序号导入的,会用到这里
DWORD AddressOfData;//假如是函数名导入,会用到这里,它指向另外一个结构体PIMAGE_IMPORT_BY_NAME
}u1;
}IMAGE_THUNK_DATA32;
//如果是函数名导入的,AddressOfData会指向下面这个结构体
typedef struct _IMAGE_IMPORT_BY_NAME{
WORD  Hint;//序号
CHAR Name[1];//不定长,字符串

}

由上可知:是按照函数名导入的(大多数都是按名称导入的),故上面的地址值,就会指向一个PIMAGE_IMPORT_BY_NAME的结构体
【7BE0】


image.png

看下IAT(00 A0 01 00->0001A000-->【7800】)


image.png
发现最高位也都是0,所以,也是名称导入的,另外,还可以发现,这个位置的值,和INT的值是一样的,因此,不再赘述了

这里的kernel32.dll里面有25个函数


image.png

相关文章

  • 导入表(2)

    导入表: (exe例子为:内存管理-VirtualAlloc)LordPE查看其导入表RVA: 010editor...

  • sql案例用户消费行为分析

    一、数据导入 1、创建数据库和表: 2、导入csv数据表 命令行导入:load data local infile...

  • QIIME2微生物组分析流程

    QIIME2功能介绍 1、数据导入 示例 2、生成OUT表 示例 3、操作特征表 特征表统计 过滤特征表:过滤样本...

  • 样式导入

    1、传统导入样式 2、小程序导入样式 使用@import语句可以导入外联样式表,@import后跟需要导入的外联样...

  • sqoop常用命令

    查看Mysql表 1.mysql to hdfs 2.把MySQL数据库中的表数据导入到Hive中 2.1 导入关...

  • mongo导出导入

    导出库 删除之前表数据导入库 导出表 删除之前表数据导入表

  • csv 导入数据库 转表

    1、准备工作:建表、准备csv表数据 (1)建表: (2)准备csv表数据 2、然后就是导入了 在这里,遇到了一个...

  • 使用hive 实现WordCount 计数

    启动Hive 2.建表 3.导入数据 4.查询: 至此,数据导入完成。我原先以为做单词统计,这一张表就可以,但是我...

  • hive-函数

    1、建表导入json数据 建表:create table rating_json(json string); 导入...

  • [MYSQL]将数据表导入另一个表中

    导入全部数据INSERT INTO 目标表 SELECT * FROM 来源表; 导入部分字段INSERT INT...

网友评论

      本文标题:导入表(2)

      本文链接:https://www.haomeiwen.com/subject/zoulzxtx.html