Как в исполняемом файле найти место где меняется текст метки

Тема в разделе "WASM.BEGINNERS", создана пользователем Kurvivor, 25 апр 2024.

Метки:
  1. Kurvivor

    Kurvivor New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2024
    Сообщения:
    5
    Заранее извиняюсь если этот вопрос окажется оффтопиком.

    Опишу свою проблему.
    Есть приложение, для windows, кажется, скомпилированное с помощью Borland, которое получает по сети числа и отображает их на метках. На одной из этих меток по какой то причине величина числа изменена на 90.0, и это требуется исправить.

    Я никогда не пользовался дизассемблером, и не делал бинарные патчи, поэтому не вполне понимаю как подступиться. Прошу совета по методологии.

    Соображения которые есть на данный момент.
    • У меня есть формат принимаемых приложением данных, и я могу посылая в него соответствующие пакеты манипулировать текущим состоянием, в частности текстом на метке
    • Есть ли какой то способ отследить связанные с этим (изменением теста на метке) события?
    • Имея подобную информацию - как можно определить место где формируется текст?
    • Определив где это происходит, предположительно, с вызовом какой то функции форматирования, я мог бы рядом найти искомое изменение значения и убрать его
    В любом случае, как я понимаю, первым шагом будет применеие к имеющейся программе IDA
     
  2. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    449
    для детекта чем собранно используют например ExeInfoPE или Die (Detect it Easy)
     
  3. Kurvivor

    Kurvivor New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2024
    Сообщения:
    5
    Спасибо!
    Согласно DiE экзешник в самом деле собран с помощью Борланда
    Как я подозреваю, при сборке защитой кода никто не заморачивался. Следующим, так понимаю, нужно применить какой нибудь декомпилятор дельфи - DeDe подходит?
     
    Последнее редактирование: 26 апр 2024
  4. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    449
    ооо
    не просто Борланд
    а Борлад ДЕЛЬФИ!

    для дельфи есть более узкофоксная утилита ежели ида - IDR
    https://github.com/crypto2011/IDR
     
  5. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    189
    На каких метках? это поле ввода чтоли?
    90.0 наверное градусы, и речь идёт о софте для настройки спутниковой антенны.
    недавно обсуждался где-то здесь аналогичный вопрос.
     
    Последнее редактирование: 26 апр 2024
  6. Prober

    Prober Member

    Публикаций:
    0
    Регистрация:
    4 дек 2008
    Сообщения:
    43
    Если хотите сделать сами, то без азов не обойтись. Рекомендую старую, но вполне актуальную книгу Рикардо Нарвахи "Введение в крекинг с нуля, используя OllyDbg", она есть в русском переводе приличного качества. Все главы читать не обязательно, если первые 10-15 одолеете, то уже сможете распотрошить вашу программу.

    Либо попробуйте здесь выложить софт и чётко сформулировать задачу. Может, кто-нибудь из форумчан посмотрит от нечего делать, такое иногда бывает...
     
  7. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    Если делфи то там есть специфичные вызовы АПИ для установки текста метки, ну лет 20 назад так было =))
     
  8. Kurvivor

    Kurvivor New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2024
    Сообщения:
    5
    Метка = label
    Тут вы попали в точку, именно программа управления антенной. Забавно если это вторая тема на ту же самую тему.
    Ещё раз спасибо, попробую ей воспользоваться.
     
  9. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    189
  10. Kurvivor

    Kurvivor New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2024
    Сообщения:
    5
    Забавно - та программа другая, и возможно гораздо лучше той с которой нужно иметь дело мне.
    Форма о которой идёт речь выглядит вот так:
    BaumanForm2.png
    Выделенная метка является частью формы MainForm и называется LblPos3, как я могу судить.

    Спасибо за советы. Какие то дополнительные вопросы с моей стороны будут осмысленными только после того как я ими воспользуюсь и ознакомлюсь хотя бы с некоторой частью книги господина Нарвахи. Но если кому то захочется поковыряться - вот архив с программой: https://disk.yandex.ru/d/LiQ772cT5uor_g
    Проблема в том что при работе происходит преобразование между данными которые пересылаются при взаимодействии по сети, и теми с которыми взаимодействует пользователь через форму. При работе значение 3 Оси отличается между показываемым и используемым внутренне на 90 градусов.
    Нужно чтобы они не отличались.
    Эмулятор ответной программы я выложу позднее как его напишу
     
  11. Kurvivor

    Kurvivor New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2024
    Сообщения:
    5
    Наконец то нашёл время и сделал эмулятор ответной программы.
    Прилагаю файлом
     

    Вложения:

    • main.py.txt
      Размер файла:
      4,3 КБ
      Просмотров:
      130