Анимация
JavaScript
|
Главная Библионтека Таблица 17 перечень символов, допустимых в именах меток Если по указанному адресу расположена уже существующая метка, в результате работы функции она будет переименована. Удалить метку можно, переименовав ее, в пустую строку. Удаление возможно только в том случае, если во всем дизассемблируемом тексте на данную метку нет ни одной ссылки, в противном случае IDA Pro тут же создаст новое автогенерирумое (dummy) имя. Замечание: "MakeName" помимо переименования меток, так же изменяет имена функций, если ей передать адрес начала функции (см. главу «Функции») Пример использования: seg000:0000 mov ah, 9 a) исходные данные - требуется создать метку с именем "NoName" по адресу seg000:000 MakeName(SegByName("seg000"),"NoName"); b) вызов функции MakeName для создания метки seg000:0000 NoName mov c) результат - метка успешно создана ??? #Верстальщику - change table ah, 9
Родственные функции: GetTrueName Интерактивный аналог: "~Edit\Name" <N> success MakeComm(long ea,char comment) Функция создает комментарий comment, размещая его справа от элемента, расположенного по линейному адресу ea. Переданный линейный адрес должен быть либо адресом головы элемента любого вида, либо адресом бестипового байта; в противном случае функция возвратит ошибку. Комментарий автоматически отделяется от элемента символом «точка с запятой» и в самой строке комментария его указывать не нужно. Величина отступа задается настойками IDA (см. главу «Глобальные настойки»). Строка комментария может содержать как символы латиницы, так и символы кириллицы, однако, нормальное отображение кириллицы возможно только в той ипостаси IDA, в которой они были созданы. Удалить комментарий можно задав в качестве нового пустую строку. Удаляются в том числе, и некоторые комментарии, автоматически создаваемые IDA. Функция поддерживает спецификатор переноса строки \n, автоматически создавая новую строку и перенося на нее хвост комментария. Пример использования: seg000:0000 mov ah, 9 a) исходные данные - требуется вставить комментарий MakeComm(0x1275C,"Функция 0x9 - печать строки"); b) вызов функции MakeComm для вставки комментария seg000:0000 ; Функция 0x9 печать строки c) результат - вставленный комментарий ??? #Верстальщику - change table
Родственные функции: MakeRptCmt, ExrLinA, ExtLinB Интерактивный аналог: "~Edit\Comments\Enter comment"; <:> success MakeRptCmt(long ea,char comment) Функция создает повторяемый комментарий comment, размещая его справа от элемента, расположенного по линейному адресу ea. Переданный линейный адрес должен быть либо адресом головы элемента любого вида, либо адресом бестипового байта; в противном случае функция возвратит ошибку. Комментарий автоматически отделяется от элемента символом «точка с запятой» и в самой строке комментария его указывать не нужно. Величина отступа задается настойками IDA (см. главу «Глобальные настойки»). Строка комментария может содержать как символы латиницы, так и символы кириллицы, однако, нормальное отображение кириллицы возможно только в той ипостаси IDA, в которой они были созданы. Удалить комментарий можно задав в качестве нового пустую строку. Функция поддерживает спецификатор переноса строки \n, автоматически создавая новую строку и перенося на нее хвост комментария. Отличие повторяемого комментария от постоянное заключается в том, что повторяемый комментарий автоматически отображается около всех элементов, ссылающихся на элемент, помеченный повторяемым комментарием. Замечание: повторяемый комментарий может оказаться очень полезным на начальной стадии анализа программы, когда осмысленные имена переменным и функциям дать еще затруднительно, но какие-то мысли по поводу их назначения уже имеются, которые и можно высказать в комментарии, автоматически повторяемом возле всех ссылок на эту переменную (функцию), облегчая тем самым исследование кода. Пример использования: seg000:0100 mov ah, 9 seg000:0102 s000:0105 s000:0107 s000:0107 int retn dx, offset aHello 21h ; db Hello,,0 DATA XREF: seg000:0102 to seg000:0108 aHello seg000:0108 ; a) исходные данные - требуется вставить комментарий к метке aHello, автоматически повторяемый возле всех инструкций, ссылающихся на эту метку. MakeRptCmt(SegByName("seg000")+0x108,"3TO повторяемый комментарий"); b) вызов функции MakeRptCmt для создания повторяемого комментария seg000:0100 seg000:0102 seg000:0105 seg000:0105 seg000:0107 seg000:0107 seg000:0108 seg000:0108 mov ah, 9 mov dx, offset aHello ; Это повторяемым гамменпарий int 21h ; DOS - PRINT STRING ; DS:DX -> string terminated by "$" aHello db Hello,,0 DATA XREF: seg000:0102t o Это повторяемьй коммеар с) результат - повторяемый комментарий создан - теперь он будет отображаться возле всех элементов, ссылающихся на метку aHello (обратите внимание на текст, выделенный в листинге жирным шрифтом) ??? #Верстальщику - change table
Родственные функции: MakeComm, ExrLinA, ExtLinB Интерактивный аналог: "Edit\Comments\Enter repeatable comment"; <; void ExtLinA(long ea,long n,char line) Функция создает строку (или несколько строк) комментариев, отображаемых перед элементом (бестиповым байтом), расположенном по переданному функции линейному адресу ea. Комментарий располагается сначала строки и не предваряется символом «точка с запятой», поэтому, его необходимо указать самостоятельно. Аргумент n задает номер строки комментария и может принимать значения от 0 до 500 включительно. IDA отображает комментарии начиная с нулевой до первой пустой строки. Т. е. если созадть нулевую, первую и третью строки комментария, IDA отобразит лишь первые две из них. Строка комментария может содержать как символы латиницы, так и символы кириллицы, однако, нормальное отображение кириллицы возможно только в той ипостаси IDA, в которой они были созданы. Для удаления всех строк комментария достаточно присвоить нулевой строке пустое значение - остальные строки хотя физически и останутся в базе, на экране отображаться не будут.. 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 |