Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 679

•  TDictionary Custom Sort  5 814

•  Fast Watermark Sources  5 613

•  3D Designer  8 238

•  Sik Screen Capture  5 935

•  Patch Maker  6 396

•  Айболит (remote control)  6 389

•  ListBox Drag & Drop  5 246

•  Доска для игры Реверси  94 575

•  Графические эффекты  6 580

•  Рисование по маске  5 657

•  Перетаскивание изображений  4 769

•  Canvas Drawing  5 144

•  Рисование Луны  4 877

•  Поворот изображения  4 424

•  Рисование стержней  3 126

•  Paint on Shape  2 369

•  Генератор кроссвордов  3 238

•  Головоломка Paletto  2 559

•  Теорема Монжа об окружностях  3 337

•  Пазл Numbrix  2 210

•  Заборы и коммивояжеры  2 857

•  Игра HIP  1 831

•  Игра Go (Го)  1 751

•  Симулятор лифта  2 080

•  Программа укладки плитки  1 808

•  Генератор лабиринта  2 249

•  Проверка числового ввода  1 934

•  HEX View  2 236

•  Физический маятник  1 919

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

И снова баннеры - Download Accelerator 5.3.0.0



Оформил: DeeCo
Автор: http://www.cracklab.narod.ru

Page: http://www.downloadaccelerator.com/

[Вступление:]
Мне захотелось чего-нибудь поломать, я зашёл на 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 Plus

File Downloader

WebSite Downloader

INDY HTTP Download

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте