1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wingsummer-wing-summer.-pehex-explorer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

WingSummer.WingCloudHexExplorer

PEHexExplorer

羽云十六进制浏览器

Автор Открытый исходный код

  • Открытый исходный код — это непросто, поставьте звёздочку Star или сделайте пожертвование (#пожертвование).

🚀 Введение 🚀   Это программное обеспечение написано на чистом C# и основано на моём улучшенном компоненте Be.Windows.Forms.HexBox (https://gitee.com/wingsummer/be. -windows. -forms. -hex- box), который использует лицензию MIT. Его цель — помочь специалистам легко изменять и анализировать файлы PE, а также служить важным инструментом для изучения структуры PE.


🚀 Откровенно говоря 🚀

  Я начал разработку этого проекта в 2021 году 28 июля. Конечно, я провёл некоторую подготовительную работу заранее. Я создал этот репозиторий в конце месяца, впервые часто использовал Git. К сожалению, я случайно испортил свой проект, но, к счастью, у меня была резервная копия. Одна из причин, по которой я закрыл репозиторий, заключалась в том, что программа ещё не была полностью написана, а другая причина заключалась в том, что я был новичком в Git и случайно открыл свой репозиторий. Я открыл репозиторий 4 августа 2021 года, и программа должна быть написана примерно на 80%. В настоящее время программа является относительно зрелым шестнадцатеричным редактором и имеет некоторые базовые функции анализа структуры PE.

  Вот как я придумал этот проект: одна из причин заключается в том, чтобы проверить свои знания о структуре PE и убедиться, что они полезны. Другая причина — практиковать разработку на C#, так как я всегда работал над проектами C++. Это было довольно утомительно, и я чувствовал, что мой уровень владения языком не очень хорош. Наконец, я не смог найти подходящий открытый шестнадцатеричный редактор и библиотеку анализа PE для платформы .Net. Хотя есть библиотека анализа PE, программа вылетает при запуске после загрузки законного файла PE. Я думаю, что эффективность его реализации с использованием массива байтов довольно низкая. Мой метод реализации заключается в использовании FileMapping, который поддерживается .Net изначально, без импорта API. Хотя .Net поддерживает указатели, их использование всё ещё уступает C++, но написание графического интерфейса программы и кода на C# действительно хорошо, и многие полезные вещи уже инкапсулированы.

【Записано 4 августа】

  Неожиданно я продолжал писать код до сегодняшнего дня, хотя планировал изучать DotNet и систему ядра. Сейчас слишком жарко, чтобы учиться, и прогресс идёт медленно. Некоторые настройки были реализованы (за исключением сложных операций со значками и плагинов, которые всё ещё отключены), и анализ структуры DLL PE ещё не полностью завершён. Рамка быстрого позиционирования PE уже существует, рамка плагина уже существует, и функция ещё не реализована. Правый нижний угол главного окна, часть PropertyGrid, предназначена для отображения текущей структуры PE курсора, но она всё ещё приостановлена. В будущем у меня будет слишком много дел, и я больше не смогу быть профессиональным программистом. Программа может быть не совсем готова (и не обязательно), но у меня нет особого желания продолжать писать код.

【Записано 11 августа】

  Сегодня мой полуготовый проект неожиданно попал в список рекомендованных Gitee, что немного превзошло мои ожидания😺. Теперь проект вошёл в следующую стадию разработки, основное внимание уделяется системе плагинов и настройке, а значки более высокого уровня и функции позиционирования курсора PE будут реализованы позже. За это время произошло немало событий, и у меня не было возможности посвятить большую часть своего времени этому проекту.

【Записано 16 августа】


🚀 Архитектура программного обеспечения 🚀

  1. Be.Windows.Forms.HexBox: Этот компонент был улучшен мной на основе шестнадцатеричного редактора Be.Windows.Forms.HexBox, добавляя поддержку горизонтальной полосы прокрутки и некоторых других интерфейсов (например, поддержка заполнения для отмены и восстановления изменений данных), а также улучшая код. Пожалуйста, обратитесь к коду для получения подробной информации. Текущий компонент следует соглашению этого репозитория.
  2. PEProcesser: Это важный компонент для анализа структуры PE, написанный мной. Из-за моих ограниченных знаний о платформе .Net поддержка анализа структуры PE может быть неполной, и некоторые интерфейсы запросов для обычных файлов PE не были инкапсулированы, поэтому приветствуются проблемы или запросы на вытягивание. Текущий компонент соответствует соглашению этого репозитория.
  3. WingCloudHexExplorer: Это основная программа этого программного обеспечения, предоставляющая графический интерфейс пользователя и соответствующая соглашению этого репозитория.

🚀 Заявление об использовании 🚀

  1. Это программное обеспечение предназначено для облегчения редактирования и позиционирования специалистами структуры файлов PE, а также для закрепления моих знаний о PE и C#. Оно также может служить важным вспомогательным инструментом для начинающих изучать структуру PE.
  2. Это программное обеспечение предоставляется только для обучения и обмена, и его нельзя использовать в коммерческих целях. Если вы хотите использовать часть этого программного обеспечения в коммерческих целях, вам необходимо получить моё разрешение.
  3. Я студент, и поскольку это программное обеспечение было написано в свободное время, я не могу своевременно устранять ошибки или предоставлять техническую поддержку. Пожалуйста, поймите.
  4. Я не профессиональный компьютер, и в программе неизбежно будут ошибки. Приветствую отправку проблем.

🚀 Что я улучшил в Be.Windows.Forms.HexBox 🚀

  1. Добавлены функции отмены и восстановления изменённых данных.
  2. Улучшена структура кода и проведена модуляция.
  3. Добавлено несколько свойств и событий.
  4. Усилить базовую маркировку.
  5. Исправлена проблема с выбором цвета заливки блоков.
  6. Усиление функции заливки цветом.
  7. Укрепление разделительных линий и исправление известных ошибок.
  8. Добавлена функция масштабирования.
  9. Поддержка Unicode.
  10. Открыты некоторые частные поля для чтения только атрибутов, что удобно для кодирования.
  11. Изменены некоторые интерфейсы и усилены функции.
  12. Добавлены готовые функции открытия, сохранения и экспорта файлов.

Вышеупомянутое по-прежнему соответствует лицензии MIT, которую я больше не поддерживаю. Ниже приведены функции, которые будут продолжать развиваться в этом проекте и соответствуют текущему соглашению:

  1. Поддержка записи шестнадцатеричных строк с возможностью отмены.
  2. Поддержка горизонтальных полос прокрутки.
  3. Исправлена ошибка, из-за которой при редактировании шестнадцатеричной строки в последней строке она прыгала вверх и вниз.
  4. Добавлен буферный интерфейс, который можно использовать для функций поиска и замены шестнадцатеричными строками, которым не требуется редактировать файлы.
  5. Добавлено больше атрибутов для повышения настраиваемости.
  6. Исправлена ​​ошибка, связанная с тем, что горизонтальная полоса прокрутки вызывает перерисовку и выбор проблем.
  7. Усилена обработка «вы хотите, чтобы я стоял здесь, независимо от того, достаточно ли места, я буду стоять здесь».
  8. Исправлена ошибка удаления шестнадцатеричных символов, когда курсор остаётся в исходном положении после удаления.
  9. Добавлена защита от переполнения.
  10. Добавлена автоматическая настройка положения курсора при изменении длины шестнадцатеричной строки.
  11. Пользовательская функция базового адреса файла.
  12. Инкапсуляция функций чтения и записи памяти процесса для реализации чтения и записи основной памяти процесса (запись в память ещё не протестирована).
  13. Поддержка 64-битных адресов.

🚀 Участие 🚀

Если вы хотите внести свой вклад в код этого программного обеспечения, пожалуйста, отправьте запрос на вытягивание. Этот проект поддерживает пожертвования. Если у вас есть желание, вы можете поддержать его через WeChat или Alipay. Одной бутылки воды достаточно, чтобы повысить мою мотивацию поддерживать этот проект. Спасибо за вашу поддержку. Если вы хотите отправить исправление ошибки или улучшить функцию программы, пожалуйста, отправьте запрос на вытягивание. Любой успешный участник, исправивший ошибку или улучшивший функцию программы, а также спонсор, будет упомянут в файле ReadMe и сопроводительных документах этого репозитория, и вы можете указать свою волю соответствующим образом.

  Участие не означает, что вы будете поддерживать код, вы можете выбрать один или несколько из следующих пунктов для участия:

  1. Техническое обслуживание кода: реализация новых функций или исправление ошибок, техническое обслуживание и обновление кода.
  2. Редактирование документации: в основном это редактирование и написание документации по интерфейсам и учебникам, что очень важно.
  3. Участие в обсуждении: в основном обсуждение будущего развития и направления этого проекта.

🚀 Скриншоты 🚀

Скриншот программы


🚀 Планы на будущее 🚀

  1. Улучшение анализа Dll структуры PE, мои знания о платформе .Net всё ещё недостаточно полны, и у меня есть время изучить принципы и механизмы работы DotNet, а затем вернуться к работе над этим.
  2. Завершите все функции системы плагинов (базовая структура и функции уже полностью реализованы).
  3. Сделайте настройку проекта более богатой.
  4. Завершить поддержку значков.

🚀 Пожертвования 🚀

Ваша поддержка — мощная движущая сила для этого проекта, большое спасибо за вашу поддержку.

Благодарим за поддержку.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это программное обеспечение написано на чистом C# и основано на моём улучшенном компоненте Be.Windows.Forms.HexBox (https://gitee.com/wingsummer/be.-windows.-forms.-hex-box) под лицензией MIT. Оно предназначено для того, чтобы помочь специалистам модифицировать и анализировать PE-файлы, а также может служить важным вспомогательным инструментом д... Развернуть Свернуть
AGPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wingsummer-wing-summer.-pehex-explorer.git
git@api.gitlife.ru:oschina-mirror/wingsummer-wing-summer.-pehex-explorer.git
oschina-mirror
wingsummer-wing-summer.-pehex-explorer
wingsummer-wing-summer.-pehex-explorer
master