当前位置:网站首页>Introduction to reverse debugging PE structure input table output table 05/07
Introduction to reverse debugging PE structure input table output table 05/07
2022-07-01 12:52:00 【51CTO】
Input table
Input function , Indicates that it is called by a program, but its code is not in the program code , And in the dll The function in . For these functions , The executable file on the disk just keeps the relevant function information , Such as function name ,dll File name, etc. . Before the program runs , The program does not save the address of these functions in memory . When the program runs ,windows The loader will put the relevant dll Load memory , And connect the instruction of the input function with the address of the function in memory . Input table ( The import table ) It is used to save the information of these functions .
Structure
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.

The functions of the two structures are the same , All for the convenience of finding DLL Function of .

IMT Is the location of the file on the disk
IAT Is the location pointed to by the file after it is loaded into memory
We use Stud_PE To view the

Program hello Its function is to pop up a dialog box
Therefore, we judge that MessagesBox

Use this tool to open a copy of the program

In the head of the file , You can view the information of the input table

We turn on “ stay 16 View file header tree in hexadecimal editor ”

Let's check the directory of data

You can see the location of the input table in the file
There are two arrays , Two functions , the reason being that 8 Bytes

stay 282acH in
Let's use OD Conduct case analysis

We are going to have a hello file

The function of this program is to pop up a dialog box .

We use OD Software debugging program

stay call Problem found in function

Found out MessageBoxA
F7 Get into

Found at the highland site messageBoxtimeoutA

Then we can know , The previous paragraph is all about this function .
Export table

The structure of the exported table is relatively simple .
边栏推荐
- Quickly understand what the compressed list in redis is
- Topic 1004: the story of cows (recursion)
- [encounter Django] - (II) database configuration
- Powerful, easy-to-use, professional editor / notebook software suitable for programmers / software developers, comprehensive evaluation and comprehensive recommendation
- Topic 2612: the real topic of the 12th provincial competition of the Blue Bridge Cup in 2021 - the least weight (enumerating and finding rules + recursion)
- Router.use() requires a middleware function but got a Object
- SQLAlchemy在删除有外键约束的记录时,外键约束未起作用,何解?
- Chain storage of binary tree
- 哪个券商公司开户佣金低又安全又可靠
- VS Code 设置单击打开新文件窗口,不覆盖前一个窗口
猜你喜欢

VM virtual machine configuration dynamic IP and static IP access

Feign & Eureka & Zuul & Hystrix 流程

基因检测,如何帮助患者对抗疾病?

be based on. NETCORE development blog project starblog - (13) add friendship link function
![[encounter Django] - (II) database configuration](/img/13/9512c1e03349092874055771c3433d.png)
[encounter Django] - (II) database configuration

"Analysis of 43 cases of MATLAB neural network": Chapter 40 research on prediction of dynamic neural network time series -- implementation of NARX based on MATLAB

redis探索之缓存一致性

leetcode:329. 矩阵中的最长递增路径【dfs + cache + 无需回溯 + 优雅】

How can genetic testing help patients fight disease?

基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能
随机推荐
数字信号处理——线性相位型(Ⅱ、Ⅳ型)FIR滤波器设计(2)
Flinkcdc should extract Oracle in real time. What should be configured for oracle?
Feign & Eureka & Zuul & Hystrix 流程
Eurake partition understanding
硬件开发笔记(九): 硬件开发基本流程,制作一个USB转RS232的模块(八):创建asm1117-3.3V封装库并关联原理图元器件
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
ustime写出了bug
项目部署,一点也不难!
Mobile note application
R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型在每个交叉验证(或者重采样)的每一折fold上的混淆矩阵、并使用summary输出每个fold的其它详细指标
leetcode:226. 翻转二叉树【dfs翻转】
VM virtual machine configuration dynamic IP and static IP access
leetcode:329. The longest incremental path in the matrix [DFS + cache + no backtracking + elegance]
79. Word search [DFS + backtracking visit + traversal starting point]
Idea of [developing killer]
Vs code set code auto save
王兴的无限游戏迎来“终极”一战
我花上万学带货:3天赚3元,成交靠刷单
手机便签应用
"Analysis of 43 cases of MATLAB neural network": Chapter 40 research on prediction of dynamic neural network time series -- implementation of NARX based on MATLAB