Декомпиляция кода

Форум Форумы ГЛАВНЫЙ ФОРУМ Декомпиляция кода

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Записи
  • #74
    iziniceizinice
    Участник

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

    В приложении сам оригинальный файл.
    В иделе бы декомпилировать весь файл.

    Заранее всех очень сильно благодарю за помощь

    00000000: 45 52 52 4f 52 41 58 49 53 54 41 52 47 45 54 50 ERRORAXISTARGETP
    00000010: 4f 53 49 54 49 4f 4e 4e 4f 54 52 45 41 43 48 45 OSITIONNOTREACHE
    00000020: 44 58 00 45 5f 45 52 52 4f 52 4e 55 4d 42 45 52 DX.E_ERRORNUMBER
    00000030: 50 45 52 49 50 48 45 52 41 4c 00 00 5b 00 00 00 PERIPHERAL..[…
    00000040: 40 40 00 00 34 00 00 00 02 00 00 00 41 00 00 00 @@..4…….A…
    00000050: 00 00 00 00 23 00 17 00 00 00 2e 45 52 52 4f 52 ….#……ERROR
    00000060: 41 58 49 53 54 41 52 47 45 54 50 4f 53 49 54 49 AXISTARGETPOSITI
    00000070: 4f 4e 4e 4f 54 52 45 41 43 48 45 44 59 00 45 5f ONNOTREACHEDY.E_
    00000080: 45 52 52 4f 52 4e 55 4d 42 45 52 50 45 52 49 50 ERRORNUMBERPERIP
    00000090: 48 45 52 41 4c 00 00 5b 00 00 00 40 40 00 00 46 HERAL..[…@@..F
    000000a0: 00 00 00 02 00 00 00 41 00 00 00 00 00 00 00 23 …….A…….#
    000000b0: 00 17 00 00 00 2e 45 52 52 4f 52 41 58 49 53 54 ……ERRORAXIST
    000000c0: 41 52 47 45 54 50 4f 53 49 54 49 4f 4e 4e 4f 54 ARGETPOSITIONNOT
    000000d0: 52 45 41 43 48 45 44 5a 00 45 5f 45 52 52 4f 52 REACHEDZ.E_ERROR
    000000e0: 4e 55 4d 42 45 52 50 45 52 49 50 48 45 52 41 4c NUMBERPERIPHERAL
    000000f0: 00 00 43 00 00 00 40 40 00 00 1c 00 00 00 02 00 ..C…@@……..
    00000100: 00 00 41 00 00 00 00 00 00 00 0b 00 17 00 00 00 ..A………….
    00000110: 2e 45 52 52 4f 52 41 58 49 53 58 00 45 5f 45 52 .ERRORAXISX.E_ER
    00000120: 52 4f 52 4e 55 4d 42 45 52 50 45 52 49 50 48 45 RORNUMBERPERIPHE
    00000130: 52 41 4c 00 00 43 00 00 00 40 40 00 00 2a 00 00 RAL..C…@@..*..
    00000140: 00 02 00 00 00 41 00 00 00 00 00 00 00 0b 00 17 …..A……….
    00000150: 00 00 00 2e 45 52 52 4f 52 41 58 49 53 59 00 45 ….ERRORAXISY.E
    00000160: 5f 45 52 52 4f 52 4e 55 4d 42 45 52 50 45 52 49 _ERRORNUMBERPERI
    00000170: 50 48 45 52 41 4c 00 00 43 00 00 00 40 40 00 00 PHERAL..C…@@..
    00000180: 3a 00 00 00 02 00 00 00 41 00 00 00 00 00 00 00 :…….A…….
    00000190: 0b 00 17 00 00 00 2e …….

    #94
    itprojectitproject
    Участник

    Загрузите оригинальный файл на файлообменник — по этому HEX-дампу видно, что это не программа, а таблица данных с текстами ошибок (например, ERRORAXISTARGETPOSITIONNOTREACHEDX) и связанными с ними числовыми кодами. Чтобы автоматически извлечь все соответствия «код → описание» для диагностики, нужен скрипт, а для его написания необходим полный файл.

    #96
    geciorgecior
    Участник

    Да, коллега прав это не программа, а скорее всего бинарная таблица ошибок (ресурсный файл или конфиг) от контроллера/ПО станка. Видно, что вшиты текстовые строки типа “ERRORAXISTARGETPOSITIONNOTREACHEDX” и рядом числовые значения (например, 5b 00 00 00 в Little Endian это 0x5B, то есть 91 в десятичной).

    Чтобы вытащить все соответствия кодов и ошибок автоматически, нужен полный бинарный файл залей куда-нибудь (MEGA, Google Drive, SendSpace) и скинь ссылку. На Python или даже HEX-редакторе с поиском по структуре можно быстро написать парсер, но без оригинала это гадание. Если скинешь файл помогу распарсить.

    #158
    BarmonITBarmonIT
    Участник

    Это не исполняемый код, а таблица строк ошибок станка: уже видны расшифровки вроде «ERROR AXIS TARGET POSITION NOT REACHED X/Y/Z» (ось X/Y/Z не достигла целевой позиции), а рядом стоящие числа (например, 5B = 91) это числовые коды ошибок. Чтобы полностью восстановить все соответствия «код — описание» для диагностики оборудования, нужен оригинальный бинарный файл. Залейте его на файлообменник и скиньте ссылку — помогу распарсить.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Для ответа в этой теме необходимо авторизоваться.