FE23  LOOCH  DISASM

ДИЗАССЕМБЛЕР
ДЛЯ ИССЛЕДОВАНИЯ ПРОГРАММ

(empty)
Главная Загрузка Инструкция Карта сайта

 

КОМАНДНЫЙ ФАЙЛ


Эта страница инструкции еще находится в разработке

Страница еще не приготовлена полностью. Это укороченный предварительный вариант инструкции.

Но все основные сведения, нужные для работы с командным файлом, здесь есть.


Общий список команд

Здесь перечислены команды, которые могут применяться в командном файле (ком. файл). И дается краткое пояснение по каждой команде.

  • exam_file - имя исследуемого файла. Устанавливается дежурное имя и выполняется подготовка исследуемого файла. Эта команда в ком. файле может быть только первой командой.

  • use - какой адрес задается. Аргументом является слово, одно из трех - "RVA", "vir_addr", "file_idx". Эта команда переключает способ адресации. Она должна встретиться в ком. файле раньше тех команд, в которых задается адрес. Сама эта команда никакую работу не выполняет.

  • start_ep - стартовать первый проход дизасма, начиная с точки входа.

  • entry_point - то же самое, что и предыдущая команда (другой вариант командного слова).

  • start_proc - стартовать первый проход дизасма для процедуры. Аргумент задает адрес процедуры. В ком. файле в любом месте, но раньше данной команды, должна быть помещена команда "use", которая задает способ адресации. Команда "start_proc" работает точно также, как команда "start_addr".

  • start_cont - стартовать первый проход дизасма. Продолжить дизасм для тех заявок, которые еще не были выполнены. Если в список невыполненных заявок пустой, то дизасм не начинается.

  • start_addr - стартовать первый проход дизасма, начиная с указанного адреса. В ком. файле в любом месте, но раньше данной команды, должна быть помещена команда "use", которая задает способ адресации. Команда "start_addr" работает точно также, как команда "start_proc".

  • looch_size - предельный размер луча. Команда задает значение для соответствующего параметра дизасма.

  • looch_nums - предельное количество лучей. Команда задает значение для соответствующего параметра дизасма.

  • do_calls - создавать заявки для CALL. Команда устанавливает в полжение "ДА" соответствующий флаг - параметр дизасма.

  • no_calls - не создавать заявки для CALL. Команда устанавливает в полжение "НЕТ" соответствующий флаг - параметр дизасма.

  • do_asmtext - печатать ассемблерный текст. Команда устанавливает в полжение "ДА" соответствующий флаг - параметр дизасма.

  • no_asmtext - не печатать ассемблерный текст. Команда устанавливает в полжение "НЕТ" соответствующий флаг - параметр дизасма.

  • solid_size - размер участка для сплошного дизасма. Команда задает значение для соответствующего параметра дизасма. Эта команда уже стала практически ненужной. Но пока она еще оставлена среди команд ком. файла.

  • mode_32_bit - установить для дизасма режим 32 бита. Команда разрешена только в том случае, когда еще не пройдено дизасмом ни одного луча.

  • mode_16_bit - установить для дизасма режим 16 бит. Команда разрешена только в том случае, когда еще не пройдено дизасмом ни одного луча.

  • time_mark - отметить время. Данная команда позволяет измерить время выполнения первого прохода дизасма. По этой команде в протоколе печатается значение текущего времени. Кроме того вычисляется, сколько прошло секунд после предыдущей такой отметки.


    Формат записи команд

    Командный файл - это простой текстовый ( ASCII ) файл. Один символ занимает один байт.

    Каждая команда записывается в отдельной строке.

    Командная строка начинается с трех символов ( .z. ), то есть (точка), (малая латинская буква "z"), (точка).

    Строки командного файла, которые начинаются не с символов ( .z. ), считаются комментариями.

    В нижеследующей таблице показано, у каких команд должны быть аргументы и какие типы этих аргументов. Разделителями служат пробелы.

    Обозначения в таблице:

    • (txt) - текстовое слово
    • (hex) - шестнадцатеричное число (адрес)
    • (dec) - десятичное число

    Формат записи команд

    
    .z.     exam_file     (txt)
    .z.     use           (txt)
    .z.     start_ep
    .z.     entry_point
    .z.     start_proc    (hex)
    .z.     start_cont
    .z.     start_addr    (hex)
    .z.     looch_size    (dec)
    .z.     looch_nums    (dec)
    .z.     do_calls
    .z.     no_calls
    .z.     do_asmtext
    .z.     no_asmtext
    .z.     solid_size
    .z.     mode_32_bit
    .z.     mode_16_bit
    .z.     time_mark
    


    Пример командного файла

    Это строки были взяты из реального ком. файла. Немного почищено, но не все. Некоторый "мусор", оставшийся от реальной работы, был специально оставлен.

    
    cmd_08.cmd                                        07.06.2010
    ------------------------------------------------------------
          H:/FE/C/23/cmd_08.cmd
    ------------------------------------------------------------
    
          NOTEPAD.EXE
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    
    .z.
    .z.   exam_file    C:\WINNT\system32\notepad.exe
    .z.   time_mark
    .z.
    
    .z.
    .z.   looch_size   99999
    .z.   looch_nums   2
    .z.   do_calls
    //.z. no_calls
    .z.   no_asmtext
    .z.
    //.z. entry_point
    .z.   time_mark
    .z.
    
        Для прохода всех лучей (что уже найдено)
    
    .z.
    .z.   looch_size   1024
    .z.   looch_nums   451  // ровно столько, чтобы пройти до конца
    .z.   do_calls
    .z.   no_asmtext
    .z.
    .z.   entry_point
    .z.
    .z.   looch_nums   543
    .z.
    .z.   use          vir_addr
    .z.   start_proc   0100248F      // это оконная процедура
    .z.
    .z.   time_mark
    .z.
    
    

    Значения 451 и 543 для параметра ( looch_nums ) здесь стоят ровно такие, какие были нужны чтобы пройти дизасм до конца, ни больше, ни меньше. Просто было интересно найти эти значения. Понятно, что сначала стояло значение с запасом - 999.




    Все страницы инструкции

    Основные понятия
    Главное меню программы
    Обзорный экран
    Командный файл
    Работа с проектами
     
    Быстрый старт. Урок первый
    Быстрый старт. Урок второй
    Быстрый старт. Урок третий
     
    Файлы, используемые в программе
    Протокол работы и распечатки
    Настройки дизасма и арифметика адресов



  • Главная Загрузка Инструкция Карта сайта


      Rambler's Top100
    Copyright (C) FE23 Looch Disasm, 2010
    File          - disa29.htm
    File created  - 13 Apr 2010
    Last modified - 06 Jul 2010
    Hosted by uCoz