Трассировка

void stepInto();

void stepInto(bool passException);

Исполнение одной команды с заходом в подпрограммы(Выполнение F7 в Olly)

Параметры
  • passException:

    • Пропуск исключения (SHIFT+F7)

Пример
stepInto();

void stepOver();

void stepOver(bool passException);

Исполнение одной команды с заходом в подпрограммы(Выполнение F7 в Olly)

Параметры
  • passException:

    • Пропуск исключения (SHIFT+F8)

Пример
stepOver();

void run();

void run(bool passException);

Исполнение программы (Выполнение F9 в Olly)

Параметры
  • passException:

    • Пропуск исключения (SHIFT+F9)

Пример
run();

void runTR();

Исполнение подпрограммы до первого RET`а (Выполнение Ctrl+F9 в Olly)

Пример
run();

void pause();

Остановка приложения (Выполнение F12 в Olly)

Пример
run();

int executeCode(int addr, int param);

Исполнение кода по адресу, в новом потоке

Параметры
  • addr:

    • Адрес, c которого начнется исполнение кода

  • param:

    • Параметр передаваемый коду (к нему можно получить доступ так: mov eax,[esp+4])

Возвращаемое значение

Функция возвращает значение регистра eax на момент окончания исполнения кода.

Пример
local test = malloc(1024);
local t2 = test;
printf(test,"memory addr...");
test += asmCmd(test,"push 0");
test += asmCmd(test,"call user32.MessageBeep");
test += asmCmd(test,"retn 4");

local retVal = executeCode(t2,0);
printf("code executing result: 0x%0X",retVal);