Код для инъекций в exe


1

Я не знаю, стоит ли задавать этот вопрос. Мне нужны некоторые ориентиры на эту тему, потому что я не знаю, как искать свою проблему в Интернете.

Я хочу создать исполняемый файл, который может вставлять код в целевой (другой) исполняемый файл и запускать эту цель. О чем я говорю - не a исправлено exe. Я хочу, чтобы exe вводил код и запускал программу.

Возможно ли создать такие исполняемые файлы ..? Если да, можете ли вы рассказать мне некоторые руководящие материалы ..?

ps: при поиске около injection, я получаю только около dll инъекции, и это не я хочу.

спасибо!

  0

Поиск ввода кода ... Вы получите десятки статей и исходный код 19 дек. 172017-12-19 13:30:45

  0

Ввод кода происходит во время выполнения, а не раньше. Изменение бинарного файла перед его выполнением = patching, о котором вы сказали, что вас это не интересует. «Я хочу, чтобы exe вводил код и запускал программу» - это не имеет смысла. 19 дек. 172017-12-19 15:42:45

  0

@SYS_V Возможно, я неправильно использую слова. Но если вы получите эту идею, я просто хочу сделать «exe» (программа 1) для запуска другого «exe» (программа 2) с введенным мной кодом. Поэтому, если я удалю 'program 2' и запустим' program 1', он не будет работать должным образом. 19 дек. 172017-12-19 19:11:26

+1

Нет, я не понимаю. Вы понимаете концептуально, как работает инъекция кода и что это значит? Может быть, вы должны объяснить, почему вы пытаетесь это сделать. 19 дек. 172017-12-19 19:47:57

  0

@SYS_V у нас есть два типа исправления ... в памяти во время выполнения и самого файла перед исполнением. Вы должны четко указать, что вы подразумеваете под исполнением, 1. выполнение файла или 2. выполнение этой конкретной инструкции. 20 дек. 172017-12-20 09:04:37

  0

@SYS_V Если вы играли в игры, такие как fallout или skyrim, для этих игр есть мода, называемая расширителем скриптов (Ian Patterson). Если вы хотите включить модем, вам нужно запустить их exe', и если вы запустите исходный exe, игра будет работать без мода (расширение скрипта exe' составляет несколько килобайт). Я хочу, чтобы эта функциональность была реализована. 20 дек. 172017-12-20 09:59:27

5

Start here --specifically, третий метод: "The CreateRemoteThread & WriteProcessMemory Техника". Цитируйте:

Другой способ скопировать некоторый код в адресное пространство другого процесса, а затем выполнить его в контексте этого процесса, включает использование удаленных потоков и API WriteProcessMemory. Вместо написания отдельной DLL, вы копируете код в удаленный процесс прямо сейчас - через WriteProcessMemory - и начинаете его выполнение с CreateRemoteThread.

Вы также можете использовать WriteProcessMemory function писать байты непосредственно, будь то перезапись байтов непосредственно или code-caving. Однако нужно иметь в виду нюансы, чтобы убедиться, что права на запись, которую вы пишете, установлены правильно (чтение/запись/выполнение), ala Virtual* functions.

+1

Это было полезно, спасибо! И я смотрел на ваш канал YouTube. Это хорошо. 20 дек. 172017-12-20 09:14:13