Pull to refresh

Comments 13

Вторая ссылка (платформа VR) ведёт на "todo". Желательно исправить.

Спасибо! поправил :)

Гидра умеет разные форматы, но вот HEX не умеет,

Странно, неоднократно загружал HEX, он значительно более информативен, чем BIN. Имеется в виду Intel HEX https://ru.wikipedia.org/wiki/Intel_HEX.

Просто процитирую вики:

Достоинством формата (в отличие от простого двоичного) является возможность указывать только определённые области адресов (с точностью до байта). Многие микроконтроллерные архитектуры имеют несколько областей программирования с обширными пустотами в адресации между ними.

Он позволяет загружать меньше "мусора".

А в целом, конечно, грандиозная работа (и проделана и описана!..)

Просто делаем Импорт файла (File -> Import...), далее выбираем свой hex-файл и появится диалог, в котором у кажете Language и всё, как обычно...

Метрическая сила...!

Меня вот это смутило - отсутствие тут *.hex.

Да, если выбрать hex файл, тогда он даёт выбор:


Теперь смогу сэкономить 5 секунд в следующий раз :)

p.s.: пойду отправлю пулреквесть :)

Тут не только экономия времени, возможно более точное описание блоков памяти: не обязательно вся память в bin файле была заполнена/использована, тогда возможно определить промежутки и не использовать их или задать что-то типа "bss".

Да, разумеется я заметил дырку (там вначале код, потом дыра под стандартную либу, потом дыра под конфигурацию и в конце немного параметров настройки прошивки)...

Кстати, может, я так же не заметил генерацию патч-файла, как в IDA есть? :) а то заниматься экспортом и диффингом немного устаёт.

Так что с чем надо сравнивать? С какой целью?

Вроде в Ghidra есть мощный аппарат для сравнения разных вариантов. Смотри в хелпе "Program Differences", там много что написано. Тем более, что у Ghidra в отличие от IDA чуть ли не изначально предполагается возможность одновременной работы над одним проектом нескольких особей. А результаты надо уметь сливать в одну кучку... Опять же встроенная система версий...

У Ghidra иногда совсем другие подходы по решению проблем, чем, например "традиционные".

Эквивалент IDAшного "File=>Produce file=>Create dif file", где сохраняется результат редактирования образа в базе данных.

Гидра вообще, если я редактирую через memory -- подсвечивает синеньким что я менял. Если редактирую через ассемблер -- нет. В итоге надо помнить где что менял, либо экспортить весь бинарь и сравнивать потом. И то и то -- неудобственько.

Есть вероятность, что уже существует скрипт, который делает эту операцию:

  • он может быть в составе уже имеющегося штатного комплекта.

  • он может быть в составе какой-нибудь коллекции скриптов в инете (стоит поискать/поспрашивать на форумах). Допускаю, что их должно быть изрядное количество, хотя сам ничего специально не искал пока.

  • есть подозрение, что всё это может быть написано в пределах десятка операторов на Python.

Кстати, да, порой у Ghidra очень забавный интерфейс и обработка событий!. Сам до некоторых операций никак дойти не могу, хотя в IDA они тривиальны...

Sign up to leave a comment.

Articles