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

aliast

Разработчики
  • Постов

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

  • Посещение

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

    34

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

  1. Странно, почему IDA не видит строки, а простой HEX редактор видит? Во что нашёл Интересно, что надо сделать чтобы увидеть эту надпись?!
  2. В игре есть читы, но их могли и выпилить, оставив одни строки. Однако на cheatengine.org лежит таблица с опцией "in-game cheats". Опция у меня не работает, наверное версия игры не та. partoftheworlD, ты кстати писал что прошёл игру. Там после прохождения нигде никаких читов в меню не появилось?
  3. Я уже сам разобрался. Догадка оказалась верна. Я решил не заморачиваться с фильтрами, т.к. бессмертие в этой игре мне врядли понадобится, но нужна энергия для невидимости. Ну я и бухнул туда 999, а надо было соткой ограничиться. В итоге получился этот глюк. Промилле в игре хранятся в диапазоне 0-100, только наоборот от 100 к 0. 0 в стельку, 100 трезвый. А у меня там 999 стоит По идее супер огурец, но нет, Дженсен просто перестаёт реагировать на бухло, но один раз инструкция отработала и получился "пьяный на 75%". И эта 999 никак не может снизиться до 100, хоть даже ты скрипт отключаешь. Всё что нужно - оставить в скрипте значение 100 для здоровья и всего остального, включить скрипт и выпить за здравие. Через пару секунд эффект пропадёт. Конечно опасно это дело без фильтра оставлять, но зато можно случайно выйти на что-то интересное)) или словить "интересный" вылет...
  4. Если будет желание - попробуйте сделать скрипт на отключение "пьяного эффекта" после выпивки спиртного. У меня косяк случился - выпил пива и уже долго играю, а эффект не проходит. Что-то не улыбается теперь всю игру бухим играть Уже дошёл до Коплера, но эффект остался(((( Может когда Прагу покину пропадёт, но я особо не надеюсь.. А покидать Прагу я не хочу, там ещё куча сайд квестов осталась... Есть подозрение, что инструкция, работающая с энергией, здоровьем и... хм, назовём это таймером сна, также работет и с таймером этого эффекта. И заморозив энергию я заморозил и эффект Отключение чита не помогает. Но может быть дело и не в чите, а просто баг какой-то.
  5. Это о-о-о-чень странно, но сейчас и у меня работает! До того, как написать сюда, проверял два раза! Игра вылетела, перезапустил и опять вылетело... Значит либо набор включенных читов приводит к вылетам, либо... я даже не знаю, может после ребута компа заработало... Попробую поиграться, если пойму из-за чего вылетает, напишу. Как вариант, может быть фильтр на игрока кривой? Работает в 90% случаев, но иногда слетает... Вообще я не очень понял зачем нужен этот фильтр, когда в игре есть инструкция, работающая только с координатами игрока? Я сделал телепорт через неё, всё работает без фильтра. Только я с торможением падения не разобрался - разбиваюсь насмерть после телепортации Бессмертие не помогает. Update: Ну в общем работает через раз. В миссии где Кидд показывает нам стеллу Майя телепорт работал. А дальше бегаю по острову, не пойму как сундук на пляже достать (он где-то на горе), включая телепорт F1, ставлю метку, F5, слышен звук "бум" и нифига. Нажимаю F5, второй раз, снова нифига, нажимаю ещё раз F1 - вылет Перезашёл в игру - работает! Собрал сундучки, начал искать зарытый склад. Телепортируюсь то в один конец острова, то в другой. Бац - после очередной телепортации чёрный экран! Ходить можно, но ничего не видно. Пытаюсь телепортнуться в другое место. Телепорт срабатывает судя по мини-карте, но чернота не уходит. Через некоторое время вылет из игры.
  6. Твой тренер +22 для версии игры 1.07 не рабочий (точно не работает телепорт к метке на карте). То игра сразу вылетит, то экран сначала потемнеет (мини-карта видна, а сама игра с игроком и ландшафт пропадают), а потом вылет.
  7. Сижу уже который день, пока не поддаётся. Нашёл флаг 0=живой/1=умер. Делаем всегда 1 и постоянно дохнем. Делаем всегда 0 и эффекта тоже нуль С адресом работают только две инструкции и такое ощущение что 1 в адрес игра вообще никогда не пишет, всегда 0, даже когда умер. Видимо это какой-то флаг для скриптовой команды Boy::ExamineDeath, которая вызывается из скриптов. Да, в игре есть скрипты, но они нечитаемы. Как это может помочь во взломе пока не знаю.
  8. То на то и выходит. Если от этой инструкции, работающей с 0/1 подняться на те же два уровня вверх по ретам, выйдем в то же самое место кода, что я описывал выше. Так что такой способ должен быть проще, Function Hacker становится не нужен.
  9. Строку Game over я не нашёл, но можно пойти более простым путем. Ищем "1" когда игрок жив, "0" когда умер. Находим условие появления Game Over. Находим инструкцию, работающую только с этим адресом. Сделать код прямо здесь не выходит, но ниже по коду видим call. Нопим его и... Game over появляется, но игрок продолжает ходить в пределах одного экрана, дальше не пускают. Восстанавливаем call и спокойно выходим на другой экран. Надпись Game Over при этом не исчезает В таком виде чит неудобен, но можно от этого места ещё поплясать...
  10. А эта игра не 64-битная? Я помню как вы тут все ломали ее и так и не сломали, но сам не пробовал. Хочу для начала Limbo попинать. А Майами меня отпугивает тем фактом, что вы её всей толпой не сломали
  11. Всем привет. Не уверен что данную статью можно назвать полноценным уроком по взлому игр, я до сих пор не до конца понимаю как там всё работает. Может быть кто-то захочет покопаться и дать комментарии. Речь пойдет об игре I Wanna Be The Boshy. Это такой сверхсложный платформер, где смерть наступает от одного касания персонажа, врагом, различными шипами и даже от курсора мышки Никаких бонусов в плане +1 касание до смерти в игре не предусмотрено. Как делать бессмертие непонятно. Но вот случилось чудо! Все мы давно слышали про жутко глючную прогу Function Hacker, которая мало того что не фурычит с современными x64 играми, так ещё и в 32 битах любит вылетать и всяко разно глючить. Сколько я ни пытался её использовать для взлома, всё всякая ерунда получалась. Вроде бы как удалось с помощью неё сделать бессмертие в старой игрушке Commandos, но там бессмертие проще было сделать другим путём. И вот наконец прога впервые себя оправдала. Ищем функции, срабатывающие в момент смерти игрока. Стоит ли здесь подробно останавливаться на том, как пользваться прогой? Пожалуй, не буду. Кому будет интересно, могу расписать более подробно. В общем нашлось у меня всего-ничего, три функции (Рис. 1). Сделать бессмертие мне помогла последняя из них I Wanna Be The Boshy.exe + 0x49C50. Если я не ошибаюсь, именно эта функция была в списке на вкладке Call List на первом месте. Функция короткая, но я не разобрался что она делает. Дальше я сделал трассировку на два уровня вверх. I Wanna Be The Boshy.exe + 0x49C50 вызывалась с адреса I Wanna Be The Boshy.exe + 0x104DB. Кстати говоря, немного ниже функция I Wanna Be The Boshy.exe + 0x48FF0 отвечает за анимацию брызг крови в момент смерти, из чего я сделал предположение что данный код срабатывает уже ПОСЛЕ смерти игрока. В свою очередь функция I Wanna Be The Boshy.exe + 0x104D0 вызывалась с адреса I Wanna Be The Boshy.exe + 0x481B1. Занопив вызов этой фунции (Опция в Cheat Engine "Replace with code that does nothing") я получил очень странный глюк, когда экран игры темнеет, мельтешит и ничего не разобрать. Ничего не разобрать, но если приглядеться, то можно заметить надпись Game Over, хотя в игре я не умирал! Вот тут я воспрянул духом и стал думать (Рис. 2). Если это функция смерти, значит нужно ее перепрыгнуть или обмануть. Перепрыгивается функция на проверке cmp ebp,ebx. Ставим бряк и видим, что проверка происходит ежесекундно, а не только в момент смерти (т.е. Function Hacker нам не должен был помочь, но ведь помог! Пусть и косвенно, найдя зацепку для бэк-трейсинга кода). Когда игрок жив, ebp=ebx=0. Условие je срабатывает и мы перепрыгиваем Game Over. В момент смерти в ebp записывается нечто типа 0x0B4FD528 (адрес этот меняется, на что ссылается я не разобрался) и в результате мы попадаем на Game Over. Значит нам нужно принудительно писать в ebp нуль, чтобы игра всегда перепрыгивала функцию Game Over. Проверил - работает! Можно прыгать прямо на шипы и радоваться выживанию Также бессмертие работает и на курсоре мышки, пауке, птичке на 1-ом уровне. Других врагов не проверял, но подозреваю что и них всё будет гуд. Update: Обнаружился неприятный баг чита - чит не дает подбирать сундучки, но это не такая большая проблема. Можно либо не подбирать их, либо перед взятием сундука временно отключать чит. ВИДЕО СМОТРЕТЬ С УБАВЛЕННЫМ ЗВУКОМ, ТАМ ГРОМКО ОРУЩИЙ СКРИМЕР-ПАУК ВЫЛЕЗЕТ!!!! Считаю что мне крупно повезло со взломом этой игры, но возможно кто-то что-то и вынесет для себя из этой статьи.
  12. А разве Float это не 4 байта? А не работает скорее всего из-за разных структур, как писали выше. Цитата ниже на это намекает.
  13. aliast

    Cheat Engine 6.6

    Вебыч нарыл в дистрибе СЕ троян Install Core 2700. И если с СЕ это ещё можно как-то объяснить наличием паразитного ПО, навязываемого с установкой СЕ, то что аналогичный "вирус" забыл в дистрибе игры Uncharted Drake's Fortune с русской озвучкой для PS3? При том внутри файла dds ?!
  14. aliast

    Cheat Engine 6.6

    Кто-нибудь уже щупал Ultimap 2? Как она работает, лучше чем U1? Ultimap 1 почти во всех играх вылетал в BSOD, а если повезло и не улетели, игра начинает так тормозить, что вызвать в ней нужное для поиска событие просто невозможно... Ultimap 2 в отличие от 1 не нужен DBVM, а значит BSOD быть не должно. Но есть одна мааааленькая проблемка - ему нужен Intel проц 2015-2016 года выпуска с поддержкой некоего Intel Process Tracing так что пока облом... а так хочется.
  15. Ага, работает. Только, блин, по английски уши плохо воспринимают Upd: speakRusian прекрасно работает с русским
  16. А нельзя это как-то приспособить для озвучивания числовых значений из памяти?
  17. Чувак, вот за это спасибо конечно Долго ломал голову каким бы читом облегчить себе жизнь в немного другом моде "Проклятие Дангобаша", уж больно там враги крепкие. Отключаю им весь щит - толку почти нет, корпус не пробивается, быстро восстанавливается. Убрать скорость полёта в 0 не смог, не нашёл адреса скорости Координаты XYZ как-то тоже с наскока не нашлись. Вспомнил что где-то проскакивала инфа про аимбот - нашёл, аимбот не осилил, зато узнал про эту быструю стрельбу. Попробовал - ту сложную миссию (третью по счёту) прошёл с первой попытки. То что энергия быстро улетает не проблема. Её можно заморозить, но мне этого не понадобилось - моё оружие почему-то стреляет и без энергии, не знаю почему. Чит очень красивый))) На ум сразу пришла игра на ZX Spectrum Chronos - там тоже есть похожий чит (Autofire)
  18. В принципе я вроде пофиксил этот баг, добавив в начале каждой функции перед выводом нового сообщения строчку object_destroy(displayedTextObject). Подозреваю что это не идеальный вариант решения, но вроде как работает. При таком раскладе новое сообщение будет гореть на экране не 2 секунды (или сколько там будет указано в скрипте), а столько, сколько осталось гореть предыдущему сообщению на экране. Для меня это не существенно. Не успел прочитать - жмакни хоткей ещё раз и читай заданные 2 секунды
  19. Возвращаясь к этому вопросу. Почему код test = readInteger('["Dishonored.exe"]')function OnKeyPressSomeActivate()if (test == nil) thentest = 0endShowMessageInGame('Message count №'..test..' !', 400, 100, 2)endвыдаёт надпись Message count № 0 т.е. test = readInteger('["Dishonored.exe"]') ничего не прочитывает? Весь скрипт целиком выше, я изменил только этот кусок. Upd: вот рабочий скрипт function OnKeyPressSomeActivate()CurCoins = readFloat('[[[["Dishonored.exe"+010654A4]+754]+0]+6b0]+70')TotalCoins = readInteger('[[[["Dishonored.exe"+010654A4]+754]+0]+6b0]+74')if (CurCoins == nil or TotalCoins == nil) then ShowMessageInGame('ERROR!', 400, 100, 2)endShowMessageInGame('Coins collected: '..CurCoins..' from '..TotalCoins..' !', 400, 100, 2)endЗаметил странный глюк. Создал несколько функций, показывающие значения разных адресов. Навесил на них хоткеи Ctrl+1,2,3,4,5. Иногда сообщение появляется и так и остается висеть на экране. Закрываю тренер, ничего в коде не меняю, снова нажимаю хоткей - глюк может повториться, а может и не повториться или появиться на другом сообщении (на другом хоткее). Насколько я разобрался глюк появляется если попытаться вывести другую надпись до того, как первая исчезнет с экрана, либо даже сразу после её исчезновения. Первая надпись при этом должна исчезнуть, а вот вторая зависнет.
  20. Код рабочий, но Луа вставка в АА не фурычит (ошибок не выдаётся, но скрипт невозможно включить, крестик не ставится. Upd: хоткей начинает работать после запуска Lua скрипта, всё ок. Надо его перед игрой влючать. А чтобы этого избежать, можно весь Lua скрипт целиком запихнуть под тег {$lua} в [ENABLE]. [DISABLE] оставить без изменений. Тоже всё прекрасно пашет.
  21. Ура! Кажется получилось. Вот рабочий скрипт. Я кажется уже задавал этот вопрос раньше или нет, не помню - как этот скрипт повесить на хоткей? local address = getAddress("Dishonored.exe")address = readPointer(address + 0x01084EE0)address = readPointer(address + 0x40)address = readPointer(address + 0x10)address = readPointer(address + 0x1D8) -- от версии игры зависит, адрес счетчика обнаруженных тел. --Изначально ссылается на один адрес, равный нулю, потом когда кто-то тело находит --перескакивает на другой. Не знаю почему так, но вроде работаетm_streamTada_tada = createMemoryStream()m_streamTada_tada.loadFromFile('d:\\Files\\wav\\Sound.wav') -- заменить на свой звукfunction OnTimer() local Bodies = readInteger(address + 0x4) if (Bodies == nil) then Bodies = 0 end if (Bodies > 0) then m_timer.Enabled = false playSound(m_streamTada_tada, false) --начинаем бескночено пиликать "Найден труп, срочно грузите сэйв, а то призрака не дажут" endendm_timer = createTimer()m_timer.Interval = 1000m_timer.OnTimer = OnTimer
  22. local address = getAddress("Dishonored.exe")address = readPointer(address + 0x007F80A0)address = readPointer(address + 0x35C)local Bodies = readInteger(address + 0x4) -- должно быть [[["Dishonored.exe" + 0x007F80A0] + 0x35C] + 0x4]if (Bodies == nil) then Bodies = 0 -- дефолтное значение переменнойendm_streamTada_tada = createMemoryStream()m_streamTada_tada.loadFromFile('d:\\Files\\wav\\Sound.wav') -- заменить на свой звукfunction OnTimer() if (Bodies > 0) then m_timer.Enabled = false playSound(m_streamTada_tada, false) endendlocal m_timer = createTimer()m_timer.Interval = 1000m_timer.OnTimer = OnTimer
  23. aliast

    Cheat Engine 6.5

    Должна быть стабильная, но у меня один раз вылетел. Видимо я со скриптом перемудрил... Потестим ещё. Кстати, не знаю виновата ли в этом новая версия или новый проц, но 5-уровневые указатели ищутся за каких-то 2 минуты! А раньше ждал минут по 20! Заниматься сравнениями с 6.4 как-то лениво, но прирост скорости впечатляет.
  24. aliast

    Cheat Engine 6.5

    Какие-то нововведения, связанные с сетью. В частности, в сканере указателей добавили поле IP. Кто разобрался для чего это и как работает?
×
×
  • Создать...

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

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