Сейчас на форуме: _MBK_ (+7 невидимых) |
![]() |
eXeL@B —› Основной форум —› Анализ IDA Pro |
Посл.ответ | Сообщение |
|
Создано: 08 июля 2009 10:09 · Поправил: sf3lamer · Личное сообщение · #1 Я хочу написать что-то похожее на ИДА Про на Делфи. Понимая, что подводных камней будет немало, я хочу попросить вас помочь составить диздок, т.к. сам я точно что-то упущу. Если кто-то захочет помочь с написанием самой проги, я только за. Зачем изобр. колесо? Чтобы не зависеть. Сам проект думаю сделать свободным для некоммерческого использования Насколько я понимаю, ИДА - всего лишь оболчка, запускающая различные плагины над подопытным приложением и отображающая результат их работы - думаю, сначала нужны: ядро и поддержка плагинов, чтобы к разработке могли подключаться волонтёры Минусы ИДА (кто знает ещё пишите, я добавлю в этот список) - использование легальной документации. пример: искал я p-code-disasm vb5/vb6 для IDA. но Ильфак, пишет, что т.к. микрософт не даёт документации, то и плагина не будет, в то время, как большая часть p-code функций была разреверсина ещё в 2001 (если не ошибаюсь) году и создан отладчик Платформа Win32. Портирование на другие платформы отложено на далёкое будущее или передано в руки всем желающим Есть какие-либо советы, как писать, чтобы портировать было легче? Задачи -- где хранить код? чтобы все желающие могли его получить. на примете google code или может купить хостинг+домен? -- нужен багтрекер. как это реализовать? svn? -- в чём лучше вести документацию? обычный html, chm? -- название? -- разработать интерфейс для плагинов -- разработать нормальный Script editor. в ида это какой то нотепад, без нормальной проверки синтаксиса -- разработать компонент для подсветки синтаксиса -- разработать ядро какие функции здесь нужны? наверно стоит написать все аналогичные тем, что в ида экспортируемые функции в ида мне крайне не нравятся. хотелось бы разбить их по группам, например: BASE_ReadByte(ea: dword): byte BASE_ReadWord(ea: dword): word BASE_ReadDWord(ea: dword): dword PLUGIN_LoadPlugin(path: string): boolean PLUGIN_GetPluginInfo(out Info: TPluginInfo): boolean -- анализ, флирт - это в виде плагина -- BOCHS. обязательно нужно заранее подумать как его в дальнейшем подключить Плагины Как лучше предоставлять плагинам интерфейс? 1. через IInterface/InterfacedObject 2. експортировать нужные функции что ещё? P.S. поле для правки сообщения оказалось маловато ![]() |
|
Создано: 08 июля 2009 12:41 · Поправил: kirillnext · Личное сообщение · #2 |
|
Создано: 08 июля 2009 12:43 · Личное сообщение · #3 |
|
Создано: 08 июля 2009 12:56 · Личное сообщение · #4 |
|
Создано: 08 июля 2009 13:21 · Личное сообщение · #5 sf3lamer пишет: Я хочу написать что-то похожее на ИДА Про на Делфи. что-то похожее по внешнему виду или по функционалу? sf3lamer пишет: Зачем изобр. колесо? Чтобы не зависеть. независимость от чего? в чём заключается твоя зависимость на данный момент? sf3lamer пишет: Сам проект думаю сделать свободным для некоммерческого использования проект либо свободен, либо нет. ты понимаешь, что такое "Свободное программное обеспечение" означает свободу, а не цену. из твоих слов вытекает, что: программа, используемая в некоммерческих целях - свободна, а программа, используемая в коммерческих целях (в антивирусной компании, например), несвободна это бред. тебя удивляет, что IDA используется в коммерческих целях, а не забавы ради? sf3lamer пишет: Насколько я понимаю, ИДА - всего лишь оболчка, запускающая различные плагины над подопытным приложением и отображающая результат их работы в таком контексте операционная система - тоже оболочка для запуска программ, что ни в коей мере не умоляет её сложности sf3lamer пишет: думаю, сначала нужны: ядро и поддержка плагинов, чтобы к разработке могли подключаться волонтёры что значит сначала? а потом что? допиливать кривое ядро? начинать нужно с проектирования продукта, а не с продумывания технических сторон на кого будет ориентирован продукт? на крякеров-любителей? или ты хочешь лишь подкинуть идейку "а зафигачьте-ка халявную версию иды, а я посмотрю чо получается", так чтоль? sf3lamer пишет: Минусы ИДА (кто знает ещё пишите, я добавлю в этот список) - использование легальной документации. пример: искал я p-code-disasm vb5/vb6 для IDA. и кто же мешает тебе написать свой плагин для работы с VB P-Code в IDA? sdk доступен, всё что нужно для написания есть (сам говоришь - аж с 2001 года) sf3lamer пишет: Есть какие-либо советы, как писать, чтобы портировать было легче? есть идея писать на языке, для которого есть компиляторы под разные платформы достаточно того, чтобы программа собиралась при помощи gcc (GNU Compiler Collection) писать можно и на Objective-C, это не принципиально используй кросс-платформенные библиотеки при проектировании интерфейса взаимодействия sf3lamer пишет: -- где хранить код? чтобы все желающие могли его получить. на примете google code или может купить хостинг+домен? одно другому не мешает sf3lamer пишет: нужен багтрекер. как это реализовать? svn? svn - это не багтрекер sf3lamer пишет: в чём лучше вести документацию? обычный html, chm? базовая документация для sdk может быть получена из исходников (типа точно так же документацию можно писать в OpenOffice и экспортировать в любой удобный формат sf3lamer пишет: название как яхту спроектируешь, так она и поплывёт название - дело маркетологов создай качественный продукт, а там и логотип с названием будут sf3lamer пишет: разработать интерфейс для плагинов начни с целей, а не с технической реализации sf3lamer пишет: разработать нормальный Script editor берёшь готовый компонент и настраиваешь подсветку, или тут тоже нужно только своё? sf3lamer пишет: какие функции здесь нужны? наверно стоит написать все аналогичные тем, что в ида я так и не понял, ты хочешь сделать продукт, лучше IDA, или тупо скопировать её функционал? второе нахер не нужно, так что думай. взявшись за копирование текущей версии, ты закончишь продукт дай бог года через два-три (это в лучшем случае) - на тот момент IDA уйдёт вперёд по сравнению с той версией, с которой ты копировал функционал, а догнать ты уже не догонишь поэтому нужно изначально проектировать продукт, который будет нужен тому, для кого ты планируешь его создавать, с учётом всех особенностей рынка sf3lamer пишет: экспортируемые функции в ида мне крайне не нравятся по каким причинам они тебе не нравятся? sf3lamer пишет: хотелось бы разбить их по группам, например: BASE_ReadByte(ea: dword): byte BASE_ReadWord(ea: dword): word мда.... офигенный пример... говорит о том, что те рановато вообще браться за подобный проект уясни же ты одну простую вещь: начинать нужно с целей, а не с технической реализации примитивных функций чтение байта - это не тот уровень, на котором должен быть продуман SDK sf3lamer пишет: анализ, флирт - это в виде плагина и? sf3lamer пишет: BOCHS. обязательно нужно заранее подумать как его в дальнейшем подключить хорошо что ты BOCHS не планируешь писать с нуля ;) sf3lamer пишет: Как лучше предоставлять плагинам интерфейс? через сообщения, например sf3lamer пишет: поле для правки сообщения оказалось маловато напиши текст в отдельном файле, а потом скопируй сюда ----- EnJoy! ![]() |
|
Создано: 08 июля 2009 13:52 · Личное сообщение · #6 sf3lamer пишет: Я хочу написать что-то похожее на ИДА Про на Делфи Оно уже написано на BCB, ты издеваешься? Обскакать не получится. Я бы предложил более реальный план действий: 1) Написать свой GUI на QT, так что бы он юзал ядро существующей IDA. 2) Написать свои загрузчики и процессорные модуля 3) Заменить ядро на свое. Таким образом, люди привыкшие юзать IDA скажут тебе спасибо, за то что все их плагины, скрипты и т.д. остались живы. ----- Реверсивная инженерия - написание кода идентичного натуральному ![]() |
|
Создано: 08 июля 2009 14:39 · Личное сообщение · #7 Сам ты мало что сможешь сделать, для такого "мега" проекта нужно оч много людей, толпой вы сможете намного больше сделать, распределив с умом нагрузку и конкретные задачи, с которыми тот или иной сможет справится лучше за других. Я пока посмотрю за развитием этого проекта, если он и правда сможет организоватся и что-то сделать, то может я и сам помогу чем-то, а пока... ----- Лучше быть одиноким, но свободным © $me ![]() |
|
Создано: 08 июля 2009 15:16 · Личное сообщение · #8 BoRoV пишет: Сам ты мало что сможешь сделать Сделать-то можно. Но для этого надо около 10 лет. И тему создавать на креклабе не обязательно было. А вообще такой проект как свободное ПО довольно сложная задача. Много ли хороших крупных продуктов доступно бесплатно (таких как GIMP)? Ильфак тратит на разработку уйму времени. Это его работа, а значит с этого надо получать деньги на жизнь. А кодить такой проект "вечерами" - одному точно не реал. Единственное что могу сказать, полостью согласен с: Hexxx пишет: люди привыкшие юзать IDA скажут тебе спасибо, за то что все их плагины, скрипты и т.д. остались живы. ![]() |
|
Создано: 08 июля 2009 15:19 · Личное сообщение · #9 Еще один мертвый в зародыше проект. sf3lamer В одного подобную софтину написать, имхо, нереально. Да и надо ли? Лучше вперед двигаться, а не переписывать старое. Даже на базе "публичной" версии 5.2 с sdk можно дохрена чего написать, чего очень не хватает в IDA. Наверное среди анализаторов, HIEW - это апофеоз того, что может написать один человек, причем распространяя НЕ на бесплатной основе. Я уж не знаю сколько Ильфак переписывал движок IDA, но думаю не раз. Для такого проекта сначала надо полгода на бумажке калякать проектную документацию, анализировать и т.п. А теперь, собственно, прикинь реально свои возможности и усилия которые необходимо потратить. ----- Get busy living or get busy dying © ![]() |
|
Создано: 08 июля 2009 17:17 · Поправил: Hexxx · Личное сообщение · #10 Getorix пишет: Для такого проекта сначала надо полгода на бумажке калякать проектную документацию, анализировать и т.п.А теперь, собственно, прикинь реально свои возможности и усилия которые необходимо потратить. Потому надо брать готовое и использовать в своих целях ![]() ----- Реверсивная инженерия - написание кода идентичного натуральному ![]() |
|
Создано: 08 июля 2009 19:36 · Личное сообщение · #11 |
|
Создано: 08 июля 2009 20:07 · Личное сообщение · #12 |
|
Создано: 08 июля 2009 20:41 · Личное сообщение · #13 |
|
Создано: 08 июля 2009 20:53 · Личное сообщение · #14 |
|
Создано: 09 июля 2009 02:15 · Личное сообщение · #15 Тема реально бред. Эта тема из серии "автор не дал мне лицензию - потому я хочу сделать свой аналог его софта". Имхо написать аналог IDA за разумные сроки нереально - слишком многое в ней есть и главное слишком много народу к ней привыкло. Про P-Code вообще глупости - есть готовые скрипты, модернизируй их и все. Если нужно что-то большее есть отдельные проекты имеющие гораздо большие возможности для своих задач. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 14 июля 2009 16:56 · Личное сообщение · #16 |
|
Создано: 14 июля 2009 17:33 · Личное сообщение · #17 |
![]() |
eXeL@B —› Основной форум —› Анализ IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |