Я сейчас пытаюсь запустить исполняемый файл в памяти.Потому что очень вероятно, что кто-то спросит позже: да, он будет использоваться для вредоносного программного обеспечения, чтобы скрыть его от AV.Это только для образовательных целей, в частности для школьного проекта (будет частью моего выпуска).Однако вопрос касается чего-то другого.Я нашел действительно хороший источник на Github: https://github.com/aaaddress1/RunPE-In-Memory,, который отлично подходит для моих целей (я уже изменил его для своих целей и т. Д.), За исключением трояна, которого я хочу запустить.Я попробовал это с несколькими, например, Darkcomet или Darktrack (Это должно быть что-то старое, что уже хорошо известно, чтобы продемонстрировать, как вы можете использовать их повторно).Я думал, что поскольку Darkcomet закодирован в Delphi (который выводит нативный?), Он будет работать как любой другой EXE-файл (как те, что представлены в Github), но он просто не запускается.В Darkcomet также есть опция, позволяющая сделать файл вредоносного сервера заметным, так что это безопасно, чтобы я не провалился ни при одной переадресации портов.
Моим первым намерением было открыть EXE-файл в текстовом редакторе и посмотреть, есть ли у него такая же архитектура.Я могу найти " PE L " в обоих двоичных файлах, так что, насколько я знаю, они оба 32-битные.Что мне показалось странным, так это две строки
" Эта программа не может быть запущена в режиме DOS. " для скомпилированного загрузчика runPE и
"Эта программа должна быть запущена под Win32"для исполняемого файла троянца.
Кроме того, два двоичных файла различаются по первым символам: MZ и MZP .Открыв больше двоичных файлов и протестировав их, я пришел к выводу, что программы с «Эта программа должна работать под Win32» не работают.
Насколько я знаю и также гуглил, есть исполняемые файлы DOS и Windows.Но если есть только эти два типа, почему есть разница?« должен быть запущен под Win32 » == « не может быть запущен в режиме DOS. », по моему мнению.
Я также посмотрел эти два термина, но яПолучайте только Темы о людях, которые пытаются запустить эти Windows-PE в DOSBox или в подобных вещах.
Итак, мои настоящие два вопроса:
-В чем разница междуПрограмма должна быть запущена под Win32 "(Type1) и" Эта программа не может быть запущена в режиме DOS. "(Type2)
- Почему это не работает, если я хочу нажать (Введите Type1) в память с помощью исполняемого файла RunPe-InMemory (Type2), который я сделал из репозитория Github.