Генерация кода в процессе работы

Discussion in 'Реверсинг' started by Vasgen, 10 Mar 2016.

  1. Vasgen

    Vasgen New Member

    Joined:
    10 Mar 2016
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте.
    Исследуя одну прошивку я наткнулся на такую структуру:

    .data:832FF940 .word aAddiu # "addiu"
    .data:832FF944 .word 0x24000000
    .data:832FF948 .word 0xFC000000
    .data:832FF94C .word aRtRsI # "rt,rs,i"
    .data:832FF950 .word 0
    .data:832FF954 .word aSlti # "slti"
    .data:832FF958 .word 0x28000000
    .data:832FF95C .word 0xFC000000
    .data:832FF960 .word aRtRsI # "rt,rs,i"
    .data:832FF964 .word 0

    Сначала идёт мнемоника, потом код команды, маска (первые 6 бит op-code команды), формат команды, 0 - признак окончания.
    И так хранятся все инструкции процессора. Вот я подумал может ли быть такое, что потом по этим данным будет строится исполняемый код в процессе работы?
     
  2. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    Код не будет строиться мнемоникой, это однозначно. Потому что в таком случае пришлось бы таскать с собой компиляторы/интерпретаторы. А если вопрос в том, возможна ли генерация кода в процессе работы, в принципе, тогда да, возможна.
     
    #2 #colorblind, 11 Mar 2016
    Last edited: 11 Mar 2016
  3. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    Вероятно это участок данных функции дизассемблирования, для создания читабельных отчетов о падении и прочем. Т.к. при применении полиморфного кода, мнемоники, как таковые, не нужны.
     
    _________________________