delphi компонент tflashplayercontrol

Тема в разделе "WASM.RESEARCH", создана пользователем KOPOJIb, 3 фев 2007.

  1. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    народ помогите! классный дельфовский компонент, для работы с флеш.
    проблема в чем: в триалке выводит по центру компонента надпись "DEMO VERSION".
    вот. найти данные слова в файлах компонента не удалось, также нет и в скомпиленой проге.
    помогите ломануть! вот на всякий случай ссылка http://www.f-in-box.com/
    Заранее спасибо!
     
  2. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Значица, загружаешь в ИДУ модуль flashpackage.bpl (только на предупреждение о смене компайлера отвечай игнорить, а не то повиснешь).
    Смотришь фукнцию:
    @FlashPlayerControl@_16494
    Она преобразует входную строку в строку "DEMO VERSION", эта функция вызывается в обработке события WM_PAINT данного контрола.
    Дальше думай сам :)
     
  3. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    фишка в том что это в DCU надо найти, BPLка каждый раз чуть что рекомпилится, а рекомпилится из DCU, то есть надо там ломать, а там не могу ниче найти((((
     
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    В DCU этого нет. Рисует обработчик, поэтому нужно либо патчить его, либо искать, где соб-но, проверяется лицензия. Эту задачу мне решать некогда, я тебе указал конкретное место, где волшебная фраза появляется (ты же это и просил), теперь мозги растопырь и вперед, с песнями!
    А почему у тебя BPL все время перебилдивается?
     
  5. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    ваще то это у всех так))) мдя...спасибо хоть за такую помощь...
     
  6. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    Не понял, почему bpl должен все время заново строится, извиняйте.
    За такую помощь... особая благодарность :)
     
  7. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    борман, козел проверяет соответствие DCU и BPL, потому что DCU это ведб просто прекомпиленый PAS, а в BPL сидит сам компонент, BPL тоже скомпилена из DCU и чуть что не так, борман все это шустро ребилдит, потому и приходицца ломать корявые DCU, а не простые BPL(((
     
  8. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    Я взял FlashPlayerControl.dcu, пропустил его через DCUInt32, и в полученном файле нашел процедуру CreateStreamObject, которая создает строчку DEMO VERSION и вызывается из метода TFlashPlayerControl.WMPaint. Но что это даст, х.з. Надо сначала решить, как правильно пропатчить код, а для этого надо смотреть в ИДЕ файл, про который я говорил в самом начале.
     
  9. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    О! спасибо большое!буду пытаться...
     
  10. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Люди, вы меня удивляете своей тягой все усложнять. Ну сделайте вы эту строчку нулевой длины, чтобы она в WM_PAINT вообще не отрисовывалась - и дело с концом. Причем компонент надо отломать еще ДО установки, тогда и все созданные с его помощью модули будут нести те же изменения, что и поломанный .dcu.
     
  11. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    CyberManiac
    Длина строки указывается в качестве аргумента функции CreateStreamObject. Можно 0 поставить, кто мешает. Я об этом и говорил - пусть топикстартер сам принимает решение, ключевая точка ему была показана, мозги тоже надо иногда напрягать.
     
  12. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    кажецца я начинаю въезжать! ща попробую!
     
  13. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    Смотришь фукнцию:
    @FlashPlayerControl@_16494

    блин, не могу я ее найти(((
     
  14. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    Насчет
    Длина строки указывается в качестве аргумента функции CreateStreamObject.
    я погорячился. На самом деле идет вызов функции DrawText.

    Попробуй вот что: в интересующем тебя модуле dcu находишь
    CDLN?uDqrHNM
    из этой строки строка DEMO VERSION получается с помощью посимвольного преобразования вида (c ^ 0x10)-0xF.
    Всюду, где встретишь эту строчку, забивай первый символ 0. Должно получиться.
     
  15. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    в опкодах ноль или вместо C поставить ноль? я нашел все это винхексом, попробовал и то и другое, затем заменил всю это строку вопросительными знаками(посмотрел что он соответствует пробелу) текста не стало,но остался белый прямоугольник(((( ща пытаюсь с ним разобраться...
    Спасибо большое за помощь!
     
  16. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    Можешь первый символ C забить нулем, можешь все 12 символов нулями забить. Белый прямоугольник - результат работы функции DrawText.
     
  17. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    ну так я забил! дело в том что он его пропускает через вышеуказанную функцию и получает символ, который отображается, но еще я поискал и нашел длину строки - 0FFFFFFFFh ,
    однако она в DCU появляется меньше раз чем "шифрованная" строка!
     
  18. KOPOJIb

    KOPOJIb New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    64
    СПАСИБО ВСЕМ ОГРОМНОЕ ЗА ПОМОЩЬ!!!
    дело решилось просто, я заменил текст на вопросительные знаки, а прямоугольник убрал пропатчив длину строки просто поискав сигнатуру 6A FF рядом со строкой "CDLN?uDqrHNM" и заменив FF 3 раза на 00.
    еще раз всем огромное спасибо!
    спасибо crypto за детальную помощь и терпение и CyberManiac за идею о изменении длины строки
     
  19. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    KOPOJIb
    Про функцию DrawText читай MSDN.