Добрый день.
Чисто случайно решил отвлечься от реальной жизни, которая в 2019 поглотила меня целиком и полностью, и проверить новый ИКС от Яндекса, поэтому нашел вот такую тему https://forum.wowcircle.com/showthread.php?t=851226.
Чтобы поставить все точки над Ё, отвечу на некоторые вопросы.
- При скачивании программы она определяется как вирус.
Да. Это из-за Injector.exe - небольшой программы, которая внедряет основную библиотеку dmorph.dll в процесс игры. По сути она не нужна. Вы можете использовать любой другой инжектор, а этот Injector.exe удалить. Например: при тестировании библиотеки я использовал инжектор встроенный в CheatEngine. Если же Вы решились оставить этот инжектор, то после загрузки файла через браузеры Yandex/Google он изменить расширение файла с припиской "dmoprh.zip помечен как опасный". Просто восстанавливаем расширение на *.zip и распаковываем куда хотите, добавив Injector.exe как исключение для своего антивируса.
- Принцип работы dmorph.dll.
На самом деле она очень простая и маленькая. После инжекта dll в процесс игры запускается дополнительный поток, который инициализирует программу - идет перехват 4х функции:
- окончание отрисовки кадра (DirectX9::Present)
- LUA функции ввода, которая используется для проверки ввода команд (команды dmoprh это или нет)
- получение указателя на игрока, чтобы визуально манипулировать моделями вещей и моделью персонажа
- функция обновления модели персонажа
А дальше просто каждый кадр проверяется была ли введена команда и что нужно обновить, и последующее обновление модели.
- Будут ли последующие обновления программы?
Скорее всего да, будут. Я знаю и знал, когда выпускал последнюю ревизию программы какие баги существуют. Проблема заключается в том, что отслеживать причины этих багов довольно сложно и делать это стандартной "точкой остановки" мягко говоря проблематично. Самым лучшим решением будет создание GUI для вывода отладочной информации. Но ее еще нужно прописать...
- Почему не opensource?
По той же причине, почему не выкладывают другие разработчики... (когда изучался мною вопрос создания dmoprh, оказалось, что знающих людей, как написать такого рода программу уйма). Основная причина - "юные хакеры". Я не хочу говорить, как Бен из фильма "Человек паук", но ничто не мешает перехватывать логин и пароль, если вы оказались на экране ввода пользователя & пароля, если dll уже был инжектирован, т.к. он использует "LUA функции ввода, которая используется для проверки ввода команд". Если сделать открытый исходный код, то любой сможет что-нибудь дописать (отправку перехваченных аккаунтов на свой серв) и выдавать эту программу, как "dmorph с открытым исходным кодом". А учитывая то, что образовался небольшой рынок по продаже аккаунтов ВоВ, то было бы безответственно дать уже наполовину написанный инструментарий для "юных хакеров".
- Спасибо за откровение, но как нам узнать, что текущая версия dmorph ничем подобным не занимается?
Все очень просто - запустить любой трассировщик пакетов без dmoprh и после, и убедится в том, что никаких "лишних" серверов при отправке пакетов там нет.
- Будут ли масштабные обновления функционала?
В планах есть некоторые идеи, которые должны как упростить использование dmoprh, так и увеличить его функционал. Например: когда будет написан GUI, то его же можно использовать для визуального отображения списков всех моделей и итемов, которые можно применить. Будет выглядит как гардеробная в актуальном World of Warcraft, но вызываться возможно, как консоль в первой версии Half-Life.
По поводу "моделей рас, которых не удалось найти без 'впаяной' одежды" все будет зависеть от того, удастся ли найти другой подход смены расы. А для этого придется много времени провести в дизассемблированном коде.
Так же будет изменен сайт, чтобы был небольшой FAQ для уже известных проблем, а так же обратная связь для исправлений багов и модификации программы.
PS: прошу модераторов перенести тему в нужный раздел.