Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Номер 39 соответствует системному вызову sys_mkdir.

Переменные и их назначение:

int kmem;

ulong get_kmalloc_size; – размер функции get_kmalloc

ulong get_kmalloc_addr; – адрес функции get_kmalloc

ulong new_mkdir_size; – размер функции-перехватчика

ulong new_mkdir_addr; – адрес функции-перехватчика вызова sys_mkdir

ulong sys_mkdir_addr; – адрес системного вызова sys_mkdir

ulong page_offset; – нижняя граница адресного пространства ядра

ulong sct; – адрес таблицы sys_call_table

ulong kma; – адрес функции kmalloc

unsigned char tmp[1024];

Значения адресов функций get_kmalloc и new_mkdir_call и их размеры нам предстоит определить. Пока что оставим эти поля пустыми.

struct  kma_struc {

        ulong   (*kmalloc) (uint, int);

        int     size;

        int     flags;

        ulong   mem;

} __attribute__ ((packed)) kmalloc;

 

int get_kmalloc(struct kma_struc *k)

{

        k->mem = k->kmalloc(k->size, k->flags);

        return 0;

}

Структура struct kma_struc и функция get_kmalloc и их назначение уже были рассмотрены.

int new_mkdir(const char *path)

{

    return 0;

}

Функция new_mkdir перехватывает системный вызов sys_mkdir. Она ничего не делает, просто возвращает нулевое значение.

Определим несколько функций для работы с файлом устройства /dev/kmem.

Функция чтения данных из kmem:

static inline int rkm(int fd, uint offset, void *buf, uint size)

{

        if (lseek(fd, offset, 0) != offset) return 0;


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100