Чтение
array of byte readData(int addr, *int size);
Чтение данных из памяти
-
addr:
-
Адрес данных, которые будут считываться
-
-
len:
-
Размер данных
-
Функция возвращает массив, содержащий прочитанные данные, или NULL в случае неудачи
readData(r.esp,4);
int readByte(int addr);
Чтение байта из памяти
-
addr:
-
Адрес данных, которые будут считываться.
-
-
len:
-
Размер данных.
-
Функция возвращает считанный байт, или NULL в случае неудачи
if(readByte(r.eip) == '\xCC') printf(r.eip,"debug trap...");
int readWord(int addr);
Чтение слова из памяти
-
addr:
-
Адрес данных, которые будут считываться.
-
-
len:
-
Размер данных.
-
Функция возвращает считанный байт, или NULL в случае неудачи
printf("%X",readWord(r.eip));
int readDword(int addr);
Чтение двойного слова из памяти
-
addr:
-
Адрес данных, которые будут считываться.
-
-
len:
-
Размер данных.
-
Функция возвращает считанный байт, или NULL в случае неудачи
printf("%X",readDword(r.eip));
string readString(int addr);
чтение строки из памяти(под строкой подразумевается, массив символов заканчивающийся нулём (C-string)
-
addr:
-
Адрес данных, которые будут считываться.
-
-
len:
-
Размер данных.
-
Функция возвращает считанную строку, или NULL в случае неудачи.
readString(r.esp);
string readUString(int addr);
Чтение UNICODE строки из памяти(под строкой подразумевается, массив символов заканчивающийся сдвоенным нулём
-
addr:
-
Адрес данных, которые будут считываться.
-
-
len:
-
Размер данных.
-
Функция возвращает считанную строку, или NULL в случае неудачи
readString(r.esp);