Преобразование ассемблерного кода в опкоды типа string

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by hiphop191817, 26 Mar 2011.

  1. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    В общем дано:
    строка типа string в которой одна ассемблерная инструкция, ну например
    'mov eax,[$401000]'
    необходимо получить строку из опкодов данной инструкции.

    Знаю, что есть такой компонент maddisasm, только вот выполняет он действия в точности наоборот нежели чем мне нужно- из опкодов команды выводит.

    Кто знает как это можно реализовать или какой компонент это может сделать?
     
    #1 hiphop191817, 26 Mar 2011
    Last edited: 26 Mar 2011
  2. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    1. Качаешь мануал по какому-либо процессору x86 (обычно 1000+ страниц - объяснение всех команд, опкодов, типов адресации). Всё хорошенько изучаешь.
    2. Пишешь конечный автомат на C++ для распарсивания строки с инструкцией.
    3. Пишешь некий алгоритм, чтобы по распарсенным данным получить опкод.
    4. ???
    5. PROFIT!
     
    #2 GRRRL Power, 26 Mar 2011
    Last edited: 26 Mar 2011
  3. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Спасибо большое кэп. Без тебя б я не догадался что оказывается можно и самому компилятор ассемблера написать, надо лишь все команды с опкодами в базу вбить и всё, делов то.

    В общем жду нормальных ответов
     
  4. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    А чем тебе не нравится мой ответ? Ты же спросил, "Кто знает как это можно реализовать", не уточняя сроки разработки или еще что-то. Мой ответ - это исчерпывающее решение.
     
  5. 57005

    57005 New Member

    Joined:
    8 May 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    думаю это то, что ты искал
    http://board.flatassembler.net/topic.php?t=6239
     
  6. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Да да, именно то что я искал.