Пользователь
Информация
- В рейтинге
- 2 751-й
- Откуда
- Петропавловск, Северо-Казахстанская обл., Казахстан
- Зарегистрирован
- Активность
Специализация
Десктоп разработчик, Инженер встраиваемых систем
Pure C
Assembler
X86 asm
Win32 API
Visual Basic
MySQL
Git
ООП
Разработка электроники
Обратная разработка
Собственно говоря, это не эфемерная мечта: у меня уже давно (лет 14 как) лежит написанный классный и быстрый дизассемблирующий/ассемблирующий движок, который может удобно расширяться. Есть к дизассемблирующей половинке этого движка GUI-примочка, показывающая отдельную процедуру либо в плоском виде, как это делает OllyDbg (даже интерфейс скопирован один в один), либо в виде графа, как делает IDA. Есть самописный простенький отладчик (tinydbg), правда у него не графический, а совершенно дубовый текстовый интерфейс (не с использованием псевдографики в консольном окне, а именно сугубо текстовый «диалог» с отладчиком) — его единственное преимущество в том, что антиотладочные приёмы, которые основываются на слабых местах популярных отладчиков, на него не действуют, а так же тем, что любую нестандартную команду или функцию я в него могу добавить сразу же, как возникнет такая необходимость, и мне не надо будет искать нужный плагин или придумать, как ограниченным инструментарием скриптинга реализовать какую-нибудь пошаговую деобфускацию отлаживаемого процесса. Есть собственный вьювер DBG/PDB-файлов, собственный вьювер COFF.
Остаётся только объединить кучу собственных разрозненных и сырых утилит в мощный и доделанный конгломерат.
И конечно, я говорю сейчас о собственном интересе. Так сказать, с точки зрения научного интереса было бы интереснее написать собственный инструмент. Список мастхев фич сформирован уже давно.
А вот с точки зрения практической, конечно, более перспективно возраждать или поддерживать инструмент, у которго уже есть имя, репутация, комьюнити и своя экосистема, чем пробивать дорогу чему-то совершенно новому.
Непонятно, почему автор OllyDbg не обернул все обращения из хоста в плагины в
__try ... __exceptи сам не сделал какого-нибудь аварийного автосохранения в фильтре необработанных исключений. Даже VirtualDub имеет какой-то нестандартный top-level хендер для исключений, показывающий и контекст потока, и дизасм проблемного места, хотя, казалось бы, мультимедийной утилите такой функционал не обязателен, а вот в коде отладчика уже есть многий инструментарий для реализации подобной плюшки, но самой плюшки и вообще хоть какого-то аварийного процессинга исключений внутри самого себя — нет.Вообще, писать подобный плагин-автодампер для себя я не вижу особого смысла. У меня есть пара утилит, упомянутых в статье:
memdumper.exeиextractor.exe. В случае проблемы достаточно вызватьУ этого подхода есть один неоспоримый плюс: спасительные утилиты находятся вне зоне поражения сошедшего с ума кода. А вот плагин-спасатель может сам оказаться повреждён, ведь он разделяет с умирающим отладчиком одно адресное пространство.
А в первой версии такой API нет вообще. Но даже если бы была, я ведь упомянул, что есть за OllyDbg грешок тихо портить UDD при сохранении.
Если под рукой УЗИ-аппарат за десятки тысяч долларов?
А вот когда к вам просто не обращаются с такими задачами, потому что у вас нет «опыта», а «опыта» нет, потому что не обращаются, и вы сидите без работы — это совершенно другая, грустная история.
Это на ширпотребной электронике вроде телефонов, телевизоров, компьютеров можно набраться «стажа» и уверенности в себе, переремонтировав сначала всю мертвую технику себе, своим друзьям и друзьям друзей.
Причём, я прекрасно понимаю, что 90% отказов в том же УЗИ-аппарате будет на уровне «в тактильной кнопке панели управления обломался и закоротил выводы подвижный контакт» или «в блоке питания пробило диод», которые по сложности и уровню знаний, требуемых для починки, вообще ничуть не сложнее типичных отказов телевизоров и мобильных телефонов.
Но вашему заказчику важен ваш опыт в ремонте именно УЗИ-сканеров. Да и вам самим может быть немного страшно впервые браться за устройство стоимостью с новый автомобиль.
К сожалению, всё сложнее и сложнее найти заказчика и работодателя, который позволил бы тебе работать правильным образом.
Я, к примеру, являюсь админом ряда тематических групп: группы для инженеров-электронщиков, группы по ремонту и обслуживанию автомобилей кое-какой марки/модели, и нескольких групп, посвящённых музыкальным исполнителям. Всё это родилось на свет задолго до того, как сложилась такая опасная политическая обстановка. Очень большой объём сил и энергии был вложен в эти группы, чтобы сделать их интересными и привлекательными. Да и сама «общественная жизнь» в этих группах стала немаловажной частью жизни, без которой будет весьма тоскливо. И вы предлагаете взять и бросить всё это?
Кроме того, если отбросить таких инициативных людей, у которых есть потребность создавать свои «уютные» и интересные местечки, а не довольствоваться чужими, для большинства социальная продолжает выполнять свою первоначальную функцию — позволять людям делиться информацией с неким предопределённым кругом лиц.
Я давно начал ловить себя на мысли, что я, время от времени, вынужден рассказывать сначала одному человеку о каком-нибудь интересном событии, случае или какой-то эпопее (например, о нетривиальной починке какой-нибудь техники, сломавшейся абсолютно не вовремя) — пересказывать историю, разбавляя текстовый рассказ чередой фотографий, а спустя день-два уже другой человек просит поделиться подробностями, и ты опять рассказываешь ту же историю, скидываешь те же фотографии. Невольно задумываешься: было бы хорошо один раз сделать рассказ+фотоотчёт и предоставить возможность его читать всем тем, кому это может быть интересно. К сожалению, я не могу использовать для этого «стену» из-за отсутствия per-post настройки приватности — приходится довольствоваться личными сообщениями с тамошней возможностью скопировать и переслать диалог некоему новому собеседнику вместе со всеми картинками и вложениями.