Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата:
Так что
Цитата:
Array DB 2,9,3,8,4,7,6,5,0,1
ArrayLen = $-Array
ещё по используем. А какой аналог для слов?
...сейчас проверял -- размер в таком варианте высчитывается как для байтов.Т.е. при словах:
Код: Выделить весь код
Array DW 2,9,3,8,4,7,6,5,0,1
ArrayLen = $-Array
...ArrayLen будет равен 14h(двадцать) байт,а не 0Ah(десять).Можно конечно в коде поизвращаться,например:
Код: Выделить весь код
cld
lea   esi, Array
mov ecx, ArrayLen
shr   ecx, 1       ;    делим содержимое ECX на два
Насчёт быстродействия и размера кода я как-то сильно сомневаюсь,что ты заметишь что-либо,или даже что эта разница вообще присутствует.По-любому,работая в win32,тебе придётся использовать массивы,состоящие из двойных слов(DWORD),например массив адресов чего-либо.
Цитата:
есть так называемый Шелл-код
...ладно насчёт шеллкода я тут походу переборщил,но чисто для справки:
Шелл-код(shellcode) -- это эксплойт,вредоносный байт-код,который внедряется в тело чужой программы с целью получения контроля над ней.Одной из распространнёных ошибок,использующихся для внедрения шеллкода,является переполнение буфера.
Цитата:
Для данных алгоритмов необходимо писать свою шапку инициализации массива?
...ну,да.Тут дан только код с комментариями,что в регистрах SI и DI находятся указатели на массивы.Тебе нужно организовать какую-то память под эти массивы.Будь то твоя секция данных или ещё что-то в этом роде.А то иначе приложение запросто упадёт с ошибкой доступа.
Цитата:
И что за новенькое DS:DI (ES:SI)
...у Юрова написано следующее:
Цитата В.И.Юров:
Цепочка-источник,адресуемая операндом source,может находится в текущем сегменте данных,определяемом регистром DS. Цепочка-приёмник,адресуемая операндом destination,должна быть в дополнительном сегменте данных,алресуемым сегментным регистром ES.
В общем,не забивай голову.Надо лишь точно знать какие регистры(ESI, EDI, EAX)используются в конкретных цепочечных командах,а для этого надо просто почитать какой-нибудь справочник по ассемблеру.

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Отправлено: 21:23, 07-12-2006 | #27