А что касается плагинов, вообще неплохо было бы иметь возможность использовать движок дизассемблера из HiEW, например хотелось бы плагин - отладчик(эмулирующий отладчик) или просмотрщик памяти с возможностью дизассемблировать нужный кусок на лету.
Asterix А что касается плагинов, вообще неплохо было бы иметь возможность использовать движок дизассемблера из HiEW, например хотелось бы плагин - отладчик(эмулирующий отладчик) или просмотрщик памяти с возможностью дизассемблировать нужный кусок на лету. Мне отчего-то кажется, что на самом деле тебе нужны следующие функции: 1. Загрузить произвольный блок "внутрь" hiew с установкой произвольного начального смещения и, возможно, ручное формирование таблицы импорта для распознавания библиотечных функций 2. Получить полную информацию по одной команде (длина, мнемоника и т.п.) А уж откуда грузить этот произвольный блок и что там твой плагин будет делать с информацией о команде (эмулировать исполнение, выплевывать в файл и т.п.) - дело хозяйское.
А (IMHO) её непонятно как реализовывать компактно (мне по крайней мере). В Hiew есть блоковые операции - своего рода буфер обмена бинарных данных. А как со стандартными типами буфера? Что ты хочешь - преобразовать текстовые строки из блокнота и вставить как бинарные? А какой протокол согласования делать? Форматов то туча, все перебирать? Всё проверять на валидность? В Hiew может быть текущими и текст и мнемоники и коды в хексе и бинарные - как разбираться к чему приводить и что хотели из буфера вставить? Ты представь сам как бы ты делал? Можно реализовать лишь отчасти. Ну допустим скопировать как текст hex. Но в Hiew уже есть Alt-P. Дальше возникают вопросы а как в версиях для DOS и OS/2 быть, вобщем тут дело не в кодировании в том что задача расплывчата - поддержка буфера. Правда я за SENа говорю, может у него другие мысли на этот счёт. Но мне было бы непонятно что и как можно и нужно копировать, и реализовать такое я смог бы лишь отчасти. Мы слишком привыкли что буфер обмена всё понимает, на самом деле за каждым форматом протоколы согласования и не всё до сих пор нормально работает даже с теми данными (форматами) которые чуть ли не десятилетия существуют.
Asterix какой отладчик (просмотрщик памяти) в файловой смотрелке ??? зачем там это все надо ??? юзайте нормальный отладчик который предназначен для этих целей. Не надо в валенках переходить реку вброд и говорить что промокают. И не надо изобретать непромокаемый состав для валенок. Непромокаемые валенки - это круто, но вот только зачем ? Холод от этого лучше они держать не будут.
jekyll блин, т.е. возможность вставить текст из буфера обмена и положить например дамп экрана в буфер обмена появится в 7.10
sen > какой отладчик (просмотрщик памяти) в файловой смотрелке ??? зачем там это все надо ??? Почему нет? Например у WinHEX'а есть режим просмотра памяти, но не хватает возможности представить эту память в дизассемблированном виде, HiEW мог бы обеспечить такую функциональность. The Svin > возникают вопросы а как в версиях для DOS и OS/2 быть А никак, нет таких в текущей версии HiEW
Первоочередное: это экспорт команды по указанному смещению/адресу в виде структуры! Поля: имя команды, количество аргументов, способ адресации для каждого аргумента и значения самих аргументов(если аргумент - регистр, то имя регистра) Проги аналогичные HIEW доступ плагинам к встроенному дизъассемблеру почему-то не предоставляют - мне ни одной неизвестно. Как результат - приходится реализовывать усеченный анализатор команд в самом плагине, что очччень неудобно :\ И, конечно же, требуется функция патча - по указанному адресу смещению заменить данные на данные от плагина.
Обращаюсь к Автору HIEWA Почитал я форум, вроде никто об этом небольшом баге не писал. HIEW В HEX режиме совсем не отоброжает русские буквы. Тода как WinHEX нормально отображает, и позволяет редактировать. Ответил немного не по теме, но всеже.
просмотр памяти у winhex - это инициатива winhex, захотелось ему отобрать немного крошек хлеба у отладчика - ну пусть будет. в hiew - это излишества и не его задача.
hiew такой информации плагину не отдаст по той простой причине что команда сразу переводится в дизассемблерный текст без всяких промежуточных форм. а это плагин и сам сделает через функции read/write( qword offset, byte *buffer, int count ) можно назвать это функцией патча, а можно просто доступом к текщему файлу
никто и не писал, потому что баги нет. 1. у тебя либо консольный фонт стоит не cyrillic 2. либо ты смотришь текст не в той кодировке
WinHex — это HEX-редактор, значит, должен предоставлять возможность редактировать любые данные внезависимости от их источника (диски, файлы, память), что он и делает. А вот восстановление файлов — это уже не прерогатива редактора.
Плохо. Но ведь можно модифицировать дизъассемблер для этих целей? Причина очевидна: зачем дублировать функции в программе и плагине? Если хиев дизъассемблирует, то должен поделится этой возможностью и с плагином А зачем плагину такой примитив? Была бы интереснее функция патча со сдвигом/раздвигом(вставка\удаление) То есть если размер патчимой области не совпадает с размером передаваемых данных от плагина, то программа раздвигается/сдвигается в памяти. Я же мыслю как пользователь хиев А в нем реализован принцип БЛОЧНОСТИ. Думаю, нельзя давать плагину возможность патчить напрямую! Надо сделать функцию запроса блока памяти(аналог - выделение блока юзером), тогда и hiew будет знать что делает плагин и плагин будет работать не с абсолютными адресами, а относительными(то есть с буфером).
Cпасибо за разъяснение))) Посмотрю что можно сделать. А вот насчет редактированиe текста (как в WinHex) хотелось бы видеть.
А в Hiew решает автор, что должен а что не должен делать hex редактор. И это правильно. Пардон, хрен там. Решают пользователи, к мнению которых надо прислушиваться. Поскольку HIEW - шаряваря, значит и надо слушать пользователей. Был бы фриваря с открытым кодом - пиши себе автор, что хочешь. Никто бы и квакнуть не посмел бы. А тут - надо слушать. И начать надо с моего интервью с sen'ом, где осветить пару вещей, а потом с нормального турториала. Сколько же можно уже? Достало ведь! Мне эти хелпы все глубоко до задницы. SEN, осознайте, наконец, что пользователи не читают хелпов! Вообще! http://russian.joelonsoftware.com почитайте там книжку "Руководство по UI дизайну для программистов" так вот, SEN, нужно: 1. интервью (я накатаю список вопросов, если не помру) 2. турториал и только потом, когда все хотя бы вкурят, чего хьюв может, а чего не может - вот тогда и будут плагины обсуждать. это же банальная маркетинговая политика!
Прислушиваться бы рад прислуживаться тошно Прислушаться одно, решать - другое. Прислушиваться надо, когда прислушиваешься - иногда слышишь мысли которые самому должны были прийти в голову, а в силу каких-то обстоятельств не пришли, решать нужно только самому. Да шаровара, тот у кого мнение о hex редакторе с автором совпадает - тот и купит. По тому насколько во всём мире используют Hiew, видно что совпадает у многих. Я сам просил у Евгения несколько фич, но имея ввиду если желания мои не противоречат каким-то его принципам (может в результате если противоречат, он сделал бы для меня нужную фичу, а в другом - чем Hiew мне тоже нравится - был бы нанесён урон.) Я чего завёлся то - одно дело когда люди говорят хочу то, хочу другое. Другое дело когда - это нех редактор а значит он Должен делать то-то. Факт такой - хочешь хорошую программу - делай как для себя, и с hiew это оправдалось, там автору захотелось для себя чего-то что у других небыло - и что получилось? - другие стали слизывать фичи с Hiew. Факт. SEN оставайся пожалуйста на своей позиции, прислушиваться прислушивайся, но решай что делать сам, когда точно уверен что Hiew это не повредит. Интерфейс у Hiew - для меня лучший (не идеальный - но лучший из имеющихся). Пожалуйста, не порть свои собственные идеи, только потому, что 99% пользуются мышкой с колёсиком и мелким но жутко неэргономичным интерфейсом.