Skip to content

Commit 4e72dbb

Browse files
author
FusixGit
committed
Merge pull request FusixGit#1 from binarymaster/patch-1
Help with markdown and translation
2 parents ac86bd5 + 1d75d4a commit 4e72dbb

File tree

1 file changed

+39
-10
lines changed

1 file changed

+39
-10
lines changed

readme.md

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,58 @@
11
MemoryModule
22
============
33

4-
Функции, которые используются для загрузки модулей (LoadLibrary, LoadLibraryEx) не поддерживают загрузку модулей из памяти.
5-
Данный модуль реализует данную функцию.
4+
The Windows API functions such as `LoadLibrary` and `LoadLibraryEx` doesn't allow to load modules from memory.
5+
This project implements it.
66

7-
Основа была взята с репозитария: https://github.com/fancycode/MemoryModule
7+
The base project is located at: https://github.com/fancycode/MemoryModule
8+
9+
Currently there are changes in progress which would allow to start EXE files from memory.
10+
11+
Change log:
12+
---
13+
**15.02.16** - Implemented command line arguments support before `EntryPoint` execution.
14+
The thread running inside MemoryModule is marked with custom `ProcessParameters` from `_PEB`.
15+
Hooks were implemented (using import method) to isolate important functions from the main process.
16+
!The module cannot be seen in the process module list!
17+
18+
**16.02.16** - Some TLS fixes.
19+
20+
**19.02.16** - `TryFreeMem` function was introduced along with `bForceMemFree` flag to force free memory which is already allocated.
21+
!Use this only if you don't need the functionality of the main process, because of possible errors!
22+
23+
Issues:
24+
---
25+
1. When the `.reloc` table is missing and is impossible to allocate memory at `ImageBase` the module cannot be started.
26+
27+
28+
-------
29+
По-русски:
30+
---
31+
Функции, которые используются для загрузки модулей (`LoadLibrary`, `LoadLibraryEx`) не поддерживают загрузку модулей из памяти.
32+
Данный модуль реализует эту функцию.
33+
34+
Основа была взята с репозитория: https://github.com/fancycode/MemoryModule
835

936
Вносятся правки которые позволяют полноценно запускать EXE из памяти.
1037

1138
История:
12-
13-
15.02.16 - Реализована возможность указания командной строки перед запуском EntryPoint.
14-
Поток, исполняющийся внутри MemoryModule маркируется изменением значения ProcessParameters в _PEB.
39+
---
40+
**15.02.16** - Реализована возможность указания командной строки перед запуском `EntryPoint`.
41+
Поток, исполняющийся внутри MemoryModule маркируется изменением значения `ProcessParameters` в `_PEB`.
1542
Производится перехват (методом импорта) некоторых важных функций для изоляции от основного процесса.
1643
!Модуль не учитывается в списке модулей процесса!
1744

18-
16.02.16 - Некоторые фиксы в TLS.
45+
**16.02.16** - Некоторые фиксы в TLS.
1946

20-
19.02.16 - Введена функция TryFreeMem и флаг bForceMemFree для "насильного" освобождения памяти в случае её занятости.
47+
**19.02.16** - Введена функция `TryFreeMem` и флаг `bForceMemFree` для "насильного" освобождения памяти в случае её занятости.
2148
!Использовать, только если основной процесс больше не будет использоваться, иначе могут быть ошибки!
2249

2350
Проблемы:
24-
1. При отсутствии таблицы .reloc и невозможности выделить нужную память по ImageBase запуск модуля становится невозможным.
51+
---
52+
1. При отсутствии таблицы `.reloc` и невозможности выделить нужную память по `ImageBase` запуск модуля становится невозможным.
2553

26-
Пример запуска:
54+
Usage sample / Пример запуска:
55+
---
2756
```cpp
2857
wchar_t ModuleName[64+1];
2958
memset(ModuleName, 0x00, (64+1)*2);

0 commit comments

Comments
 (0)