Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 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


Message понимает стандартные спецификаторы формата вывода Си и ближе всего близка к функции printf (смотри так же описание form).

Сф пояснение

десятичное длинное знаковое целое Пример:

Message("%d",0xF); 15

шестнадцатеричное длинное целое строчечными символами Пример:

Message("%x",10); a

шестнадцатеричное длинное целое заглавными символами Пример:

Message("%X",10); A

восьмеричное длинное знаковое целое Пример:

Message("%o",11); 13

десятичное длинное беззнаковое целое Пример:

Message("%u",-1);



4294967295

десятичное с плавающей точной Пример:

Message("%f", 1000000); 1.e6

символьное значение Пример:

Message("%c",33);

строковое значение Пример:

Message("%s","Hello, Word! \n"); Hello, Word!

вывод чисел в экспоненциальной форме Пример:

Пример:

Message("%e", 1000000); 1.e6

вывод чисел в экспоненциальной форме

ЗАМЕЧАНИЕ: В оригинале спецификатор %а заставляет функцию саму решать, в какой форме выводить число - с десятичной точкой или в экспоненциальной форме, из соображений здравомыслия и удобочитаемости. IDA всегда при задании этого спецификатора представляет числа в экспоненциальной форме.

вывод указателя (не поддерживается)

ЗАМЕЧАНИЕ: вместо спецификатора %p IDA использует %a, преобразующее линейный адрес в строковой сегментный, и автоматически подставляет имя сегмента.

Так, например, Message("%a \n",0x10002) выдаст seg000:2. Обратите внимание, что таким способом нельзя узнать адрес переменной.

Пример:

auto a; a="Heno!\n"; Message("%a \n",a); 0

Возвращается ноль, а не указатель на переменную.

вывод десятичного целого всегда со знаком, не опуская плюс.

в оригинале - вывод шестнадцатеричного целого всегда со знаком, но ida воспринимает эту конструкцию точно так же как и x.

n длина выводимого десятичного числа, при необходимости дополняемая слева пробелами. Например:

Message("Число-%3d \n",1); Число- 1

Если выводимое число не укладывается в n позиций, то оно выводится целиком.

Например:

Message("Число-%3d \n",10000);

Число-10000

n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева пробелами. Например:

Message("Число-%3x \n",1); Число- 1



Если выводимое число не укладывается в n позиций, то оно выводится целиком.

Напрмер:

Message("Число-%3x \n",0x1234); Число-1234

n длина выводимого десятичного числа, при необходимости дополняемая слева незначащими нулями. Пример:

Message("Число-%03d",1);

Число-001

Если выводимое число не укладывается в n позиций, то оно выводится целиком.

Пример

Message("Число-%03d",1000) Число-1000

%0nx

n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева незначащими нулями. Пример:

Message("Число-%03x",0x1);

Число-001

Если выводимое число не укладывается в n позиций, то оно выводится целиком.

Пример:

Ме55аде("Число-%03х",0х1234); Число-1234

Вывод префикса 0x перед шестрадцатиричными числами Пример:

Message("%#x",123); 0x123

Вывод префикса 0 перед восьмеричными числами Пример:

Message("%#o",1);

%n Количество выведенных символов (не поддерживается)

void Warning (char format,...);

Функция выводит диалоговое окно, предупреждающие об аварийной ситуации. Обратите на тип возращаемого значения void. То есть функция не предоставляет информации , о том какая клавиша была нажата.

<OK> или <ESC> просто возвращают управление скрипту; <Abort> приводит к аварийному выходу из IDA (правда перед этим у пользователя будет запрошено подтверждение). А <SILENT> включает «тихий» режим, в котором подобные окна не отображаются.

Warning ("Hello!");



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 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