Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Команды процессора длиной 15 байт - просто интересно.
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 43.8 (посетитель), 16thx
Активность: 0.020.06
Статус: Участник

Создано: 22 ноября 2010 03:55
· Личное сообщение · #1

При чтении всяческой литературы по ассемблеру постоянно попадается фраза, мол опкод может занимать до 15-ти байт памяти.
Интересно было бы посмотреть на эту монструозную команду длиной 15 байт (или команды - скорее всего их несколько).
Ну а для практики можно будет скормить эту команду всяким ассемблерам (fasm masm nasm и т.д.), вдруг какой-нибудь спотыкаться начнёт )



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 09 февраля 2011 13:49 · Поправил: cppasm
· Личное сообщение · #2

Code:
  1. 33D2                           xor         edx,edx
  2. 8D4114                         lea         eax,[ecx+014h]
  3. 42                             inc         edx
  4. F00FC110                       lock xadd   [eax],edx


| Сообщение посчитали полезным: Isaev

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 09 февраля 2011 13:49
· Личное сообщение · #3

Isaev пишет:
А что это такое, олька кажет чушь, а выполняется нормально:

Выдели этот код Analysis->During next analysis, trear selection as->Command

| Сообщение посчитали полезным: Isaev


Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 09 февраля 2011 14:27
· Личное сообщение · #4

Vovan666 пишет:
Выдели этот код Analysis->During next analysis, trear selection as->Command

Во второй Ольге такого нет и чтобы добитсья результата приходится на время удалять анализ.

-----
IZ.RU





Ранг: 95.2 (постоянный), 26thx
Активность: 0.060
Статус: Участник

Создано: 09 февраля 2011 16:06
· Личное сообщение · #5

long nop, интересно, а есть где вообще документ по недокументированным коммандам x86/64 ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 февраля 2011 16:38
· Личное сообщение · #6

В некоторых таблицах опкодов андок инструкции вполне себе есть и даже отдельно выделены, типа http://ref.x86asm.net



Ранг: -0.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 февраля 2011 15:35
· Личное сообщение · #7

А как их вобще ищут, эти недокументированные команды? Может перебором? Никто не пытался найти андоки поинтереснее нопов?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 12 февраля 2011 15:39
· Личное сообщение · #8

И перебором тоже ищут. Сдаётся мне, все андок инструкции уже давно нашли. Благо, брутить несколько байтов недолго. Разве что какие-нить хитрые бекдоры с магик значениями остались.
А вообще в соседнем топике верно пишут https://ssl.cracklab.ru/f/action=vthread&forum=6&topic=17702&page=0#19 Часто на глаза попадаешь.



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 12 февраля 2011 16:08
· Личное сообщение · #9

Большинство так называемых недокументированный команд есть в мануалах, просто они перманентно то появляются, то исчезают от версии к версии.
Искать надо не только в последней версии мануала, и всё найдётся.
Такие вещи как SALC и Long NOPs точно в мануалах есть.



Ранг: 0.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 21 октября 2011 00:00 · Поправил: thoufrou
· Личное сообщение · #10

kannabis
Пробовали. Известно что вначале любая инструкция декодируется, только потом отправляется на исполнение. Поэтому для некоторых инвалидных инструкций(#UD) вычисляется длина по стандартным принципам, например раскодировка ModR/M или обработка префиксов. Например:
0F FF 80 XX XX XX XX
80 - Mod:10, R/M: 000; [Eax + Disp32]
Этой инструкции нет в таблице опкодов. Но она раскодируется, следовательно её обработка замаскирована для генерации #UD.
Это говорит о том, что таблицы опкодов заполнены, но некоторые инструкции намеренно заблокированы, либо включаются в особом режиме или в специальной последовательности(например серия с cpuid). Возможно это определяет именно микрокод, который можно апдейтить, но к сожалению он привад и даже не понятно чем шифрован



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 21 октября 2011 01:23
· Личное сообщение · #11

12 байт без лишних префиксов:
PCLMULLQLQDQ xmm0, [fs:edx+ecx*4+12345678h]
64 66 0F 3A 44 84 8A 78 56 34 12 00

-----
PGP key <0x1B6A24550F33E44A>


| Сообщение посчитали полезным: Jupiter, Alchemistry

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 21 октября 2011 15:44
· Личное сообщение · #12

thoufrou ты решил набить рейтинг некро ответами? ты на даты последних ответов смотри

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....



<< . 1 . 2 .
 eXeL@B —› Программирование —› Команды процессора длиной 15 байт - просто интересно.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати