Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.07 c
6-1262631738
Антон80
2010-01-04 22:02
2013.03.22
Проблема с темой письма в TIdSMTP


2-1339945459
ankazh
2012-06-17 19:04
2013.03.22
VISIBLE


15-1348572467
dm
2012-09-25 15:27
2013.03.22
bat-файлы, взамодействие с приложением


2-1329288943
TNK
2012-02-15 10:55
2013.03.22
Как преобразовать строку в дату.


15-1351583639
AV
2012-10-30 11:53
2013.03.22
При компиляции проектов консольное окно появляется





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский