Задать вопрос
@quane

Как изменить программу написанную на C++?

Есть гравфический редактор Paint Tool Sai, написанный на C++. В нем нет темной темы, хочу попробовать добавить. Читал, что можно диссасемблировать exe и встроить туда dll, но не совсем понимаю, как это правильно сделать. Посоветуйте что, буду крайне признателен
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Во-первых: Зачем вообще изобретать велосипед? Если конечная цель - включить тёмную тему в sai, то это уже решено несколько лет как:
https://vk.com/wall-203085393_2592
https://www.deviantart.com/nyamhk/art/Dark-mode-in...
https://github.com/NotBoogie/SaiThemeColorChanger/...

Если больше интересно пройти самому путь, то тогда:

1. Вооружаешься глубоким пониманием работы компьютера и операционной системы, и умением читать ассемблер.
2. Берёшь в руки какую-нибудь IDA Pro и лезешь разбираться в том, как программа работает и что можно попробовать поправить.

3. Исходя предыдущего пункта уже решаешь, возможно ли реализовать задумку и на сколько это реально.
Например можно попытаться найти константы с цветами элементов интерфейса и изменить их значения - в таком случае даже ничего подгружать не придётся.

Какого-то универсального способа/алгоритма нет.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Дизассемблирование и реверс бинарных файлов - это очень сложная задача.
Она стоит денег и обычно под это дело нанимают людей с опытом.

Были такие инструменты как SoftIce, IDA Pro. Они помогали профессионалам в дизассемблере
бинарей. Можешь попробовать но сразу скажу что это не задача на 5 минут. И в этой области
практически нет кухонных советов. Очень многие вещи не документированы и их надо
понимать в суперпозиции с опытом например использования Ассемблера и знания архитектуры CPU.
Короче это очень долгая и самостоятельная активность. И реально очень мало людей смогут
тебе помогать в процессе.

Хотя возможно твоя задача решается проще. Если сам создатель Paint Tool Sai заложил туда
такую возможность - то следует ей сначала воспользоваться. Это будет быстрее и без
лишнего оверхеда.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы