Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Свою кнопку в чужое приложение   Найти похожие ветки 

 
stas ©   (2012-06-23 16:57) [0]

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


 
stas ©   (2012-06-23 16:59) [1]

Ну, или с декомпиляцией, но без особых знаний ассемблера.
Программа написана на Delphi.


 
Rouse_ ©   (2012-06-23 17:06) [2]

Можно, подгружай туда свою библиотеку, которая создаст соответствующую кнопку на нужном окне чайлдом и в обработчике кнопки пропиши необходимый тебе функционал. Обработчик естественно АПИ-шный


 
Rouse_ ©   (2012-06-23 17:09) [3]

Чтобы не делать отдельного лаунчера, который будет инжектировать библиотеку в целевой процесс, можно расширить таблицу импорта нужного приложения и прописать туда свою билиотеку, тогда приложение само будет ее при старте подгружать.


 
stas ©   (2012-06-23 17:15) [4]

Спасибо! Понял в каком направлении двигаться. Если появятся по ходу вопросы отпишу.


 
Rouse_ ©   (2012-06-23 17:18) [5]

Угу, там сотственно из сложных моментов, это только определится на каком окне делать кнопку. Но т.к. приложение у тебя не меняется то написать алгоритм детекта думаю не сильно сложно будет.


 
Rouse_ ©   (2012-06-23 17:24) [6]

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


 
Дмитрий С ©   (2012-06-23 18:59) [7]

Помню так же делал, только ланчером. Проблема была, в том, что кнопку я создавал из другого потока, и она на окне основного потока не нажималась, но как-то я это победил.


 
Rouse_ ©   (2012-06-23 19:03) [8]

Ну, тут скорее всего ошибка была в том, что ЦВС нужно было крутить в той-же нити, которой принадлежит созданное окно.


 
Дмитрий С ©   (2012-06-23 20:33) [9]

А вообще это своего рода алгоритм взлома.


 
Rouse_ ©   (2012-06-23 20:36) [10]


> Дмитрий С ©   (23.06.12 20:33) [9]
> А вообще это своего рода алгоритм взлома.

Взлом подразумевает под собой анализ конфигурации защиты и ее отключение.
Любой отладчик и любой программист, пользующийся оным, получается взломщик :)
В данном случае, я бы сказал, что рассматривается вариант системы плагинов не реализованной целевой системой.


 
stas ©   (2012-06-23 21:22) [11]

Rouse_ ©   (23.06.12 17:06) [2]
Спасибо! нашел примеры, попробую разобраться.


 
Дмитрий С ©   (2012-06-23 23:07) [12]


> В данном случае, я бы сказал, что рассматривается вариант
> системы плагинов не реализованной целевой системой.
>

В любом случае это внесение изменений в код, а это наверняка запрещено соглашением. А что дебажить тоже запрещено? как интересно формулируют это в соглашении?


 
Inovet ©   (2012-06-23 23:30) [13]

> [12] Дмитрий С ©   (23.06.12 23:07)
> А что дебажить тоже запрещено? как интересно формулируют
> это в соглашении?

Так и формулируют: запрещено изучение алгоритмов работы программы.


 
Дмитрий С ©   (2012-06-24 01:28) [14]


> Так и формулируют: запрещено изучение алгоритмов работы
> программы.

Интересно как это доказать можно при такой формулировке? Чтение справки в таком случае под эту статью подпадает:)


 
Германн ©   (2012-06-24 02:01) [15]


> Дмитрий С ©   (23.06.12 20:33) [9]
>
> А вообще это своего рода алгоритм взлома.
>

Взлома чего?
Почти не проблема нарисовать в любом чужом приложении свою кнопку. И прикрутить обработчик нажатия на неё. Вот только что этот обработчик сможет сделать? Выдать сообщение типа "Эта программа разработана мной, а вовсе не Васей Пупкиным!"?


 
Дмитрий С ©   (2012-06-24 02:10) [16]


> Взлома чего?

Ну да, кнопка это одно, а вот лезть в таблицу импорта EXE или подгружать dll-ку отдельно - другое, вполне себе взлом.

Хочу похвастаться.
Програмка была, отображала pdf документы из инета, а сохранять не давала (причем это было специально сделано). Вот я и сделал кнопку "Сохранить".


 
Германн ©   (2012-06-24 02:10) [17]

Или действительно добавить некий новый функционал никак не затрагивающий возможные "секреты" программы.


 
Дмитрий С ©   (2012-06-24 02:10) [18]


> Германн ©   (24.06.12 02:10) [17]

Это например какой?


 
Германн ©   (2012-06-24 02:12) [19]


> Хочу похвастаться.
> Програмка была, отображала pdf документы из инета, а сохранять
> не давала (причем это было специально сделано). Вот я и
> сделал кнопку "Сохранить".
>

А вот это действительно взлом. Жди теперь ФСБ :)


 
Германн ©   (2012-06-24 02:29) [20]


> Дмитрий С ©   (24.06.12 02:10) [18]
>
>
> > Германн ©   (24.06.12 02:10) [17]
>
> Это например какой?

Ну было как-то дело лет 7 назад. Добавлял в приложение кнопку, по которой выводился отчёт по БД, который не был предусмотрен автором заранее.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.057 c
2-1337605535
TStas
2012-05-21 17:05
2013.03.22
Плохо ловится WM_DRAWCLIPBOARD ричедитом


15-1329713372
...
2012-02-20 08:49
2013.03.22
Красота БД


15-1344504943
brother
2012-08-09 13:35
2013.03.22
верстка div ом


3-1278051371
ford
2010-07-02 10:16
2013.03.22
плохой индекс в FireBird


2-1333992965
mikluha
2012-04-09 21:36
2013.03.22
EasyListView, VTV, Vshell