Библиотека knigago >> Компьютеры: Разработка ПО >> Крэкинг и реверсинжиниринг >> Образ мышления – дизассемблер IDA Pro. Том I


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1444, книга: Сердечный доктор
автор: Леонид Израилевич Бененсон

"Сердечный доктор" Леонида Бененсона - это увлекательный и поучительный путеводитель по миру медицины, а именно кардиологии. Книга рассказывает истории врачей и пациентов, столкнувшихся с сердечно-сосудистыми заболеваниями. Бененсон, опытный врач-кардиолог, предоставляет читателям глубокое понимание сердца и его болезней. Он обсуждает последние достижения в лечении и профилактике, развенчивая мифы и проливая свет на сложные медицинские концепции. Помимо медицинских знаний, книга...

СЛУЧАЙНАЯ КНИГА

Крис Касперски - Образ мышления – дизассемблер IDA Pro. Том I

Образ мышления – дизассемблер IDA Pro. Том I
Книга - Образ мышления – дизассемблер IDA Pro. Том I.  Крис Касперски  - прочитать полностью в библиотеке КнигаГо
Название:
Образ мышления – дизассемблер IDA Pro. Том I
Крис Касперски

Жанр:

Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Крэкинг и реверсинжиниринг, Assembler

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Образ мышления – дизассемблер IDA Pro. Том I"

Подробный справочник по функциям встроенного языка, интерфейсу и архитектуре дизассемблера IDA Pro 4.01 с уточнением особенностей младших версий.

Показывает приемы эффективного использования IDA Pro для исследования зашифрованного кода, π-кода, самомодифицирующегося кода и кода, защищенного антиотладочными приемами.

Ориентирован на системных программистов средней и высокой квалификации в совершенстве владеющих языком ассемблера микропроцессоров серии Intel 80x86 и работающих с операционными системами фирмы Microsoft.

Читаем онлайн "Образ мышления – дизассемблер IDA Pro. Том I". [Страница - 109]

всевозможного преобразования форматов. Например, перевод символьной строки в двоичное (шестнадцатеричное) число и наоборот. Однако, поскольку IDA поддерживает аналог функции sprintf, то чаще всего пользуются одним единственным вызовом form. Это гораздо удобнее, чем хранить в голове имена множества функций.



char substr (char str, long x1,long x2);

Функция осуществляет взятие подстроки. IDA не поддерживает стандартную для Си конструкцию str[a], поэтому для любого посимвольного разбора строки приходится вызывать 'substr'
Функция принимает следующие операнды:

операнд
пояснение
x1
индекс начала подстроки
x2
индекс конца подстроки

если x2 == -1, то возвращается весь остаток строки целиком
Return
Пояснение
char
Подстрока

В версии 3.84 и более ранних, эта функция не имела никакого контроля над границами индексов, и если оказывалось, что x2 < x1, то Windows закрывала приложение IDA, как совершившее недопустимую операцию. Так же наблюдалась непредсказуемая работа приложения при выходе индексов за границы строки.
В версии 4.0 этот недостаток уже устранен. В случае x2 < x1 функция возвращает, пустую строку, а при нарушении границ доступа (начальный индекс за границами строки) хоть и выводит диалоговое окно, сообщающие о нарушении границ доступа, но не выходит из дизассемблера, позволяя продолжить работу.
(Правда при этом попытка исполнения любого скрипта заканчивается следующей ошибкой, вплоть до перезапуска IDA)



Если конечный индекс лежит за пределами строки, то IDA просто возвращает остаток строки и аварийной ситуации не возникает.
Пример использования этой функции для построения простейшего синтаксического анализатора:


auto a,temp,c;
a="key -Hello";
for (temp=0;temp> 4;
offset = ea – (ea >> 4).

Например:

Message(“%s \n”,
atoa(0x18)
);

1:00000008




char ltoa (long n,long radix);

Функция преобразовывает длинное целое в символьное с произвольной системой исчисления.
Функция принимает следующие операнды:

операнд
назначение

n

Задает операнд

==n
Операнд

0
первый слева операнд

1
Втрой, третий и остальные

-1
все операнды
radix
требуемая система исчисления.
ЗАМЕЧАНИЕ: В контекстной помощи IDA сообщается, что 'radix' может принимать значения 2, 8, 10, 16. Однако это стандартная Си-функция, и она может принимать и другие значения, например, 3 или 11. Точнее, все кроме 0 и 1, а так же не более 24, при которых, независимо от аргумента, функция возвращает пустую строку.

Return
==return
пояснения


!=””
Сегментный адрес в строковом представлении


==””
Ошибка



Пример:

auto a;
for (a=0;a --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.