Все встреченные мной PE-едиторы оперируют только цифрами, записанным в TextBox'ы. Такие редакторы очень не юзабельны. Почему бы не сделать с графическим интерфейсом, где отображается 2 вертикальные полоски - файловый и виртуальный образ. В этих полосках разным цветом обозначаются структуры: заголовок, директории, секции, их пустые места и оверлеи. Секции подписываются своим именем. Мышкой можно передвигать структуры, по умолчанию на расстояние, кратное 100h байт. При этом неправильные действия игнорируются (вроде попытки вытащить импорт за пределы виртуального образа). Удаление структуры по клавише Delete, создание новой - Insert, и выбираем - что создавать. Такой внешний вид очень читабелен, позволяет одним взглядом определить упаковщик, и узнать многое о PE-файле. Просто внедрять посторонний код - подвинуть секцию в файле - одним движением мыши! Согласитесь, информация в графическом виде воспринимает лучше, чем в виде текста. И вот - не задумывается ли кто о такой программе? Или может нечто подобное уже есть?
У вас, кто кодит в Windows, есть замечательная утиль - debug.exe. Она это может. Assembler Mouse-Programming. Звучит...
Я лишь предлагаю - какой хороший PE-редактор получится, если его сделать с GUI. Clear__Energy Опять меня на что-то соблазняют . Я терпеть не могу писать GUI, больше на рисование похоже, чем на программирование.
AndreyMust19 Я в свою очередь предлагаю, язык программирования с высокоурожайными возможностями прела, скоростью чистого нативного кода, кросплатформеностью, возможностью работы с низкоуровневым апи, и авто генерацией кода. Я всего лиш предлагаю. PS может хватит пороть бред про всякие параллельные языки, и почию туфту?
AndreyMust19 > Почему бы не сделать... и правда, а почему бы не сделать, не дожидаясь пока это сделают другие? > И вот - не задумывается ли кто о такой программе? визуально хачить PE? не думаю, что подобная идея возбуждает тех, кому это нужно. дело даже не в том, что все хакеры поголовно голосуют за консоль (я-то за консоль, но знаю многих, кто предпочитает гуйню), проблема в том, что все графические навороты намного сложнее реализуются чем боксы с цифрами. опять-таки, хачить "правильный" PE - ну какой резон? а поддержать кривой PE (дамп или пакер) - тут и консольные редакторы приходят в ужас и приходится править в hex, что, кстати, не так уж и трудно. переместить секцию? гы. это, конечно, возможно, но на практике приходится отдельную программу для этого писать, затачивая ее по ходу дела под конкретный файл. скрипты рулят. на ида-си и пайтоне много чего на эту тему написано. но скрипты это уже _совсем_ не гуйня > Или может нечто подобное уже есть? большинству хватает PE-TOOLS, ну еще PE-file есть (http://code.google.com/p/pefile/)
Microedition > еще есть pe-explorer, написанный на делфе. > но и им пользуюсь лишь для правки ресурсов. правка ресурсов довольно специфичная задача. в том смысле, что к формату PE ресурсы - это сбоку бантик. а меня вот больше отладочная инфа интересует, там иногда прикольно делать вид, что оставляешь в файле отладочную инфу, а она некорректная. конечно, хакеров этим делом не остановишь, но как мелкая подлянка очень даже ничего. это я к чему - универсальной тулзы, поддерживающей _все_ что есть в PE (особенно в последних версиях) - нету. и вряд ли будет. ибо там много чего есть ;(
Родоначальник темы может воспользоваться компонентом TMPHexEditor и создать желаемое сам. Самая нудная часть (рисование классической таблицы с цифрами по одну сторону и буквами по другую) сделана почтенным аффтаром компонента. А потом можно взять ещё какой-нибудь компонент и прикрутить к этому делу скриптовый движок. А потом написать кучу скриптов, раскрашивающих EXE, DLL, BMP и прочая. И все будут счастливы.
Partner дебаггер, антивирус, еще "Идея гуевого PE-редактора". по-моему, надо на чем-то одном остановится.
Я эту тему не просто так в HEAP писал, а не в ZEN или PROJECTS. kaspersky Ну и не надо. mail.ru и Microsoft Office на этом погорели. Пусть одна тулза работает только с секциями и образами, а другая - понимает директории, в особенности импорт и ресурсы. Microedition PE-Explorer нормальный, не мудрите, но это все равно не GUI, на консоль под GUI, то есть все равно цифры надо вводить, а не мышкой двигать. Не те примеры, не те... нет таких GUI PE-редакторов, ничего не говорите. Нельзя останавливать, иначе прогресс не догонишь. Если кому кажется, что язык, поддерживающий парадигму параллельного выполнения - бред, значит ему не нужны программы с несколькими потоками. CyberManiac Каждый - про что хочет . Ну не про графический интерфейс я! И не про HEX-редакторы. А про редактирование PE-шника с помощью мыши - перетаскиванием секций и директорий мышкой, а не ручной ввод нового смещения с копированием данных на новое место и ручным изменением таблицы поправок. Всего перетащили секцию - и программа сделала все, что надо. Неужели все согласны делать все это в ручную?
AndreyMust19 > PE-шника с помощью мыши - перетаскиванием секций объясни, куда ты секции таскать собрался. что-то я не въезжаю. > и директорий мышкой, аналогично. куда их таскать? > а не ручной ввод нового смещения с копированием данных на новое место > и ручным изменением таблицы поправок. Всего перетащили секцию > и программа сделала все, что надо. Неужели все согласны делать все это в ручную? видишь ли, AI еще не придумали и править приходится руками, да и что там править-то? в основном фиксить PE-заголовки, угробленные протекторами, причем дамперы пытаются их исправить автоматом с простой эвристикой. когда же эвристика не срабатывает, значит, ситуация сложная и прежде чем долбить цифры, в эти цифры нужно въехать. головой. голова эта та штука что с мозгами. клава - вполне окейный интерфейс. а теперь объясни как нужно жестикулировать мышей чтобы пофиксить криво сдампленный файл. на фига тебе таскать секции? да еще в графическом представлении? если это действительно нужно - то любая програ, работающая с PE, могла бы сделать это и автоматом. опять-таки, никакакой вменяемый хакер не будет юзать мышь, если можно написать скрипт или задать опции линкера или еще чего нидь там. представим себе, что ты компилируешь файл и хочешь слить все секции в одну дабы он был поменьше. опции линкера позволяют задать их один раз и больше не трахаться. а с мышей ты будешь трахаться при каждом ребилде. и давая кому-то файл прилгать к нему инструкцию вместе с редактором нахр это кому надо? если же ты правишь файл всего один раз, то совершенно непринципиально чем это делать. хоть мышей, хоть клавой. а если ты правишь разные файлы однократно, но по много раз на дню, то тебе даже hiew будет тормозом. ведь это ж сколько лишних нажатий надо сделать, чтобы войти в то или иное меню, когда ты и в hex-формате точно помнишь, где какое поле расположено. подогнал к нему курсор и отредактировал. то есть теоритически визуализация это не бред и местами она очень даже полезна. ну для обучения например, но кто этим будет заниматься? без глубокого знания PE формата туда нечего и соваться, ибо такой редактор будет глючить и падать даже на вполне честных файлах. вот только те, кто знают PE-формат работают либо на интерес, либо за деньги, а денег на такой тулзе не заработаешь - уж слишком узок круг пользователей. и какой интерес ее писать?! тут и без визуализации проблем хватает. даже просто _отобразить_ PE-структуры при условии, что они могут быть искажены - уже охренительно сложная задача и пока не известна _ни_ _одна_ тулзень, которую бы не удавалось завалить. и это простое отображение структур. а всякая попытка их изменения - это вообще капец. то есть ты не с того боку подходишь к задаче. проблема не в визуализации, проблема в том, что вообще не ясно как это делать автоматом. потому-то ввод значений руками - пока единственное, что можно предложить. ес-но, про простые случаи мы не говорим, т.к. если все ок, то файл править вообще не надо. ну разве только чтобы над ним поиздеваться
это.. если задумка эта вам действительно интересна, то вы и с гуем разберетесь и с прочим (поверьте, гуй ближе к 1вой четверти вашей задумки вам покажется мелочью почти незаметной). ну а если это просто в голове свист, как все предыдущие прожекты, то.. судьба у нее таже будет. если вам ваша мысль интересна действительно, то вы вполне можете оттолкнуться, например, от http://hte.sourceforge.net/ (или других открытых проектов поискать) если они слабоваты для вас, ну то пишите с 0.. и бог вам в помощь, авось (хоть) чтото сможете. (или поймете чтото, что тоже неплохо совсем) ЗЫ есть такой товарищ, ньюмаксимыч.. есть такая ось, "фантом".. и почему ее так назвали?..