当前位置:网站首页>逆向调试入门-PE结构-输入表输出表05/07
逆向调试入门-PE结构-输入表输出表05/07
2022-07-01 12:42:00 【51CTO】
输入表
输入函数,表示被程序调用但是它的代码不在程序代码中的,而在dll中的函数。对于这些函数,磁盘上的可执行文件只是保留相关的函数信息,如函数名,dll文件名等。在程序运行前,程序是没有保存这些函数在内存中的地址。当程序运行起来时,windows加载器会把相关的dll装入内存,并且将输入函数的指令与函数真在内存中正的地址联系起来。输入表(导入表)就是用来保存这些函数的信息的。
结构体
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
_ANONYMOUS_UNION union { //00h
DWORD Characteristics;
DWORD OriginalFirstThunk;
} DUMMYUNIONNAME;
DWORD TimeDateStamp; //04h
DWORD ForwarderChain; //08h
DWORD Name; //0Ch
DWORD FirstThunk; //10h
} IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
两个结构体的作用是一样的,都是为了方便寻找DLL的函数。
IMT是文件在磁盘中的指向的位置
IAT是文件加载进内存后指向的位置
我们使用Stud_PE进行查看
程序hello的作用紧紧是弹出一个对话框
由此我们判断使用了MessagesBox
使用该工具打开程序副本
在文件头部,可以查看出来了输入表的信息
我们打开“在16进制位编辑器中视图文件头树”
我们查看数据的目录
可以看到文件中的输入表位置
有两个数组,两个函数,因为是8个字节
在282acH中
下面我们使用OD进行实例分析
我们准备一个hello文件
该程序的功能只是弹出一个对话框。
我们使用OD软件调试程序
在call函数中发现问题
发现了MessageBoxA
F7进入
在高地址位发现messageBoxtimeoutA
那就可以知道,前面的一段都是这个函数的内容了。
导出表
导出表的结构较为简单。
边栏推荐
- MHA high availability cluster deployment and failover of database
- ASTM D 3801 vertical burning test of solid plastics
- leetcode:241. Design priority for operation expression [DFS + Eval]
- 下半年还有很多事要做
- 6.30模拟赛总结
- Eurake partition understanding
- GID:旷视提出全方位的检测模型知识蒸馏 | CVPR 2021
- 基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能
- 从数据库中更新一条数据,用cdc会同时获得op字段分别为d和c的两条数据吗?我记得之前是只有op为u
- 腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
猜你喜欢
用.Net Core接入微信公众号开发
Operations related to sequence table
Nc100 converts strings to integers (ATOI)
基于开源流批一体数据同步引擎 ChunJun 数据还原 —DDL 解析模块的实战分享
VM虚拟机配置动态ip和静态ip访问
[20220605] Literature Translation -- visualization in virtual reality: a systematic review
王兴的无限游戏迎来“终极”一战
Project deployment is not difficult at all!
leetcode:241. Design priority for operation expression [DFS + Eval]
Stack-------
随机推荐
Chain storage of binary tree
我选的热门专业,四年后成了“天坑”
redis探索之缓存一致性
Blocking sockets的读写操作该怎么玩?
I spent tens of thousands of dollars to learn and bring goods: I earned 3 yuan in three days, and the transaction depends on the bill
Stack-------
PG基础篇--逻辑结构管理(触发器)
微信模拟地理位置_伪装微信地理位置
【历史上的今天】7 月 1 日:分时系统之父诞生;支付宝推出条码支付;世界上第一支电视广告
ASTM D 3801 vertical burning test of solid plastics
R语言基于h2o包构建二分类模型:使用h2o.gbm构建梯度提升机模型GBM、使用h2o.auc计算模型的AUC值
【邂逅Django】——(二)数据库配置
VS Code 设置代码自动保存
Ustime wrote a bug
强大、好用、适合程序员/软件开发者的专业编辑器/笔记软件综合评测和全面推荐
【开发大杀器】之Idea
天青色等烟雨
VM虚拟机配置动态ip和静态ip访问
Ikvm of toolbox Net project new progress
There are still many things to be done in the second half of the year