писателям дизассемблеров (таблица всех комманд во всех вариантах)

Тема в разделе "WASM.ASSEMBLER", создана пользователем doctor_Ice, 16 окт 2006.

  1. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    собственно таблица всех команд во всех валидных вариациях 32бит режим (если нужно выложу для 16бит). в вариация я не задействовал префиксы ибо размер таблицы тогда будет просто огромный но если кому нужно мона сделать и с префиксами (тоесть префиксы есть только там где они выбирают команду).
    вот на что похоже содержимое если смотреть под идой (ида расознает далеко не все опкоды). если найдете в таблице не валидный опкод или не найдете какой либо из опкодов просьба пишите об этом в топик.

    таблица не содержит команд 3DNOW! и SSE4.

    Код (Text):
    1. ...
    2. seg000:0022B7D4                 lar     eax, edi
    3. seg000:0022B7D7                 lar     ecx, edi
    4. seg000:0022B7DA                 lar     edx, edi
    5. seg000:0022B7DD                 lar     ebx, edi
    6. seg000:0022B7E0                 lar     esp, edi
    7. seg000:0022B7E3                 lar     ebp, edi
    8. seg000:0022B7E6                 lar     esi, edi
    9. seg000:0022B7E9                 lar     edi, edi
    10. seg000:0022B7EC                 lsl     eax, [eax]
    11. seg000:0022B7EF                 lsl     ecx, [eax]
    12. seg000:0022B7F2                 lsl     edx, [eax]
    13. seg000:0022B7F5                 lsl     ebx, [eax]
    14. seg000:0022B7F8                 lsl     esp, [eax]
    15. seg000:0022B7FB                 lsl     ebp, [eax]
    16. seg000:0022B7FE                 lsl     esi, [eax]
    17. seg000:0022B801                 lsl     edi, [eax]
    18. seg000:0022B804                 lsl     eax, [ecx]
    19. seg000:0022B807                 lsl     ecx, [ecx]
    20. seg000:0022B80A                 lsl     edx, [ecx]
    21. ...
    качнуть таблицу можно по этому адресу
    http://www.tvk-research.ru/products-utils-disasm/
     
  2. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    а можно положить еще файлики с исходным кодом, и файл с длинами всех команд в этом бинаре. Иначе проверять дизассемблеры в автоматическом режиме будет затруднительно.
     
  3. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    так теперь можно качнуть таблицу и для 3DNOW! общее количество команд в 2х таблицах 2498144. по просьбам трудящихся сейчас сгенерю таблицу длин.
     
  4. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    сгенерировал таблицу длин по 1му байту на команду.
     
  5. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    а где ее скачать? что-то не вижу
     
  6. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    PE386
    авалонец обещал сегодня выложить. кстати может на днях куплю себе 64бит кампег и тогда появится ссе4 команды и таблица для 64бит мода.
     
  7. _Serega_

    _Serega_ New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    288
    2doctor_Ice А на основе чего генеришь?
     
  8. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    они уже не SSE4, а SSSE3 - по официальной версии.

    а зачем кампег-то? Коре2 что ли? А без него команды не сгенерятся? :)
     
  9. Smile

    Smile New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2004
    Сообщения:
    129
    _Serega_
    Наверное "Instruction Set" из интеловского мануала.

    doctor_Ice
    А только длины задумано тестировать?
    Можно ведь и правильность формата, проверить...
     
  10. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    Хорошо бы иметь не все команды кучей, а подленные на категории (base x86, mmx, sse, ...). И иметь с файлом команд паралельно файл с текстом и с длинами.
     
  11. _Serega_

    _Serega_ New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    288
    2smile
    Наверно на основе PDF'ника (с кучей ошибок который) за день проблематично подобную таблицу сгенерить.
     
  12. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    да целю было именно правильность формата длины это уже PE386 попросил.
    мой дизасм кодоген их различает тоесть
    x86
    MMX
    FPU
    SSE
    3DNOW
    сегодня сделаю чтобы он отличал ссе от cce2 и ссе3.
    ну длины уже есть а вот мнемоника меня не интересует совсем однако могу паралельно выложить файл с ид кодами команд и расшифровку ид кодов он выглядит вот так
    ...
    OC_INVALID = OC_OPCODE_START
    OC_LEA = OC_OPCODE_START+1
    OC_ADD = OC_OPCODE_START+2
    OC_PUSH = OC_OPCODE_START+3
    OC_POP = OC_OPCODE_START+4
    OC_OR = OC_OPCODE_START+5
    OC_ADC = OC_OPCODE_START+6
    OC_SBB = OC_OPCODE_START+7
    OC_AND = OC_OPCODE_START+8
    OC_DAA = OC_OPCODE_START+9
    ...
    используя это вы легко нарисуете мнемонику сами.

    если вам нужны отдельно фпу ссе ммх итд. или ид коды то спрашивайте выложу.
     
  13. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    гы ошибок и пробелов аж писец....я специально таблицу генерил чтоб ловить косяки.
     
  14. fr0b-p

    fr0b-p New Member

    Публикаций:
    0
    Регистрация:
    1 окт 2006
    Сообщения:
    118
    doctor_Ice а как ты определяеш правильность таблиц?

    >> И иметь с файлом команд паралельно файл с текстом и с длинами

    ага это нужно.. а может сделоть стандарт на таблицу вроде

    byte opcode_size;
    byte opcode[opcode_size];
    char mnemonic[];
     
  15. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    смотрю в иде когда нахожу то что она не расшифровала разбираюсь почему.

    тексты однозначно делать не буду так как мне это совсем не интересно (дизасм кодоген сделал для целей генерации случайных алгоритмов, пересборки алгоритмов, поиска по маске, и в таком духе). хотя возможно позже я сделаю модуль перевода в мнемонику (на самом деле работы на пол дня так как мой дизасм дает довольно много инфы о опкоде и о каждом операнде опкода). информация для размышления мой код вместе с таблицами не сжатый весит 12к он не использует апи и может работать в многопотоках а когда все отлажу будет базонезависимым.
     
  16. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    Этим никого не удивишь. Тут где-то пролетал такой дизасм (правда на дельфях, к тому же умеет не только выдавать информацию о опкоде, но и формировать мнемонику).
    Имхо польза будет, если твой дизасм будет поддерживать x86-64 код.
     
  17. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    64 добавлю когда у меня будет соответствующий проц.
    я думаю он весит стока что даже самый отъявленный отморозок его в вирь пихать не станет.
    мнемоника - а зачем она нужна? если нужна мнемоника то лучше заюзать иду.
     
  18. PE386

    PE386 New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    127
    14 кб вместе с таблицами и всеми мнемониками. Да и нахрен не нужен полноценный дизасм в вирусе (как нахрен не нужны и сами вирусы).

    [offtop]неужели в наше время еще кто-то пишет вирусы? если да, то нахрена?[/offtop]
     
  19. _Serega_

    _Serega_ New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    288
    2doctor_Ice
    По всей видимости у тебя есть таблицы, описывающие свойства и форматы команд...
    Поделишься?
     
  20. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    дык если троянец хорошенько позаражает файлов то выковырять его будет можно тока переустановкой системы и к тому же есть вероятность что он осядет гдето с дистрибутивами на компахе или будет прислан другу или на сайте выложен.
    имхо личный дизасм нужен тока для авто трейса, поиска по маске и упаковки где тут нужна мнемоника не пойму.