Анимация
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

разрушает всю цепочку элементов кода. При необходимости разрушения одного элемента, его следует предварительно выделить курсорными клавишами, удерживая нажатым <Shift> или мышью, удерживая нажатой левую кнопку.

long FindCode(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea элемент кода, возвращая в случае успешного завершения поиска адрес его головы. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска - если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот. Пример использования:

seg000:0100 seg000:0103 a) исходные данные

mov ax, 9

mov dx, 133h

требуется получить линейный первого элемента кода

Message(">%s\n",atoa(FindCode(0,1)));

b) вызов функции FindCode - адрес начала поиска равен нулю, единичное значение флага направление указывает вести поиск с увеличением адресов

>seg000:0100

результат - линейный первого элемента кода ??? #Верстальщику - change table

аргумент

пояснения

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

прямое направление поиска

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес элемента кода

==BADADDR

ошибка

Родственные функции: FindData, FindExplored, FindUnexplored Интерактивный аналог:"~Nabigate\Search for\Next Code"; <Ctrl-C>

long FindData(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea элемент кода, возвращая в случае успешного завершения поиска адрес его головы. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска - если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот. Пример использования:



mov mov int

retn

seg000:0000 mov ah, 9

seg000:0002 mov dx, 108h

seg000:0005 int 21h

seg000:0005 seg000:0007

seg000:0007 ; -

seg000:0008 aHellolda db Hello, IDA

a) исходные данные - требуется получить линейный последнего элемента данных

Message(">%s\n",atoa(FindData(BADADDR,0)));

b) вызов функции FindData

>seg000:0108

результат - линейный адрес последнего элемента данных ??? #Верстальщику - change table

аргумент

пояснения

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

прямое направление поиска

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес элемента данных

==BADADDR

ошибка

Родственные функции: FindCode, FindExplored, FindUnexplored Интерактивный аналог:"~Nabigate\Search for\Next Data"; <Ctrl-D>

long FindExplored(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea элемент кода или данных, возвращая в случае успешного завершения поиска адрес его головы. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска - если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот. Пример использования:

seg000:0100 seg000:0101 a) исходные данные

DB 99h ; Щ

DW 666h

требуется получить линейный первого элемента кода или

данных

Message(">%s\n",atoa(FindExplored(0,1)));

b) вызов функции FindExplored - адрес начала поиска равен нулю, единичное значение флага направление указывает вести поиск с увеличением адресов

>seg000:0101

результат - линейный первого элемента



??? #Верстальщику - change table

аргумент

пояснения

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

прямое направление поиска

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес элемента любого вида

==BADADDR

ошибка

Родственные функции: FindCode, FindData, FindUnexplored Интерактивный аналог:"~Nabigate\Search for\Next explored"; <Ctrl-A>

long FindUnexplored(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea бестиповой байт, возвращая в случае успешного завершения поиска его адрес. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска - если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот.

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

seg000:0100 DW 666h

seg000:0102 DB 99h ; Щ

a) исходные данные - требуется получить линейный первого бестипового байта

Message(">%s\n",atoa(FindUnexplored(0,1)));

b) вызов функции FindUnexplored - адрес начала поиска равен нулю, единичное значение флага направление указывает вести поиск с увеличением адресов

>seg000:0102

результат - линейный первого бестипового байта ??? #Верстальщику - change table

аргумент

пояснения

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

прямое направление поиска

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес бестипового байта

==BADADDR

ошибка

Родственные функции: FindCode, FindData, FindExplored Интерактивный аналог:"~Nabigate\Search for\Next Unexplored"; <Ctrl-U>



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