Перейти к содержанию

MasterGH

Ветераны
  • Постов

    2 999
  • Зарегистрирован

  • Победитель дней

    129

Весь контент MasterGH

  1. CE Lua может сделать много утечек памяти. Я бы написал одну функцию и попробовал бы использовать во всех CE Lua скриптах или некоторых
  2. Поиск сигнатуры происходит по следующим правам +X-C-W. Одна из строчек Т.е. Если будет другое правило, то не найдет. Можешь попробовать в плагине везде поставить "*X*C*W", т.е. это Может быть тогда заработает
  3. Немного информации как добавить inGameMenu. Подробнее пока некогда писать Вот что получилось Как делал 1. Сначала сделал меню и ассет в Unity последней версии с официального сайта 2. Сделал ассет меню как здесь на видео (в пакадже все есть) 3. В dnspy добавил два класса из пакаджа. Это CheatMenu и ShowMenu. Нужно добавлять, т.к. код с ассетами не цепляется, а только названия классов 4. Там же в dnspy изменил код в LateUpdate 5. Перезаписал модуль сохранив изменения Assembly-CSharp.dll 6. Потестил, читы работают. Что можно сделать лучше 1. Путь до ассета нужен другой внутри папки с игрой или же можно путь удаленный сделать
  4. Отладки не было. Была небольшая работа с поиском по сборке. Был поиск условия "фильтра". Обычно это слова "IsPlyaer" или что-то с "Player". Подошел класс Character В Сharacter можно писать в существующий LateUpdate, но надо убедиться, что класс наследуется от MonoBehavior, иначе LateUpdate не будет вызываться. Да и кроме LateUpdate() можно работать с Update(), Start() и другими (ссылку приводил выше)) Ниже убедились, что T17NetworkBehaviour наследник от MonoBehaviour Раз убедились, то можно добавить код, полагая, что класс CharacterStats находится по соседству на том же GameObject. Получаем его через GetComponent и обращаемся к IncreasedMoney() или другим методам Для бОльшей уверенности не хватает видеть в рантайм всю иерархию игровых объектов с их названиями, со связанными названиями классов на игровых объектах. Тут можно представить что компоненты CharacterStats и Character находятся рядом В общем если полазить по сборке, то очевидно что можно сделать по названиям классов, методов и переменных. Можно обойтись без отладки.
  5. The Escapists 2 игра сделанная на игровом движке Unity. Об этом говорит наличие папки TheEscapists2_Data, в которой есть файлик Assembly-CSharp.dll dnsSpy умеет сохранять новый код в том же модуле. Как вариант на Cheat Engine ищем значения и названия переменных. Об этом было очень подробно на стриме Есть еще сложный способ через вывод иерархии игровых объектов и названий классов на них в рантайме, и по ним ориентироваться. На форуме я писал об этом в разделе Игрострой. Открываем Assembly-CSharp.dll в dnsSpy. Если там нет обфускации, то повезло. 1. Шифрование и расшифровывание параметров при записи и чтении через xor на C# 2. Взлом денег на скорую руку. Добавили код Character класс явно будет на каждом игроке в игре. CharacterStats будет явно рядом, на том же GameObject-е. Проверяется уже потом, когда деньги добавим Пишем новый код в Update или LateUpdate (вызываются по наследованию из MonoBehavior), Добавляем деньги через любой хот-кей проверяя свой ли это игрок новым кодом Идем в игру, в характеристики. Нажимаем на наш хот-кей "O" и получаем 999 денег. По аналогии можно сделать другие характеристики. Что можно сделать лучше: 1. Делать постоянную проверку о не хватке параметра и добавлять сколько нужно. 2. Сделать InGame меню с чекбоксами опираясь на руководство на официально сайте. p.s. Вдохновил на написание этой статьи стрим
  6. Я плохо разбираюсь в паттернах, но как я представляю. View - отделить UI от кода. Визуальные компоненты. Controller - связь кода и представления, интерфейс ввода/вывода. Связь между кодом и UI. Model - логика. Что делает код. Как я представляю, по этой абстрактной модели MVC можно делать много скинов независимо от логики. Можно менять и логику, она не будет зависеть от остального. Ну, а Controller похоже нет смысла менять. Это как интерфейс между представлением и логикой. Я не стал выделять классы, поскольку не могу помочь в этом
  7. Да. Есть какие-то shadow брейкпоинты, у меня их было довольно много из-за первого способа (если не ошибаюсь больше 15 на Сталкере Зов Припяти), когда трейсил на адресе патронов. Когда я стал использовать способ2, shadow бряки не включались. Было на мой взгляд быстрее. В общем надо все проверять, замерять и прочее.
  8. Есть два варианта пошаговой трассеровки 1. debug_continueFromBreakpoint(continueMethod) -- описание в справке 2. Самому рассчитывать каким должен быть следующий адрес и на него ставить брейкпоинт. Этот способ показался мне быстрее, но уже не помню на сколько. Код в репозитории. Что-то есть, надо разбираться. Я один и тот же поток отслеживал через второй способ.
  9. MasterGH

    Новые модераторы

    Предлагаю написать пару слов о работе наших модераторов. От себя. Я вижу, что модераторы @what228, @partoftheworlD, @uhx модерируют, принимают участие в решении вопросов, поддерживают порядок на форуме. Возможно я не вижу всю работу, затраты времени и сил на модерирование. Я это учитываю и все равно высоко ценю. Если есть проблемы со временем то я могу предложить вам решить как вы будите модерировать и согласовать это с администрацией. Например, закрепить разделы за модераторами или что-то другое. В общем респект!
  10. @srg91 сделал форму заполнения в категории Запросы. Можно создавать новую тему с запросом по форме, с полями, описаниями. Это не очень просто сделать ) Предлагаю написать пару слов об этом. От себя я напишу. Вижу, что форма заполнения наглядная, должна помочь. Меньше проблем у пользователя с оформлением. Раньше у нас такого не было, а сделать это было практически нереально без помощи @srg91. Круто!
  11. Когда я проходил этот тренинг, то воспринял его буквально как инструмент. В первую очередь проходят любые мелкие обиды, т.к. ты работаешь со мнением, а не с обсуждением человека, который высказал мнение. Все мнения структурируются, записываются, выбирается лучшее решение как результат коллективной деятельности. Что касается мелких глупостей. Людям "не в теме" можно не говорить, что ты в какой-то шляпе или они в какой-то. Это будет очень странным. Между собой можно, а с другими вряд ли )) Шесть шляп мышления это прием структурирования мышления людей с целью учесть любое мнение, сделать более понятной коллективную деятельность для каждого из участников; помочь справиться с тремя главными сложностями: с эмоциями, с путаницей и с растерянностью. Когда мы говорим "в какой шляпе", то мы сосредоточены на обсуждении мнения, не переходя на обсуждения самого человека. Процесс мышления разделяется на 6 разных режимов, каждый из которых представлен в виде несуществующей шляпы определенного цвета. Способ применения шляп 1. Выбрав определенную шляпу, мы соглашаемся взять ту роль, которую она предполагает. 2. Сняв шляпу определенного типа мышления, мы снимаем с себя и предписанную ею роль. 3. Смена типов мышления (шляп) должна происходить мгновенно. Переключение с одного типа мышления на другой позволяет управлять ходом мысли человека, не нанося обиды человеку. Человека просят изменить способ мышления, а не отказаться от высказанных мыслей. 4. Чтобы высказать свое мнение следует назвать цвет шляпы, чтобы окружающие поняли, в каком стиле мышления вы будете выступать. Соответственно, надев черную шляпу, можно начать обсуждать высказывание человека, не переходя на обсуждение самого человека. 1) Белая шляпа мышления. Это режим фокусировки внимания на всей информации, которой мы обладаем: факты и цифры. Также помимо тех данных, которыми мы располагаем, «надевая белую шляпу», важно сосредоточится на возможно недостающей, дополнительной информации, и подумать о том, где ее раздобыть. 2) Красная шляпа эмоций, чувств и интуиции. Не вдаваясь в подробности и рассуждения, на этом этапе высказываются все интуитивные догадки. Люди делятся эмоциями (страх, негодование, восхищение, радость и т.д.), возникающими при мысли о том или ином решении или предложении. Здесь также важно быть честным, как с самим собой, так и с окружающими (если идет открытое обсуждение). 3) Желтая шляпа позитивная. Надевая ее, мы думаем над предполагаемыми преимуществами, которое дает решение или несет предложение, размышляем над выгодой и перспективой определенной идеи. И даже если эта идея или решение на первый взгляд не сулят ни чего хорошего, важно проработать именно эту, оптимистическую сторону и попытаться выявить скрытые положительные ресурсы. 4) Черная шляпа полная противоположность желтой. В этой шляпе на ум должны идти исключительно критические оценки ситуации (идеи, решения и т.д.): проявите осторожность, обратите взгляд на возможные риски и тайные угрозы, на существенные и мнимые недостатки, включите режим поиска подводных камней и побудьте немного пессимистом. 5) Зеленая шляпа. Шляпа творчества и креативности, поиска альтернатив и внесения изменений. Рассматривайте всевозможные вариации, генерируйте новые идеи, модифицируйте уже существующие и присматривайтесь к чужим наработкам, не брезгуйте нестандартными и провокационными подходами, ищите любую альтернативу. 6) Синяя шляпа. Шестая шляпа мышления в отличие от пяти других предназначается для управления процессом реализации идеи и работы над решением задач, а не для оценки предложения и проработки его содержания. В частности, использование синей шляпы перед примеркой всех остальных это определения того, что предстоит сделать, т.е. формулирование целей, а в конце – подведение итогов и обсуждение пользы и эффективности метода 6 шляп. Кем и когда применяется метод 6 шляп мышления? Метод шести шляп мышления можно использовать при любой умственной работе, в любых областях и на самых различных уровнях. Например, в личном плане, это может быть написание делового письма, планирование важных дел, решение проблемы выхода из сложной жизненной ситуации и т.д. В одиночной работе — планирование, оценка чего-либо, дизайн, создание идей. В групповой работе — проведение встреч, опять-таки оценка и планирование, разрешение конфликтов, обучение. Источник
  12. MasterGH

    Жизнь без читов - возможна ли?

    Кстати меня просили помочь со взломом этой игры. Сам я не взломал считай, меня ломало. Поискал в Интенете мод. Там 99 сердец уже было в готовом моде апк, лаки патчером подмена иннап, а вот в минииграх взлом кол-ва ходов с помощью Cheat Engine (скаченного с форума CE для Андроида), хотя потом CE не стали пользоваться, т.к. голды полно. Еще поиск предметов Hiddent City. Лаки патчер + програ типа AutoIt. Зациклил покупку рубинов через фейковый иннап. Таким образом взлом андроид игр очень популярен. Какая-то игра была про выживание. Там за меньше чем неделю, более 60 тыс скачивайний модов с апк.
  13. Я не подскажу как его менять в dnSpy. Но думаю, это менять байт код или IL код этого условия. Я не знаю как это сделать, а гуглить лень. Поподробнее не могу на все вопросы отвечать, т.к. заведу в дебри. Готового решения нет, над смотреть игру, а на это возможности нет. Не факт, что открыв туман войны можно увидеть противника.
  14. Собрать *.dll (.net) Адрес переменной найти в памяти. Это _coordinates - будет 3 раза по 4 байта. Но, лучше читы не делать через Cheat Engine, все делать через .dll. В CE можно сделать форму трейнера и подгрузчик dll. Подгрузчик dll через АА в CE я где-то выкладывал.
  15. На мой взгляд это похоже на академическую функцию, для энтузиастов. Каждый дамп памяти как состояния M1, M2, M3 и так далее. Пишем формулы и ищем по ним. В CE поиска по формулам нет, т.к. и без них обычно все находится. А если по интересу, то на CE можно попробовать сделать аналогичный поиск по формулам на Lua через классы FoundList и MemScan. Скорее всего будет очень медленным поиск, тогда есть еще способы. Это уже отдельная тема.
  16. Чтобы вы хотели, чтобы дотягивало до Cheat Engine? 1. Поддержку скриптов Autoassembler? 2. Поддержку Lua? 3. Генерация трейнеров? Может быть авторы этой программы заходят на наш форум и решат добавить что-нибудь в следующей версиях.
  17. Дизассемблер, отладчик и точки останова. Поиск команд, которые обращаются по адресу. На примере игры "King's Bounty: The Legend"
  18. MasterGH

    Релиз ArtMoney 8.0

    После очень долгого перерыва вышел релиз восьмой версии. Самые интересные и основных изменения коснулись функционала отладки. Скрины В версии 8.00 (30 июля 2017 года) Теперь отдельно существуют две 32 и 64 битная версия. Полностью переработан алгоритм поиска. Скорость поиска больше в 2-3 раза, для 64 битной версии ещё больше, в 2-4 раза (в зависимости от условий поиска). Изменились минимальные требования к системе, для запуска требуется Windows XP и выше! Восьмая версия полностью уникодная. Теперь языковые плагины могут быть уникодные. Что позволяет теперь сделать плагины для арабского и японского языка. Уникодный плагин будет правильно отображаться в программе, даже если язык не установлен в системе. Например, "Русский" на английской версии Windows. Таблицы также могут быть сохранены в уникоде, для этого поставьте в настройках галочку "Сохранять таблицы в уникоде". Добавлен поиск шестнадцатибитной последовательности байтов. Убрана поддержка скинов, в связи с закрытием проекта ThemeEngine. Вместо скинов используйте темы Windows. Окна "Редактор Памяти" и "Дисассемблер" могут открываться много раз (будет много копий окон). [PRO] Добавлен отладчик двух типов. Первый стандартный отладчик Windows. Второй основан на перехвате обработки исключений (Exception Handling), не может быть обнаружен и заблокирован. [PRO] Добавлено окно дисассемблера. Программа умеет подгружать имена переменных из указанной папки в настройках. Можно задать свои имена для переменных и функций. Можно сохранять/загружать отладочную информацию. [PRO] Можно устанавливать точки останова трёх типов. Добавлено окно списка точек останова. Для точек можно задать условия срабатывания, вида ((AL=1)and([EBX+1]=4))or(ECX=10). А также можно задать действия по срабатыванию, вида EAX=1, CL=2, [EBX+1]=10. [PRO] Добавлена команда и окно "Найти команды, которые обращаются по адресу". Можно легко найти команду ассемблера, которая меняет значение, заменить эту команду на пустую (NOP) и значение больше не будет изменяться. Обычно это проще, чем найти указатель.
  19. @uhx и @partoftheworlD - главные модераторы. Естественно это добровольно и по желанию. Главные модераторы стараются участвовать в событиях форума. Больше ничего не требуется. У меня завтра очень много дел по оформлению документов. Возможно я не смогу быть на форуме завтра. По вопросам пишите @Garik66 и @Xipho
  20. На тренингах обращали внимание, что часто состояния сложно определить. Они могут быть на границах. Стоит определять так - "скорее всего состояние такое-то, чем другое". Также что надо выводить из s1 в s4. Что из s4 постоянно скатываются в s3 и тогда нужно новую задачу предложить, где человек попадет в s2. В s2 выводить на s3. Может показаться заморочками. Даже отрицать не буду. Если считаете, что это заморочки, то вы правы. Но как рекомендацию предлагаю пробовать на форуме. Может быть поможет разобраться в очень не простой ситуации. Еще был момент с дамочкой. Она нам вбивала в голову "приходи с решением, а не проблемой". У меня так сильно это засело в голову, что я теперь так и мыслю. Если к начальнику иду, то всегда с решением. Только мне известно какое решение лучшее и сколько времени это займет. Начальство не греет голову
  21. Ситуационное лидерство Я решил поделиться тем, что я узнал на тренингах в Новосибирске. Я поехал из Москвы в Новосибирск. Работаю в игровой студии. У меня было два тренера по работе. Очень жесткая дамочка из топовых трейнеров за Уралом и очень добрый дядька. Представьте себе насколько сильно они отличались. С дамочкой после двух дней сразу уволилось 2 человека и затем в течении нескольких месяцев вылезли из финансового кризиса, т.к. все были в ежовых рукавицах. С дядькой стало очень лояльно наше начальство. Хочешь - делай работу, не хочешь не делай. Хочешь работай 4 часа в день. Зарплату повысили всем. Рост компании пошел. Помимо специальных собраний, мы стали даже садиться по шесть человек разработчиков игр рядом друг с другом чтобы решить задачу, при этом никто никого не звал. Никогда этого не делали. Вот такой круг людей садился из отдела разработчиков и мы решали задачи. Тебя просто притягивает ко всем, забываешь про время. Зная тотальное управление и зная полностью добровольное управление, я перешел на вторую сторону. Позволять людям самим выбирать решение. Но не все так просто. Есть целая система и даже схема как и что делать. Ситуационной лидерство состоит из определений 4-х состояний человека и 2-х ваших поведение на эти состояния Возьмем любую ситуацию из жизни. Например, девушка не хочет знакомиться с парнем, но может это делать. Подходит под шаблон "не хочу, но могу". Или учитель в школе видит, что ученик не хочет и не может учиться, а другой хочет, но не получается. Или же взять человека, который пришел к начальству и сомневается в своих действиях, не уверен ( надо выяснить желание и какой был опыт). Важно определить состояние человека по этим шаблонам. Тема интересная, сами подумайте над шаблонами, которые встречались в жизни. Состояния 1. Не хочу, не могу 2. Хочу, не могу 3. Не хочу, могу 4. Могу, хочу "Хочу" - это желание делать, мотивация, сила мотивации. "Могу" - это умение делать, знания, опыт, навыки, способность это делать. Далее как действовать. У нас только два вида поведения, которые дают 100% коммуникацию 1. Директивное 2. Поддержка "Директивное" - направление человека. Может показаться, что ты решил все за человека против его воли, когда сказал ему "надо сделать то-то" для его же интересов. Если он считает, что ты за него решаешь и не в его интересах, то переходим на поддержку и предложение. Предложить человеку выбрать решение. Мы можем направлять или поддержать. Другие варианты по схеме не рассматриваются. Либо сказать "надо", либо сказать "ты можешь сделать, как считаешь нужным". В какой момент состояния, что применять, вот схемка s1 - не могу, не хочу. "Не хочу читать документацию и не умею". "Не хочу подробно писать свои вопросы и не умею". Вы уверены, что человек не хочет читать документацию. Но не забывайте, вы можете ошибаться. Возможно, он хочет читать, но не понимает её. Надо учитывать любые варианты. "- Что именно не понятно в документации. Надо написать!" Скорее всего человек не хочет и не может. Здесь высокий уровень директивного и низкий поддерживающий. Смотрите мы здесь не заставляем, а направляем. s2 - хочу, не могу. "Хочу писать программы, но не умею". Здесь по схеме мы не давим чувака, а поддерживаем его. "Ты можешь составить список вопросов, которые тебе не понятны. У меня есть немного времени" s3 - не хочу, могу. "Не хочу писать программы, но умею", "Не хочу чистить темы от флуда, но умею", "Не хочу пропускать людей на повороте" Здесь по схеме низкий уровень директивного поведения и высокий уровень поддержки. Человек прекрасно разбирается в задаче, прекрасно может сам все делать, но не хочет. Тупо не хочет. Нет желания. Здесь мы человека только поддерживаем в его решении и предлагаем другой вариант. "Ты можешь не писать программы. Если не интересно не занимайся этим. Я поддерживаю твое решение." "Не хочешь чистить темы от флуда. Ок, не занимайся этим. Пусть флуд будет в каждой теме. Ты сам решаешь." "Не хочешь пускать людей на повороте. О чем вопрос, не пропускай никогда! Пусть всегда тебя ждут". Человек ощущает поддержку. Предложить другой вариант решения - это способ что-то поменять, что-то сделать лучше s4 - могу и хочу. "Я хотел бы заняться модерированием, помочь форуму или же хочу написать программу" Человек выбирает чем он хотел бы заняться. Тут очень мало директивы и очень мало поддержки. "- Ты можешь сам выбрать чем хотел бы заняться, что тебе интересно"
  22. Администрация поздравляет форумчан @uhx и @what228 с переводом в модераторы. Желаем успехов!
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.