Обновить

Комментарии 11

Где можно взять результат для тестирования?

списались в личке, увы но утилита только под несколько XP принтеров 235/235/235A, 332/332A/335, 432/435

В подсчёте контрольной суммы делается return 0 и не нужно тратить токены и время на контрольные суммы.

А вообще, да юзаю Kimi K2.7-K3 в связке с IDA-Pro MCP, сильно сокращает время анализа, но жрет токены как собака, лучше выделять скилы.

если код вычисления чексуммы не был бы заинлайнен по всему коду, то да тривиальное решение с возвратом нужного результата очевидно

такие штуки классически не инлайнятся, даже если так, то тут слишком большой кусок кода, смысл инлайна теряется - он слишком повторяющийся, даже без LLM'ок такие паттерны находятся в пару минут

Если всё же зашли в иду, почему просто не взяли mcp к ней? Гидра конечно много чего берет с наскоку, но очень уж медлительна, java как-никак, и интерфейс гораздо менее привычный, чем у иды.

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

я банально не знал что там он тоже есть) а узнал когда уже собрался юзать гидровский и просто продолжил по плану. В следующий подход может и иду заюзаю

не удобно менять через не очень удобный шорткат, который надо жать на каждую asm инструкцию, и ввод, который странно работает требует ввод имени инструкции и именно заглавными буквами, что прямо бред

Я для минимальных изменений джампов обычно в шестнадцатиричном редакторе тупо ищу эту последовательность байт (с небольшим запасом, чтоб была уникальная) и меняю руками, а уж опкоды типа там 74, 75 я просто ниазусть помню. Опять же если патчер потом делать, то это для самоконтроля хорошо. Не сказать, что удобнее, но мне как-то привычнее что ли.

локальной модели для задачи именования функций за глаза, но вот ограничения гидры, что имена не должны пересекаться вызывали у модели приступы генерации супермегадлинных названий, которые тоже нельзя было использовать из-за длины и она уходила в бесконечный цикл подбора нового имени

А этим названиям вообще можно верить в таком случае? За исключением совсем уж примитивных функций или тех, в которых каждое действие заботливо логируется в человекочитаемом виде, чтобы вообще понять предназначение функции в "свежем" проекте, надо прочесать и callers и callees, назначение которых зачастую тоже неизвестно, и так до ближайшего xref на строку или вызова хоть чего-то с известным именем вроде Win32 (я не говорю о ситуациях, когда уже задокументированы и проверены ну так 30% функций бинаря, проставлены типы данных и т.д. и куда бы агент ни пошёл, поддерживающая информация в виде ).

Я использовал Qwen 3.6 27B (q5, без квантования кэша) для похожих целей, чтобы крупными мазками описать, что программа вообще из себя представляет. Всё это было в качестве эксперимента было, потому что на тот момент у меня уже были собственные наработки по этой же программе, так что было с чем сверять. В нейминге и документации за авторством ллм вроде всё связно, только назначение функций при ближайшем рассмотрении оказывалось вообще неверным. 5.5 на high справился уже хорошо, конечно. Сложилось впечатление, как будто из всех задач, на которых ллм склонны к галлюцинациям, реверс особенно выделяется. Вот недавно dsv4 flash функцию, которая из контекста по вызовам очевидно является логгером, обозвал CRCCheck, при том, что никакой математики на тему CRC там не было. Но тул-то правильно вызвал, не зациклился!

В чём мой вопрос: функции, которые назвал локальный квен, действительно правильно названы? Насколько они сложны и "далеки" ли от однозначных упоминаний их назначения в строках или ещё где-то?

вот именно что этим именам можно верить, а можно не верить, это ж вероятностная ллмка. Отсюда же ответить названы правильно или нет в целом невозможно, сырцов то нет для сверки. А так да если бы не строковые переменные с осмысленным текстом в виде подписей на лейблах, кнопках, сообщений об ошибках или просто в лог, то может бы и ничего вменяемого и не назвало бы даже, хорошо что обычно этой информации полно в обычном коде.

У меня вчера тем же квеном вот методы стадий из sha1 были адекватно распознаны по декомпилу и названы как в вики и там естественно ноль текста и чистая числодробилка - считай повезло. Полез ли я сверять что там действительно логика sha1, да нет конечно, мне это неважно, мне нужны другие части в которых нужная мне логика. И тут как бы неважно поверил ли я и далеко ли оно от сути в моменте. Если потребуется разбираться в такой логике, то как и описывал в статье помучали пару раз разные нейронки и дальше уже напрягать свои мозги, чтобы быть уверенными. Я не считаю, что llm+mcp от гидры или иды сами разберутся, это лишь упрощение работы, а сама работа никуда не девается

Когда работал в СЦ, сформировалась следующая практика: при первом обращении сброс через программу с ключом за 700р, дамп программатором spi 25 серии и сохраняется с подписью, что за клиент и какой серийник, при повторных обращениях этот дамп шьётся. Модели назвать не могу, не помню. Но работало на эпсонах и кэнонах.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации