Jump to content
Korean Random

GPCracker

User
  • Posts

    2,827
  • Joined

  • Last visited

  • Days Won

    61

Everything posted by GPCracker

  1. Сначала идет закон. По крайней мере в РФ. И никакое соглашение не может ему противоречить. А это статья из ГК. Ага. Обучать дебаггер качественно форматировать рандомный текст в имени файла.) Дебаггер и так качественно сделан. Я говорю не о том, чтобы оставить глобальные имена незашифрованными, а шифровать их по-особому, то есть обратимо для автора. Список или старый советский метод) Чтобы можно было нормально парсить логи. Я тут Гоголя не цитировал) Хук на __import__ и возвращать враппер на объект. В обертке перехватывать всю внешку. Так половину модов можно и не ломать защиту - по внешней активности все понятно будет)
  2. Не совсем понял, к чему тут о try-except-finally. Про это мне кажется все знают). Речь идет о том, что некоторые защиты "портят" логи и идентифицировать лагающий мод невозможно.
  3. Если это относительно экрана (посмертие), то в принципе можно, только там код другой будет) Если относительно танков (как маркеры), то там через BoundingBox будет, не работал с ним, не могу сказать ничего, но тоже что-то подобное будет.
  4. Речь идет об определении что и с чем конфликтует и решении проблемы через конфиги / удаление менее нужного. Тем более Можно сделать и защиту норм, и отладку более-менее нормальную. Просто нужно обфускацию прогонять только по локальным переменным, глобальным давать специальные имена, и в пакерах codeObject создавать с нормальным именем файла. Там всего три параметра - файл, строка, метод. Строкой и методом можно пренебречь. Но файл должен указываться (имя файла-мода), чтоб был виден источник ошибки. Суть вопроса я как раз понимаю. В отладке пишется файл, метод и строка. Для пользователя важно по сути только имя файла (узнать в каком моде лаги). Остальное нужно автору для устранения ошибки, когда ему лог скинут. Из этих соображений можно грамотно изменять lnotab с учетом изменения кода, а глобальным именам давать названия, понятные только автору (как в СССР с секретными хим. соединениями) (грамотно подменять по списку соответствия varnames или просто изначально давать им не понятные посторонним названия). Ибо самая мощная защита - это не крипто-алгоритм, а грамотный человек. Хотя индусы тоже криптовать умеют)
  5. Как сделать себе свою лампочку: 1. Для создания "эффекта видео" необходимо менять кадр 24 раза в секунду минимум. За это отвечает параметр "interval". 1 / ФПС = interval. 2. Каждое изображение (кадр) сохраняется в отдельный файл DDS, предпочтительный формат 8.8.8.8 ARGB 32bpp. 3. Photoshop + пакетная обработка (ЕМНИП) в помощь. Для переименования - файловый менеджер. 4. Параметр "baseName" определяет положение иконок в папке с модами. К нему применяется String.format(index). Лучше его не трогать, чтоб путаницы не было. 5. Начальное значение index = 0, каждые "interval" секунд увеличивается на 1, когда равен "quantity" - анимация прекращается. 6. Параметр "quantity" определяет количество текстур, нумерация [0..(q-1)] Плагин DDS для Photoshop З.Ы. Я в графике не шарю( Upd. По возможности, в скором времени попробую реализовать маппинг (указание области текстуры для отображения), чтобы вместо кучи файлов и постоянной прогрузки текстур использовать одну большую, прогружаемую при загрузке мода.
  6. В том то и смысл, что не понял. Если что-то где-то работает не так / конфликтует это можно поправить / решить конфликт, на основе отладочной информации, а вот когда она ***** настолько, что непонятно, откуда и где оно сыпется, как на примере, даже непонятно в сторону какого мода копать, вот это хреново. Автор то может быть и поймет что-то в таких логах (хотя маловероятно), но даже опытный пользователь определить причину такого "выброса" не в состоянии, и соответственно конфликт если и будет решаться, то методом "тыка", но никак не нормальным образом. А вот кто-то этим правилом пренебрегает, вот в чем проблема. А потом ищи причину лагов, вылетов, перегрузок по процессору и памяти, просадок фпс. С нешифрованными модами проще - они нормально декомпилируются и трассировка у них нормальная. Обфускатор имен уничтожает трассировку, косой пакер тоже, обфускатор байт-кода может сбивать номера строк в трейсе (последнее имеет значение только для автора). А зашифровать так, чтобы и дебаг был нормальным, и защита была нормальной - это скилл. Защита - это такая вещь, что ее нужно либо делать по-нормальному (с нормальным дебагом), либо не делать вообще. Иначе в итоге получается то, что я постил.
  7. Это само собой разумеется, я говорю о том, что моды должны создаваться таким образом, чтобы минимизировать возможные конфликты, или по крайней мере ошибки должны нормально определяться и отлаживаться. Наверное, тебе наверняка не понравятся непонятные лаги со срачем в логе типа: Traceback (most recent call last): File "", line 372, in <lambda> File "", line 349, in directionRepeat BigWorld.EntityIsDestroyedException: Avatar 22510902 has been destroyed #или Traceback (most recent call last): File "mHXJ", line 15, in __onResourcesLoaded File "twbJk", line 3, in __setupModel File "TMSxG", line 55, in __assembleModel File "OCrJaW", line 24, in __setupEmblems AttributeError: 'PlayerAvatar' object has no attribute 'stats' Определи лагающий объект. Я про имя файла - его нет (или оно бессмысленное). Как будешь искать лагающий мод, если у тебя их много? Вот об этом я и говорю. То что в модах лаги - это бывает, а вот когда защита мешает определить источник и причину помех - вот это уже хреново. А то ни моды нормально написать не могут, ни защиту делать по-нормальному. А пользователи потом страдают.
  8. Только это надо делать не костылем, а локализованной заплаткой. А то просто различных костылей лагающих и без того хватает...
  9. Я автор только скрипта. Скрипт не привязан к текстурам никак. Можно любые текстуры кинуть, главное конфиг правильно настроить) Насколько мне известно, берется анимация (или рисуется), распиливается на кадры, конвертится в DDS с альфа-каналом (чтобы фон был прозрачный где нужно). Ну и настраивается интервал в конфиге, количество, ...
  10. Эра, когда лагает, а что, где и почему - хз. Когда в логах творится полная ***** и там даже автор не разберет что к чему. И будет гулять по свету куча обфуцированной, никому не нужной лагающей несовместимой *****. И куча брошенных обфуцированных модов, которые никто не в состоянии поднять. Просто меня уже не первый раз просят посмотреть логи. Потому что когда у тебя вместо имен файлов, методов и т.д. рандомные строки, невозможно даже понять какой мод вызывает ошибки и где, только перебором искать если, а это уже неуважение к юзерам. По крайней мере лагающий на хуке файл и метод, на который этот хук поставлен, должен быть определяем по логам.
  11. Это движок барахлит... Опять заплатки писать... В общем то я и предполагал что-то подобное... если без конфига, то скорее всего фильтр. Код 0 прилетает скорее всего потому, что нет клавиши WIN для движка. З.Ы. Наверное просто сделаю при распознавании KEY_NONE ==> -1, если оно конечно будет так работать... Тогда необработанное нажатие на пустое попадать не будет. Просто переписывать код в больших количествах не самая крутая идея, в либе (функция распознавания сочетаний) поменять строчку ИМХО проще.
  12. Посмотреть, что творит этот мод я не могу, не декомпилится файлик, но что-то опаздывает с запросом к удаленному объекту...
  13. [AASMX] Config successfully loaded. ***** Please update Advanced Aiming System Mod! ***** В логе. Стабильная версия только под 0.9.4 есть - она в шапке. Под 0.9.5 альфу пока убрал, там кой-чего не так работает... Версия 0.9.4 работает под 0.9.5 с некоторым твиком - нужно отключить проверку версии. Параметр ignoreClientVersion.
  14. Говорят от 0.9.4 норм робит... Проверь. То что макс выкладывал.
  15. в режиме дополнительно есть прикрепление файлов. Если файл не лезет по типу - в помощь zip Лог - это файл python.log в корневой папке игры (рядом с WorldOfTanks.exe) P.S. Об этом написано в шапке.
  16. Ну я не Ванга и не экстрасенс, конфиг и логи в студию.
  17. Хорошо. Будет время - попробую что-нибудь накодить. Если понадобится)
  18. Ну если бы влиял, я первый бы заметил) Ибо у меня он и без того не высокий.
  19. Оно реализовано по принципу "перехват с миникарты". Все что светится (противники) - есть на миникарте. Ты можешь знать, светится ли противник. Засветился твой союзник или нет, можно узнать только если он сам тебе об этом скажет.
  20. Не знаю что это за код ты выложил, но написан он мягко говоря "не очень". Известно заранее время ожидания = 2 * SERVER_TICK_LENGTH, проверка запускается с интервалом SERVER_TICK_LENGTH... Зачем? В общем, разбираться в посторонних модах, тем более обсуждать это здесь мне не очень хочется. В дальнейшем всех участников темы попрошу задавать вопросы не касающиеся темы в более подходящих темах или писать в личку, чтобы не офтопить. З.Ы. Просто такого кода в AASMX я чего-то не припомню...
  21. Альтернативных способов передачи информации между игроками, кроме как через чат и интерфейс команд (только для "розы"), приемлемых для программной передачи данных, нет в игре. Так что чат будет засираться однозначно. Вопрос лишь в том, в каком формате. Можно конечно сделать "моргание" маркеров танка / на миникарте / в ушах, но данные 100% будут идти через чат. Если для программного приема - то со спецсимволами-флагами. "Приемник" для всего этого потребуется само собой.
  22. Ссылка на исходную тему "ЛОСЬ" добавлен Fix'ом Аналогичный пост на 4cheat.ru Раскопал последнюю версию скрипта... Тоже немного улучшили, сделали конфиг...
×
×
  • Create New...