На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
  
> Нужно изменить цвет шрифта и сам шрифт в DLL , Нужно изменить цвет шрифта и сам шрифт
    Привет Гуру C++, очень нужна помощь, сам не разобрался что и как по сути. Проблема в том что есть один плагин, и унего есть ресурсы внутри такие как PNG, файлов таблиц и шрифтов нет. Очень нужно изменить цвет шрифта, или помочь создать патч быстрой замены цвета.. Размер кода 900Кб и написан он на C++. Пару дней возился с этим пустяком, и ничего не решил..

    Пример.
    https://thumb.ibb.co/fD6drw/nice.png

    Нашел что за текст в файле отвечает:

    GetSysColorBrush
    SetTextColor
    CreateFontIndirectA - Если изменить на: DeleteObject (шрифт стает без формата, большим но уже другим, только вот цвет остается зеленым, #476E08)

    Нужные параметры:
    Цвет мне нужен #FFC09F и для варианта #383529 чтобы выбрать..
    Если возможно заменить Шрифт на: Arial Narrow, [b] жирный, размер: 10px для lcd 12

    Само устройство))) скрин
    https://ibb.co/kJxJrw

    DLL для De-кодинга.
    http://www74.zippyshare.com/v/6zozJmMO/file.html

    Помогите добрые люди. Я так почитал форум у Вас здесь много хороших умов!
      :lol: Интересное название файлика у вас
      user posted image
        Я не понял сути вопроса. Вопрос в том, как выполнить незаконное изменение бинарного образа для модификации вывода текста?
          Цитата VisualProg @

          Это не вирус, просто стиль иногда так подписывают в честь Access Virus TI

          Добавлено
          Цитата B.V. @
          Я не понял сути вопроса. Вопрос в том, как выполнить незаконное изменение бинарного образа для модификации вывода текста?

          Думаю отвечу коротко,

          Нужно изменить вывод шрифта из Оригинал "A" в "Б" подмену

          Если "A" у нас он зеленого цвета,
          То "Б" нужен #FFC09F и
          Или "Б" #383529

          Мне на другом форуме писали что можно принить Хуки..


          Цитата

          Создаете шрифтовой объект через CreateFont, потом выбираете через SelectObject. В хуке, разумеется.
          UPD Ну и цветом рулить через SetTextColor.


          Дело в том что я не понимаю как применять хуки..
            Да, можно через хуки. ПОИСК: CreateRemoteThread
            Но это может поломать внутреннюю логику отрисовки, если она не известна. Если известно, что в целевом окне на обработке WM_PAINT не происходит установки шрифта и цвета текста, в инжектированной DLL можно произвести сабклассинг окна и произвести соответствующую установку HFONT для контекста вывода -> BeginPaint, а затем вызвать оригинальный обработчик по иерархии. Если же целевое окно в этом месте меняет шрифт/цвет, то такой метод не сработает и потребуется подмена функций CreateFont/SetTextColor методом сплайсинга.
              Цитата B.V. @
              Да, можно через хуки. ПОИСК: CreateRemoteThread
              Но это может поломать внутреннюю логику отрисовки, если она не известна. Если известно, что в целевом окне на обработке WM_PAINT не происходит установки шрифта и цвета текста, в инжектированной DLL можно произвести сабклассинг окна и произвести соответствующую установку HFONT для контекста вывода -> BeginPaint, а затем вызвать оригинальный обработчик по иерархии. Если же целевое окно в этом месте меняет шрифт/цвет, то такой метод не сработает и потребуется подмена функций CreateFont/SetTextColor методом сплайсинга.

              Эх друг мой, если бы я понимал как это сделать, я кроме как изменить в HEX редакторе ссылки на свою ничего не умею, для меня C+ очень сложная часть понимания, но в любом случае спасибо большое за консультацию, и ответ..

              Добавлю что это простой плагин VST для DAW секвенсоров. Там по сути текст ничего не меняет как кроме того что выводит лишь информацию которая розложена в самой .dll, файл декомелируеться PE Explorer. IDA, но я там ничего не понимаю..
              Сообщение отредактировано: power2009 -
                Цитата power2009 @
                Эх друг мой, если бы я понимал как это сделать, я кроме как изменить в HEX редакторе ссылки на свою ничего не умею, для меня C+ очень сложная часть понимания,

                Поставленная задача как раз и является стимулом научиться.
                А ты думаешь каким образом изучается подобные вопросы ?

                Вот похожая тема
                1. Надо написать свою dll.
                2. Занести ссылку на неё в импрот подсудимой dll.
                3. Перехватить указанные тобой функции и подменить их своими.
                GetSysColorBrush
                SetTextColor
                CreateFontIndirectA
                Будем менять параметры в момент вызова - цвет, фонт итд.
                ---
                Возможная проблема - эти функции могут вызываться из многих
                точек оригинальной программы с разными целями. Отличать разные вызовы можно по адресу
                возврата.
                Как-то так.
                Сообщение отредактировано: ЫукпШ -
                  Цитата ЫукпШ @
                  Цитата power2009 @
                  Эх друг мой, если бы я понимал как это сделать, я кроме как изменить в HEX редакторе ссылки на свою ничего не умею, для меня C+ очень сложная часть понимания,

                  Поставленная задача как раз и является стимулом научиться.
                  А ты думаешь каким образом изучается подобные вопросы ?

                  Вот похожая тема
                  1. Надо написать свою dll.
                  2. Занести ссылку на неё в импрот подсудимой dll.
                  3. Перехватить указанные тобой функции и подменить их своими.
                  GetSysColorBrush
                  SetTextColor
                  CreateFontIndirectA
                  Будем менять параметры в момент вызова - цвет, фонт итд.
                  ---
                  Возможная проблема - эти функции могут вызываться из многих
                  точек оригинальной программы с разными целями. Отличать разные вызовы можно по адресу
                  возврата.
                  Как-то так.

                  Полностью согласен, я по тому обратился за помощью на форум абы мне помогли с этим делом, за одно я буду видеть как это сделано..
                    Цитата power2009 @
                    Полностью согласен, я по тому обратился за помощью на форум абы мне помогли с этим делом, за одно я буду видеть как это сделано..

                    1. Исходник на с++ перехвата импорта приаттачен в вышеупомянутой теме.
                    2. Исходники и руководства по написанию dll мнжно найти в Сети.
                    Начинать можно со 2-го пункта.
                      Цитата ЫукпШ @
                      Цитата power2009 @
                      Полностью согласен, я по тому обратился за помощью на форум абы мне помогли с этим делом, за одно я буду видеть как это сделано..

                      1. Исходник на с++ перехвата импорта приаттачен в вышеупомянутой теме.
                      2. Исходники и руководства по написанию dll мнжно найти в Сети.
                      Начинать можно со 2-го пункта.

                      ясно, оставлю всё как есть, 5 ночей за разбиранием кодов которых не понимаю это слишком, Вам конечно это дело можно понять и проще чем мне зубрить программатику, из за одного DLL , у меня нет желание заниматься програмистикой в будущем.. Я думал это не сложно профессионалу организовать.. Но увы вижу наоборот..
                        Цитата power2009 @
                        у меня нет желание заниматься програмистикой в будущем.. Я думал это не сложно профессионалу организовать..

                        Конечно "не сложно", если это будет простимулированно денежным эквивалентом. Есть отдельная ветка форума для таких случаев. У вас есть, хоть и не большая, но мотивация эту библиотеку ковырять, у остальных мотивации ещё меньше ;)

                        Добавлено
                        Эх, наврал, нету такой ветки... Хотя, раньше подобные вопросы встречал в "Помощи для студентов", но, это очень неочевидное название. В любом случае, есть куча ресурсов посвящённых вашей задачи.

                        Скрытый текст
                        Надеюсь, Борис меня простит...
                        Как вариант:
                        Скрытый текст
                        forum.exploit.in
                        Сообщение отредактировано: VisualProg -
                          Цитата VisualProg @
                          Цитата power2009 @
                          у меня нет желание заниматься програмистикой в будущем.. Я думал это не сложно профессионалу организовать..

                          Конечно "не сложно", если это будет простимулированно денежным эквивалентом. Есть отдельная ветка форума для таких случаев. У вас есть, хоть и не большая, но мотивация эту библиотеку ковырять, у остальных мотивации ещё меньше ;)

                          Добавлено
                          Эх, наврал, нету такой ветки... Хотя, раньше подобные вопросы встречал в "Помощи для студентов", но, это очень неочевидное название. В любом случае, есть куча ресурсов посвящённых вашей задачи.

                          Скрытый текст
                          Надеюсь, Борис меня простит...
                          Как вариант:
                          Скрытый текст
                          forum.exploit.in

                          Хм, ну это понятно что за деньги это раз и всё, но суть в том что такие ресурсы за деньги есть на каждом шагу, я простой человек и пользуюсь даже вот этим VST плагином бесплатно, пират, да..
                          Я обращался за помощью, думал человеку подковному этого не составит труда сделать, мне проще оставить всё как есть и плюнуть на эту идею, но видимо нет людей которые помогут, здесь точно.. ( А жаль, советовали друзья этот форум.. Печально..
                            Цитата power2009 @
                            Я обращался за помощью, думал человеку подковному этого не составит труда сделать, мне проще оставить всё как есть и плюнуть на эту идею, но видимо нет людей которые помогут, здесь точно.. ( А жаль, советовали друзья этот форум.. Печально..

                            А что ты подразумеваешь под словом "помочь" ?
                            Целиком решить эту задачу ?
                            я вообще с работы отвечаю - у меня начались горячие деньки.
                            Только сейчас присел чаю попить.
                            ---
                            Что касается твоей проблемы, то она предполагает исследования
                            с неизвестным результатом.
                            Возможно, автор dll и не пользуется указанными тобой функциями.
                            Может, он готовые битовые образы выводит.
                              Цитата power2009 @
                              Я обращался за помощью, думал человеку подковному этого не составит труда сделать

                              Это распространённое заблуждение. Тривиальные на первый взгляд задачи могут требовать нетривиальных решений. Как и в данном случае, это реверс-инжиниринг и написание хуковой DLL. Занятие не тривиальное и требующее определённого времени и сил. Даже при условии наличия наработок.
                              У нас для разовых задач есть раздел Разовые заказы и подработка. Если ты готов оплатить работу, переезжаем с топиком туда.
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0432 ]   [ 16 queries used ]   [ Generated: 19.04.24, 05:54 GMT ]