И снова баннеры - Download Accelerator 5.3.0.0Delphi , Программа и Интерфейс , Исследование программИ снова баннеры - Download Accelerator 5.3.0.0
Оформил: DeeCo [Вступление:] Мне захотелось чего-нибудь поломать, я зашёл на download.com.com и нашел там это чудо. Программа очень странная, потому как вся документация, все хелпы и readme находятся в ... Интернете! Так что я не смог прочитать ни сколько стоит прога, ни как её зарегить. Наверное, американосы уже привыкли, что у каждого должна быть выделенка, а диал-ап с поминутной оплатой - это для них то же самое, что для нас чунгачкук с луком :) [Беглый осмотр:] Я запустил прогу и первое что я увидел - это большой баннер с рекламой. Ну вот, опять баннеры, а с другой стороны вспомню как эту хрень убирать :) [Начинаем:] В борьбе с баннерами есть 2 ключевых момента: 1) Отключить механизм загрузки самих баннеров из Инета, т.к. это занимает и без того небольшую скорость моего модема. 2) Найти процедуру создания окошка с баннером и сделать так, чтобы размер баннера в высоту стал равен 0, и подтянуть все остальные окошки вверх до упора под главное меню. [Приступим к пункту 1:] Для начала я дизассемблировал программу в W32Dasm'е и защел в String Reference. Там было дохрена всяких строк, но я искал пока неизвестно что и...нашел строку: * Possible StringData Ref from Data Obj ->"http://ads.downloadaccelerator.com/cgi-bin/ads"ОООчень похоже на адрес, откуда прога тянет картинки баннеров, это видно по "ads", что очень часто расшифровывается как ADultSystem :) вот и отлично, можно прямо щас затереть в программе этот адрес и больше прога никуда не сунется. Этот вариант лучше, чем искать таймер, затирать вызовы функции, потому как такие затирания могут нарушить работу проги, а нам это не надо, так что обойдёмся малой кровью. Затираем. [Приступим к пункту 2:] Это уже посложнее, потому как единого подхода к этой проблеме нет и каждый раз чего-то новенькое приходится выдумывать. Для начала я взял утилиту Spy и выяснил, что баннерное окно - это (как обычно в таких ситуациях) два окна: одно родительское (617x80) другое - сам баннер (468x60) размеры баннерного окна говорят уже о том, что он - баннер. Теперь мне нужно найти функцию создания этого окна, а в функцию параметры чаще всего передаются через стек, т.е. командой push. Значит мне нужно найти команду: push 00000050 т.к. высота окна 80 = 50h Я открываю DAP.exe в HView, перехожу в режим ассемблера и нажимаю два раза F7 это поиск по ассемблерной команде, ввожу туда push 50 и начинаю искать. Такая команда встречается 7 раз. Теперь я методом тыка по очереди в каждом из семи раз меняю push 50 на push 00, т.е. чтобы размер окна был равен 0, и проверяю. На четвертой попытке у меня получилось: .00461F2D: 6A02 push 002 .00461F2F: 6A50 push 050 .00461F31: 50 push eax .00461F32: 6A00 push 000 .00461F34: 6A00 push 000 .00461F36: 6A00 push 000 .00461F38: 8BCE mov ecx,esi .00461F3A: E8737F0400 call MFC42.6197 Очень похоже на вызов функции создания окна. Меняем по адресу 00461F2F: push 50 на push 00 и запускаем программу: Окна с баннером больше нет, а все остальные окна подтянуты под главное меню. УрА! Исследовал и наваял туториал: vallkor //PTDS E-mail: vallkor@chat.ru (vallkor@etel.dn.ua) Page: http://vallkor.chat.ru
Автор рассказывает о том, как он преодолел баннеры в программе Download Accelerator 5.3.0.0, отключив механизм загрузки баннеров из Интернета и изменяя размер окна с баннером до нуля. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |