![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Кроме прочего, стандартноая лицензия на софт, которую, в основном все производители так или иначе клонируют, запрещает копаться в своих бинарных файлах с целью их изменения. Если чужая программа поддерживает какие-то плагины, то делай это штатно, если нет - значит, низя. Если программа твоя - то вообще никаких проблем нет, делай что хочешь на уровне кода.
Насколько я понимаю, можно свою DLL внедрить в чужой процесс во время выполнения, это ничьих прав вроде не нарушает. -------------------- ... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
alias_trinity, какая еще задача вычисления обратного смещения? ты вообще о чем?
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
по моему этого достаточно расширение функционала в том плане, в котором ты его сформулировал, не вяжется с легальной работой ПО, поскольку "любой бинарник" не пересекается с твоей DLL ни по каким вопросам обеспечения безопасности и улучшения интерфейса твоя DLL будет иметь доступ к структуре бинарника, что не подразумевает доступ к внутренним интерфейсам (а они могут сильно различаться на разном ПО), и уж тем более, защита - это двусторонний процесс, подразумевающий участие как приемной, так и передающей стороны, ты можешь защитить чего-то, в данном случае, только на уровне перехвата приемо-передающих функций, использование которых, опять же, не обязательно для всех бинарников, а ведь ты сформулировал задачу именно "для всех бинарников" так что, идея взлома ПО и несанкционированных манипуляций на стороне пользователя здесь явно присутствуют -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
GremlinProg, не выдирай слова из контекста, приводи полные цитаты
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
не слова, а фразы, а в данном случае, "или" - смысла сказанного не меняет -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
приведи пример легального в твоем понимании расширения функционала чужой программы |
|||
|
||||
| GremlinProg |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
пожалуйста, публичный заголовок расширения:
GetExternal - точка соприкосновения программы и DLL, возвращающая инородный объект воздействия IExternal - интерфейс объекта воздействия DLL работает в режиме slave, т.е. программа сама вызывает методы IExternal, а DLL отвечает на них а в самой программе предусмотрено добавление плагинов, экспортирующих функцию типа GetExternal аналогично можно и без интерфейсов обойтись: через функцию, фильтрующую события и состояния приложения, т.е. типа такого
по такому принципу работает оконная процедура все легально, без премудростей а если приложение не поддерживает расширения, значит оно ему и не надо, обращайся в систему поддержки этого ПО и проси такой механизм добавить -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||||
|
|||||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
есть такая штука как сетевые игры. для них пишутся читы, которые обычно тоже представляют собой дллки, которые както патчат клиент игры
вариант обратиться к разработчику в 99% случаев не подходит, поэтому античиты пишутся примерно также как и читы, своими силами и античиты тоже вобщем-то представляют собой дллки которые тоже патчат клиент игры, и не дают другим модулям его патчить да и вообще, вариант "обратиться к разработчику" это абсурдный вариант, никто никогда по просьбе пользователя ничего в проге улучшать не будет, если это сложно и не несет выгоды разработчику GremlinProg, вы бы лучше по теме чтонибудь написали, а не то "почему тема плоха" |
|||
|
||||
| GremlinProg |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну конечно, как ты опишешь разработчику причину? "Я не могу поломать Вашу программу, помогите пожалуйста, дайте доступ к управлению" смешно )
бороться с колорадским жуком можно и лопатой, бегая за каждым по огороду ) нормальную защиту всегда пишет разработчик, а если не может - привлекает тех, кто может и ни в каком вменяемом проекте не внедряются такого рода заплатки-прилипалы, которые потенциально - уже клиенты антивируса боже мой, GoldFinch, а что такое форум поддержки, чем занимаются службы поддержки? анкеты? опросы? Просто так, убивают время?
ради взлома ПО я ни чего советовать не буду, совесть не позволяет -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
GremlinProg, признайтесь честно, вы просто не знаете как решить эту задачу
|
|||
|
||||
| alias_trinity |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 10.5.2007 Репутация: 1 Всего: 1 |
GoldFinch, почитай Жесткое внедрение
Посмотриш как вычислается адрес секции импорта, а потом попробуешь решить обратную задачку - узнать на сколько сместилась таблица импорта в секции импорта |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
alias_trinity, не тупи, что "вылечить" такую "зараженную" прогу достаточно просто удалить из таблицы импорта эту дллку.
про сложность с преобразованием rva<->raw я так и не понял, в этом нет ничего сложного алсо понятие "секция импорта" исчезло уже с десяток лет назад Это сообщение отредактировал(а) GoldFinch - 21.1.2009, 18:53 |
|||
|
||||
| alias_trinity |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 10.5.2007 Репутация: 1 Всего: 1 |
Говорю, покажи код, где лечится... ПОКАЖИ!!!!
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
что показать? как удалить из таблицы импорта один дескриптор?
//char *pImpDir - VA таблицы импорта //int ImpDirSize - размер таблицы импорта //char *pImpDescr - указатель на "лишний" дескриптор импорта //0x14 - 5 dword'ов memcpy(pImpDescr,pImpDescr+0x14,(pImpDir+ImpDirSize)-(pImpDescr+0x14)); |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |