Это мой код на С++:
#include <conio.h>
#include <iostream>
using namespace std;
void func1()
{
static int _count = 0;
if (_count < 5)
{
__asm
{
pop eax
push func1
}
}
_count++;
cout << _count << endl;
}
int main()
{
func1();
cout << "ok" << endl;
return 0;
}
Теперь мне нужно удалить встроенный asm.
Он загружен в Ollydbg, и это позиция встроенного asm:
Я заполню две инструкции, отмеченные на изображении NOP. В порядке. Я знаю, как это сделать. Затем я сохранил его с новым именем.
Но когда я загрузил отредактированную программу в Ollydbg. В места, которые я редактировал, была добавлена новая инструкция.
И новая инструкция приводит к краху программы.
Хорошо, если мой вопрос достаточно ясен, мне нужно знать: как эта инструкция была добавлена автоматически? И как мне это исправить?
Спасибо.
ОБНОВЛЕНИЕ 1: Вот как я модифицировал программу
Но.. я не знаю, почему?