Идея гуевого PE-редактора

Тема в разделе "WASM.HEAP", создана пользователем AndreyMust19, 2 июл 2009.

  1. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Все встреченные мной PE-едиторы оперируют только цифрами, записанным в TextBox'ы. Такие редакторы очень не юзабельны. Почему бы не сделать с графическим интерфейсом, где отображается 2 вертикальные полоски - файловый и виртуальный образ. В этих полосках разным цветом обозначаются структуры: заголовок, директории, секции, их пустые места и оверлеи. Секции подписываются своим именем. Мышкой можно передвигать структуры, по умолчанию на расстояние, кратное 100h байт. При этом неправильные действия игнорируются (вроде попытки вытащить импорт за пределы виртуального образа). Удаление структуры по клавише Delete, создание новой - Insert, и выбираем - что создавать.

    Такой внешний вид очень читабелен, позволяет одним взглядом определить упаковщик, и узнать многое о PE-файле. Просто внедрять посторонний код - подвинуть секцию в файле - одним движением мыши! Согласитесь, информация в графическом виде воспринимает лучше, чем в виде текста.

    И вот - не задумывается ли кто о такой программе? Или может нечто подобное уже есть?
     
  2. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    У вас, кто кодит в Windows, есть замечательная утиль - debug.exe. Она это может.

    Assembler Mouse-Programming. Звучит...
     
  3. Clear__Energy

    Clear__Energy New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2009
    Сообщения:
    432
    AndreyMust19
    а сможешь? ;)
     
  4. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    гуй это хорошо, даже очень хорошо
     
  5. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    Такие уже есть, на васме лежит тулз, не помню как называется.
     
  6. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    да консоль рулед, ну...
    [​IMG]
    прям не венда а линупс какойто ^_^
     
  7. Mental_Interrupt

    Mental_Interrupt New Member

    Публикаций:
    0
    Регистрация:
    28 июн 2009
    Сообщения:
    46
    bugaga
    как плагин называется к far'у?
     
  8. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Я лишь предлагаю - какой хороший PE-редактор получится, если его сделать с GUI.
    Clear__Energy
    Опять меня на что-то соблазняют :). Я терпеть не могу писать GUI, больше на рисование похоже, чем на программирование.
     
  9. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    AndreyMust19, а когда мы, наконец, дождёмся релиза вашего PE-антивируса?
     
  10. 737061

    737061 New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    74
    AndreyMust19
    Я в свою очередь предлагаю, язык программирования с высокоурожайными возможностями прела, скоростью чистого нативного кода, кросплатформеностью, возможностью работы с низкоуровневым апи, и авто генерацией кода. Я всего лиш предлагаю.


    PS может хватит пороть бред про всякие параллельные языки, и почию туфту?
     
  11. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    AndreyMust19
    > Почему бы не сделать...
    и правда, а почему бы не сделать, не дожидаясь пока это сделают другие?

    > И вот - не задумывается ли кто о такой программе?
    визуально хачить PE? не думаю, что подобная идея возбуждает тех, кому это нужно. дело даже не в том, что все хакеры поголовно голосуют за консоль (я-то за консоль, но знаю многих, кто предпочитает гуйню), проблема в том, что все графические навороты намного сложнее реализуются чем боксы с цифрами. опять-таки, хачить "правильный" PE - ну какой резон? а поддержать кривой PE (дамп или пакер) - тут и консольные редакторы приходят в ужас и приходится править в hex, что, кстати, не так уж и трудно.

    переместить секцию? гы. это, конечно, возможно, но на практике приходится отдельную программу для этого писать, затачивая ее по ходу дела под конкретный файл. скрипты рулят. на ида-си и пайтоне много чего на эту тему написано. но скрипты это уже _совсем_ не гуйня ;)

    > Или может нечто подобное уже есть?
    большинству хватает PE-TOOLS, ну еще PE-file есть (http://code.google.com/p/pefile/)
     
  12. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    kaspersky
    еще есть pe-explorer, написанный на делфе.
    но и им пользуюсь лишь для правки ресурсов.
     
  13. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Microedition
    > еще есть pe-explorer, написанный на делфе.
    > но и им пользуюсь лишь для правки ресурсов.
    правка ресурсов довольно специфичная задача. в том смысле, что к формату PE ресурсы - это сбоку бантик. а меня вот больше отладочная инфа интересует, там иногда прикольно делать вид, что оставляешь в файле отладочную инфу, а она некорректная. конечно, хакеров этим делом не остановишь, но как мелкая подлянка очень даже ничего. это я к чему - универсальной тулзы, поддерживающей _все_ что есть в PE (особенно в последних версиях) - нету. и вряд ли будет. ибо там много чего есть ;(
     
  14. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Родоначальник темы может воспользоваться компонентом TMPHexEditor и создать желаемое сам. Самая нудная часть (рисование классической таблицы с цифрами по одну сторону и буквами по другую) сделана почтенным аффтаром компонента. А потом можно взять ещё какой-нибудь компонент и прикрутить к этому делу скриптовый движок. А потом написать кучу скриптов, раскрашивающих EXE, DLL, BMP и прочая. И все будут счастливы.
     
  15. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Не, сначала он должен закончить дебагер.
     
  16. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    Partner
    дебаггер, антивирус, еще "Идея гуевого PE-редактора".
    по-моему, надо на чем-то одном остановится.
     
  17. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Я эту тему не просто так в HEAP писал, а не в ZEN или PROJECTS.
    kaspersky
    Ну и не надо. mail.ru и Microsoft Office на этом погорели. Пусть одна тулза работает только с секциями и образами, а другая - понимает директории, в особенности импорт и ресурсы.
    Microedition
    PE-Explorer нормальный, не мудрите, но это все равно не GUI, на консоль под GUI, то есть все равно цифры надо вводить, а не мышкой двигать. Не те примеры, не те... нет таких GUI PE-редакторов, ничего не говорите.
    Нельзя останавливать, иначе прогресс не догонишь. Если кому кажется, что язык, поддерживающий парадигму параллельного выполнения - бред, значит ему не нужны программы с несколькими потоками.
    CyberManiac
    Каждый - про что хочет :). Ну не про графический интерфейс я! И не про HEX-редакторы. А про редактирование PE-шника с помощью мыши - перетаскиванием секций и директорий мышкой, а не ручной ввод нового смещения с копированием данных на новое место и ручным изменением таблицы поправок. Всего перетащили секцию - и программа сделала все, что надо. Неужели все согласны делать все это в ручную?
     
  18. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    AndreyMust19
    > PE-шника с помощью мыши - перетаскиванием секций
    объясни, куда ты секции таскать собрался. что-то я не въезжаю.

    > и директорий мышкой,
    аналогично. куда их таскать?

    > а не ручной ввод нового смещения с копированием данных на новое место
    > и ручным изменением таблицы поправок. Всего перетащили секцию
    > и программа сделала все, что надо. Неужели все согласны делать все это в ручную?
    видишь ли, AI еще не придумали и править приходится руками, да и что там править-то? в основном фиксить PE-заголовки, угробленные протекторами, причем дамперы пытаются их исправить автоматом с простой эвристикой. когда же эвристика не срабатывает, значит, ситуация сложная и прежде чем долбить цифры, в эти цифры нужно въехать. головой. голова эта та штука что с мозгами. клава - вполне окейный интерфейс. а теперь объясни как нужно жестикулировать мышей чтобы пофиксить криво сдампленный файл.

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

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

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

    то есть ты не с того боку подходишь к задаче. проблема не в визуализации, проблема в том, что вообще не ясно как это делать автоматом. потому-то ввод значений руками - пока единственное, что можно предложить. ес-но, про простые случаи мы не говорим, т.к. если все ок, то файл править вообще не надо. ну разве только чтобы над ним поиздеваться ;)
     
  19. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Даешь РЕ-office! Ворд-эксель-пеинт для РЕ формата в массы!
    пыщ. %)
    Или я что-то не так понял?
     
  20. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    это.. если задумка эта вам действительно интересна, то вы и с гуем разберетесь и с прочим (поверьте, гуй ближе к 1вой четверти вашей задумки вам покажется мелочью почти незаметной). ну а если это просто в голове свист, как все предыдущие прожекты, то.. судьба у нее таже будет.

    если вам ваша мысль интересна действительно, то вы вполне можете оттолкнуться, например, от
    http://hte.sourceforge.net/
    (или других открытых проектов поискать)
    если они слабоваты для вас, ну то пишите с 0.. и бог вам в помощь, авось (хоть) чтото сможете. (или поймете чтото, что тоже неплохо совсем)

    ЗЫ есть такой товарищ, ньюмаксимыч.. есть такая ось, "фантом".. и почему ее так назвали?..