Как говорится в названии, как это будет сделано? Если я добавлю один байт в начале кода операции, он будет выталкивать адреса в памяти с одним байтом. если вы не понимаете вопрос:Добавление байтов в PE без влияния на выполнение
оригинал:
0x1 mov ecx, 10
0x2 mov eax, 1
0x3 inc eac
0x4 cmp eax
0x5 jl 0x3
Добавлено байт:
0x1 NOP
0x2 mov ecx, 10
0x3 mov eax, 1
0x4 inc eac
0x5 cmp eax
0x6 jl 0x3
бы я вручную установить каждый JMP, звонить и т.д., или есть какие-либо другие способы сделать Это?
Вам необходимо вручную проверить каждый адрес памяти, используемый в программе, чтобы узнать, нужно ли его настраивать. В нетривиальной программе это нецелесообразно, так как адреса, которые вам нужно исправить, могут быть где угодно. Также обратите внимание, что большинство перечисленных вами инструкций имеют длину более 1 байта. –
Хм, это может быть не точный дубликат. Дуп-цель, которую я выбрал, - это один конкретный метод добавления нового кода (поместить его в новый раздел и заменить некоторые существующие insns на jmp), но ответ Jean-François указывает на другие методы. –