сменить заголовок окна у проги

Тема в разделе "WASM.BEGINNERS", создана пользователем ds, 4 сен 2006.

  1. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    Необxодимо поменять заголовок(caption) окна.
    Думал отвертеться пексплолером но ничего не получается (
    http://slil.ru/23087628 - сам ехе(~77Kb).
    Собственно это ехе популярной онлайн рпг lineage и без остального добра из дистрибутива игры(распакованная игра ~5Гб) не запустится.
     
  2. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    Открой L2.exe в любом редакторе рисурсов. Там выбери подпункт Resource\Dialog и меняй свое Upgrade Video Drivers на что хочешь.
     
  3. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    upgrade video drivers ето левый диалог который появляется если дрова старые
    и с заголовком окна игры ничего обшего к сожалению не имеет
     
  4. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    ds

    А програмно реализовать? Или так не подходит? Какая цель преследуеться? Или скажи хоть что в этом окне написано...
     
  5. Pinkbyte

    Pinkbyte Member

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    106
    Можно написать патчик, который одноразово допишет в конец файла требуемую нам строку и поменяет ссылку на нее где надо. Проблема в том, что надо отдебагить исходное приложение и вкурить где у него ставится заголовок на окно. Но это изврат, имхо.
    Если нельзя вскрыть это дело Reshacker, тогда можно написать приложение, которое будет запускать препарируемый exe, ждать появление нужного окна, а затем менять его заголовок через посылку сообщения WM_SETTEXT а затем закрыватся. Вроде самый негеморройный вариант... И вообще такое можно в касание реализовать на программе InqSoft Sign of Misery, там особых программистских талантов не надо даже, а хелп подробный. Так что качай и разбирайся...
     
  6. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    Спасибо за советы, но к сожалению написать приложение запускаюшие l2.exe и ждушие его загрузки не представляется возможным так как моя цель и есть обман подобного(l2dex.exe).
    Схема там примерно такая : запускается l2.exe, идет поиск окна с заголовком Lineade II (FindWindowA) потом память l2.exe патчится к сожалению совсем не понятным мне образом.
    У меня идея такая - пропатчить l2.exe(сменить заголовок окна к примеру на wasm.ru),пропатчить загрузчик так чтобы он искал окно с нужным мне заголовком(wasm.ru)
    и патчил его память.В таком случае не придется разбираться с тем как именно это чудо работает и станет возможно обойти ограничение на количество запускаемых на 1 компьютере клиентов lineage.
     
  7. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    А ты уверен что вся загвоздка именно в заголовке? ТОесть получается что линейка проверяет загружена она уже именно найдя название окна la2?
     
  8. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Ну вот, начинающие за Линейку взялись! Интересно, чем это закончится?
     
  9. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    ds

    Попробуй пооткрывать все длл лежащие рядом с ехе ресхакером. Я думаю что начать искать надо с windows.dll или какой-то такой длл.
     
  10. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    да это точно :)
    надеюсь патчем ;)
    Спасибо за совет, я был не прав полагая что l2dex патчит l2.exe т.к. сдампив l2.exe (воистину самое простое решение:)) ничего не добился :dntknw:
    Это вроде у Шекли - "Чтобы задать правильный вопрос надо знать половину ответа..."
    У меня в голове нету и 10% ответа (
    То есть ситуация такая - есть loader который запускает l2.exe, ждет его загрузки и делает что-то без чего нельзя подключится к серверу. Как отмониторить что именно он делает если детальный разбор кода мне не под силу ?
     
  11. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    ds

    Попробуй поставить Filemon и Regmon, мож они подскажут в каком направлении работать...
     
  12. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    Спасибо за совет у меня действительно появилась идея,а посему хочу задать еще 1 вопрос )
    На компьютере допустим 2 пользователя (пусть будет А и Б). Я захожу используя учетную запись пользователя А, запускаю скажем winamp, после чего меняю пользователя на Б. Открываю диспетчер задач и не естественно не вижу в списке процессов winamp.exe хотя музыка при этом играет...
    Возможно ли осушествить такое(то есть запустить порограмму а потом скрыть ее область памяти) не меняя пользователей с конкретным .exe ?
     
  13. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    Не видишь потому, что не стоит галка "Показывать процессы всех пользователей".
     
  14. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Этого ты точно не сделаешь, но вот спрятать процес от таскменеджера можно...
     
  15. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    А только ли от таскменеджера ? Или можно от другой конкретной программы ?
     
  16. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    ds

    Если перехватывать в нулевом кольце, то не увидит никто :))) Но к чему такая секретность?
     
  17. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    Дело все в том же lineage.
    l2dex.exe налагает ограничение на количество клиентов игры запускаемых на 1 комьпютере.
    Обходится это через несколько пользователей и это как я понимаю потому что один конкретный пользователь не имеет полного доступа к памяти используемой другим пользователем(или я ошибаюсь ?).А как реализовать что-то подобное(сокрытие 1 процесса от другого) ? Нет необходимости прятать его от всего и вся - только от 1 программы.
     
  18. spn_dd

    spn_dd New Member

    Публикаций:
    0
    Регистрация:
    24 май 2006
    Сообщения:
    22
    Адрес:
    Ukraine
    ds

    Думаю что ни один нормальный человек не определяет запущено ли приложение, с помощью ф-ции FindWindow ("...тут рыбы нет..."). Обычно, это делается через создание именованных объектов синхронизации: семафоров, мьютексов и т.д. (потому как эти объекты создаются в системной области памяти и имеют уникальные хэндлы) Смотри CreateMutex(..), CreateSemaphore(..), CreateEvent(..) и т.д.
     
  19. ds

    ds New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    47
    Албанцы делали...=)
     
  20. Pinkbyte

    Pinkbyte Member

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    106
    Блин, если это происходит через FindWindow то чем вам не понравился вариант с SetWindowText? Или вы не можете отловить запущенное окно Линейки?