Skip to content

Commit e5e8b86

Browse files
authored
Create README.md
1 parent ba57df0 commit e5e8b86

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# InjectProc
2+
3+
Process injection is a very popular method to hide malicious behavior of code and are heavily used by malware authors.
4+
5+
There are several techniques, which are commonly used:
6+
DLL injection, process replacement (a.k.a process hollowing), hook injection and APC injection.
7+
8+
Most of them use same Windows API functions:
9+
OpenProcess, VirtualAllocEx, WriteProcessMemory, for detailed information about those functions, use MSDN.
10+
11+
## DLL injection:
12+
* Open target process.
13+
* Allocate space.
14+
* Write code into the remote process.
15+
* Execute the remote code.
16+
17+
## Process replacement:
18+
* Create target process and suspend it.
19+
* Unmap from memory.
20+
* Allocate space.
21+
* Write headers and sections into the remote process.
22+
* Resume remote thread.
23+
24+
## Hook injection:
25+
* Find/Create process.
26+
* Set hook
27+
28+
## APC injection:
29+
* Open process.
30+
* Allocate space.
31+
* Write code into remote threads.
32+
* "Execute" threads using QueueUserAPC.
33+
34+
35+
# Warning
36+
I create this project for me to better understand how process injection works and
37+
I think it will be helpful for many beginner malware analysts too.

0 commit comments

Comments
 (0)