当前位置:网站首页>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 .
边栏推荐
- Three stages of aho
- Logstash error: cannot reload pipeline, because the existing pipeline is not reloadable
- localtime居然不可重入,踩坑了
- 买卖其实也有风险
- 我花上万学带货:3天赚3元,成交靠刷单
- Redis explores cache consistency
- When Sqlalchemy deletes records with foreign key constraints, the foreign key constraints do not work. What is the solution?
- 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
- The difference between memcpy and strcpy
- Using burpsuite to capture app packages
猜你喜欢

VS Code 设置代码自动保存

【牛客刷题-SQL大厂面试真题】NO2.用户增长场景(某度信息流)
![leetcode:241. Design priority for operation expression [DFS + Eval]](/img/d0/8dedeba7ecedccd25e0e3e96ff3362.png)
leetcode:241. Design priority for operation expression [DFS + Eval]

数据库之MHA高可用集群部署及故障切换

不同的测试技术区分

How can genetic testing help patients fight disease?

Manage nodejs with NVM (downgrade the high version to the low version)

项目部署,一点也不难!

Vs code set code auto save

【开发大杀器】之Idea
随机推荐
Report on the "14th five year plan" and investment strategy recommendations for China's industrial robot industry 2022 ~ 2028
VM virtual machine configuration dynamic IP and static IP access
Update a piece of data from the database. Will CDC get two pieces of data with OP fields D and C at the same time? I remember before, only OP was U
软件测试中功能测试流程
c语言学习
软件测试中功能测试流程
Circular linked list--
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)
华为面试题: 招聘
网络socket的状态要怎么统计?
Vs code set code auto save
题目 1004: 母牛的故事(递推)
【牛客刷题-SQL大厂面试真题】NO2.用户增长场景(某度信息流)
6.30 simulation summary
下半年还有很多事要做
Flinkcdc should extract Oracle in real time. What should be configured for oracle?
Simple Fibonacci (recursive)
The popular major I chose became "Tiankeng" four years later
Function test process in software testing
Will it affect the original MySQL database to read the data of a MySQL table in full by flick MySQL CDC