|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Май 01, 2007 9:46 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Цитата: | iddqd, иногда и 1мс - слишком много. |
Вот не надо этого дела. Сам знаешь, что достаточно.
Хех, или попробуй сделать в игре одно изменение за меньше чем 1 мс. |
Предлагаю обмозговать.
1мс - это тысячная доля секунды. Любой современный процессор в состоянии отэмулировать более 1000 инструкций того же НЕСовского 6502. Причём намного больше. Скажем, пока Artmoney ждёт целую миллисекунду, игра может обработать целый кадр и спокойненько ждать Vblank. Так что если критичное изменение ячейки происходит в рамках одного кадра, даже миллисекунды может быть много - например, в течение кадра герой получил урон, снявший все его ЖЗ, при этом флаг смерти установился в этом же кадре, и теперь никакая Artmoney уже не спасёт.
В то же время, встроенный поисковой движок в эмуляторе следит за изменением ячеек после каждой инструкции, так что ЖЗ будут восстановлены сразу после исполнения инструкции вычитания урона. |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Ср Май 02, 2007 6:49 am Заголовок сообщения: |
|
|
АнС писал(а): | Ura_Orlov писал(а): | Цитата: | iddqd, иногда и 1мс - слишком много. |
Вот не надо этого дела. Сам знаешь, что достаточно.
Хех, или попробуй сделать в игре одно изменение за меньше чем 1 мс. |
Предлагаю обмозговать.
1мс - это тысячная доля секунды. Любой современный процессор в состоянии отэмулировать более 1000 инструкций того же НЕСовского 6502. Причём намного больше. Скажем, пока Artmoney ждёт целую миллисекунду, игра может обработать целый кадр и спокойненько ждать Vblank. Так что если критичное изменение ячейки происходит в рамках одного кадра, даже миллисекунды может быть много - например, в течение кадра герой получил урон, снявший все его ЖЗ, при этом флаг смерти установился в этом же кадре, и теперь никакая Artmoney уже не спасёт.
В то же время, встроенный поисковой движок в эмуляторе следит за изменением ячеек после каждой инструкции, так что ЖЗ будут восстановлены сразу после исполнения инструкции вычитания урона. |
Ты неумолим, АнС. :)
Да, согласен. Но если считать, что тот герой, допустим, упал в яму. Вычисляется его положение на экране. При проверки, происходит типа MOV EAX, 0. Затем эмулятор меняет значение на предыдушее. А там 2 варианта развития события, либо игра пытается опять поставить 0 и так до бесконечности, либо герой так и останится ходить в небытие за экраном. В любом случае придётся отключать заморозку, либо перезапускать уровень. Теперь такой случай, допустим, с нами произошло то, что должно было нас убить\почти убить по сценарию. В результате - так сказать, искажение игры. Ну, а вот если злобный монстр убил нас одним ударом, то да - это может спасти, но и опятьже вероятность покорёжить игру.
Хотя, это уже вам выбирать, что лучше. Каждое лучше по своему. |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Май 02, 2007 8:50 am Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Да, согласен. Но если считать, что тот герой, допустим, упал в яму. Вычисляется его положение на экране. При проверки, происходит типа MOV EAX, 0. Затем эмулятор меняет значение на предыдушее. |
Не понял, значение чего? Если герой упал в яму, его ЖЗ обычно остаются в порядке, просто флаг смерти становится равным 1 (как пример). Но ты же не отыщешь этот флаг поисковиком, правильно? Так что cheat engine сможет восстанавливать только найденные тобой ЖЗ, а при падении в яму игре наплевать, сколько у тебя ЖЗ - флаг смерти будет засчитан вне зависимости от ЖЗ.
Ura_Orlov писал(а): | А там 2 варианта развития события, либо игра пытается опять поставить 0 и так до бесконечности, либо герой так и останится ходить в небытие за экраном. В любом случае придётся отключать заморозку, либо перезапускать уровень. Теперь такой случай, допустим, с нами произошло то, что должно было нас убить\почти убить по сценарию. В результате - так сказать, искажение игры. Ну, а вот если злобный монстр убил нас одним ударом, то да - это может спасти, но и опятьже вероятность покорёжить игру. |
Это всё не то. Проблема существует, но не так, как ты объясняешь. Я представляю себе проблему так: флаг смерти устанавливается ДО записи в ячейку ЖЗ.
Код: | MOV EAX,[LifeMeter]
MOV EBX,[Damage]
SUB EAX, EBX
JG Continue
MOV EAX,1
MOV [DeadStatus], EAX
MOV EAX,0
MOV [LifeMeter], EAX
Continue: |
В такой ситуации эмулятор восстановит значение LifeMeter уже после решения (JG Continue), но ситуация чисто гипотетическая. Если игра написана на языке высокого уровня, таких проблем не возникнет - все команды того же Си сначала запишут EAX в LifeMeter, потом опять тупо MOV EAX, [LifeMeter], и далее CMP EAX,0 и условный переход.
Понятное дело, сразу после инструкции записи EAX в LifeMeter эмулятор успеет восстановить LifeMeter, и всё пойдёт нормально. А вот Artmoney вряд ли успеет так удачно (в промежутке между двумя инструкциями) успеть восстановить. |
|
Вернуться к началу |
|
|
Гость
|
Добавлено: Ср Май 02, 2007 5:08 pm Заголовок сообщения: |
|
|
АнС писал(а): | Не понял, значение чего? Если герой упал в яму, его ЖЗ обычно остаются в порядке, просто флаг смерти становится равным 1 (как пример). Но ты же не отыщешь этот флаг поисковиком, правильно? Так что cheat engine сможет восстанавливать только найденные тобой ЖЗ, а при падении в яму игре наплевать, сколько у тебя ЖЗ - флаг смерти будет засчитан вне зависимости от ЖЗ. |
Ну ладно, допустим - ставится значение флага смерти. Тогда упав в яму герой умрёт.
АнС писал(а): | Это всё не то. Проблема существует, но не так, как ты объясняешь. Я представляю себе проблему так: флаг смерти устанавливается ДО записи в ячейку ЖЗ. |
Тогда всё будет нормально.
АнС писал(а): | Код: | MOV EAX,[LifeMeter]
MOV EBX,[Damage]
SUB EAX, EBX
JG Continue
MOV EAX,1
MOV [DeadStatus], EAX
MOV EAX,0
MOV [LifeMeter], EAX
Continue: |
В такой ситуации эмулятор восстановит значение LifeMeter уже после решения (JG Continue), но ситуация чисто гипотетическая. Если игра написана на языке высокого уровня, таких проблем не возникнет - все команды того же Си сначала запишут EAX в LifeMeter, потом опять тупо MOV EAX, [LifeMeter], и далее CMP EAX,0 и условный переход.
Понятное дело, сразу после инструкции записи EAX в LifeMeter эмулятор успеет восстановить LifeMeter, и всё пойдёт нормально. А вот Artmoney вряд ли успеет так удачно (в промежутке между двумя инструкциями) успеть восстановить. |
Ладно, согласен. |
|
Вернуться к началу |
|
|
Ura_ Orlov Гость
|
Добавлено: Ср Май 02, 2007 5:13 pm Заголовок сообщения: |
|
|
Добавление:
Дык, согласен. Встроеный быстрее, хотя такая скорость, думаю, только для кракинга , а так - АртМани роднее. Хех, 1 мс - Timer1.Enabled=True... |
|
Вернуться к началу |
|
|
Ghost
Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Ср Май 02, 2007 6:54 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Не думаю, что тот ассемблер консоли обгонит x86-ой проц. Надо ещё в настройках поменить время заморозки на 1 мс. |
Что за ерунда? Артмани является внешней силой по отношению к любой программе и не всегда может своевременно восстановить замороженное значение. (Даже кой-какие дебуггеры при отображении всех процессов в памяти выделяют артмани красным цветом - видать, нехорошая прога). Эмулятор ломает собственную память и делает это не как эмулятор своей системы, а как любая прога, имеющая доступ к собственной памяти.
АнС писал(а): | В то же время, встроенный поисковой движок в эмуляторе следит за изменением ячеек после каждой инструкции, так что ЖЗ будут восстановлены сразу после исполнения инструкции вычитания урона. |
Тоже неверно, во всяком случае для некоторых Cheat Engine.
Можно наблюдать проскакивание новых значений поверх замороженных, особенно на лайфбарах.
Если бы эмулятор проверял все патч-коды - а их могут быть сотни - после каждой инструкции, то всё бы тормозило, чего на практике не наблюдается. _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Май 02, 2007 7:05 pm Заголовок сообщения: |
|
|
Ghost писал(а): | Тоже неверно, во всяком случае для некоторых Cheat Engine.
Можно наблюдать проскакивание новых значений поверх замороженных, особенно на лайфбарах.
Если бы эмулятор проверял все патч-коды - а их могут быть сотни - после каждой инструкции, то всё бы тормозило, чего на практике не наблюдается. |
Сотни - это ты загнул, обычно 2-3 кода (больше лень искать - время тратить), ну иногда дюжина - для некоторых РПГ с отдельными показателями для каждого персонажа. Да и тогда говорить о значительном торможении можно лишь на древних PC. Сейчас всё это не актуально - те же графические фильтры жрут в сотню раз больше - никто и не замечает.
А если значения проскакивают, то это плохие эмуляторы. Точнее, это они используют не идеальный Cheat Engine, хотя МОГЛИ БЫ. |
|
Вернуться к началу |
|
|
Ghost
Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Ср Май 02, 2007 8:03 pm Заголовок сообщения: |
|
|
Цитата: | Сотни - это ты загнул, обычно 2-3 кода |
Обычно, но это не максимум. Если бы CE работала, как ты описал, всё бы тормозило. _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
|
Ura_ Orlov Гость
|
Добавлено: Чт Май 03, 2007 7:32 am Заголовок сообщения: |
|
|
Цитата: | Что за ерунда? Артмани является внешней силой по отношению к любой программе и не всегда может своевременно восстановить замороженное значение. (Даже кой-какие дебуггеры при отображении всех процессов в памяти выделяют артмани красным цветом - видать, нехорошая прога). Эмулятор ломает собственную память и делает это не как эмулятор своей системы, а как любая прога, имеющая доступ к собственной памяти. |
Ну и что, что внешней? ОЗУ у машины то одна. Не думаю, что внедрение в инародный процесс уменьшит скорость заморозки. А если даже и уменьшит, то не надолго. В почти любом случае, это вполне достаточно для игры. А для кракерстих атак заморозка впринципе не нужна. Незнаю, что за дебагер там закрышивает, я только, что пакер ASProtect 2.12 им снимал. |
|
Вернуться к началу |
|
|
Ghost
Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Чт Май 03, 2007 8:47 am Заголовок сообщения: |
|
|
Не всегда достаточно. Выше приводили пример проскакивания.
А внешней - к тому, что значение изменяется насильно, в то время как эмулятор меняет свою память по собственной воле. Как именно реализована Cheat Engine - другой вопрос. Но у эмулятора всегда есть больше возможностей. _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
|
Ura_ Orlov Гость
|
Добавлено: Вс Май 06, 2007 12:12 pm Заголовок сообщения: |
|
|
Да ладно уже об этом. Согласен, эмулятор лучше, но я это и не отвергал.
P. S. У phpBB опять проблемы со входом. Эх... |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Пн Май 14, 2007 7:42 pm Заголовок сообщения: |
|
|
Только сейчас обратил внимание:
>Естественно Артмани будет искать дольше, ведь Артмани будет сканировать всю память эмулятора - это может быть до 50 Мб. А встроеный поисковик эмулятора ишет только в области, где находится RAM игры - это (на SEGA) 64 Кб
Они давно уже сделали настройки эмуляторов. |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Пт Июн 06, 2008 9:08 am Заголовок сообщения: |
|
|
Настройки для ePSXe 1.7.0 от создателей ArtMoney (добавит в файл artmoney.emul)
[QUOTE]ePSXe 1.7.0;EPSXE.EXE
;RAM 2Mb;80000000;0094C020;200000 [/QUOTE] |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Пн Июн 23, 2008 5:41 pm Заголовок сообщения: |
|
|
DEL
Последний раз редактировалось: iddqd (Сб Дек 03, 2011 2:27 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Вт Янв 13, 2009 8:37 pm Заголовок сообщения: |
|
|
DEL
Последний раз редактировалось: iddqd (Сб Дек 03, 2011 2:28 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Чт Янв 15, 2009 5:47 pm Заголовок сообщения: |
|
|
DEL
Последний раз редактировалось: iddqd (Сб Дек 03, 2011 2:28 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
|
Вернуться к началу |
|
|
iddqd
Зарегистрирован: 25.04.2006 Сообщения: 78
|
Добавлено: Пн Дек 19, 2011 2:46 am Заголовок сообщения: |
|
|
[QUOTE]Что нового в версии 7.38 (18 декабря 2011 года)
[PRO] Добавлена галочка "Быстрый режим" при поиске указателей на указатель. При установке поиск быстрее в 2-3 раза, но при этом, программа использует больше оперативной памяти (рекомендуется минимум 5Mb для 32 битных процессов и 128Mb для 64 битных).
[PRO] Теперь можно подписать сервис для Windows x64 с помощью программы Driver Signature Enforcement Overrider 1.3b. Не нужно будет для запуска сервиса нажимать F8 при загрузке Windows. Запустите программу и выберите 'Sign a System File', укажите сервис c:\games\artmoney\am73864.sys и нажмите OK.
Обновлены эмуляторные настройки. Добавлена поддержка эмуляторов для игровых систем Atari Jaguar, Atari 8-bit, Sega Model 2, Sega Model 3 и Tiger Game.com.
Добавлена команда "Автоизменить адреса и скопировать в новую группу". Позволяет добавлять новую группу в таблицу, когда группа отличается только смещением адресов. Например, у нас есть в первой группе адреса параметров первого персонажа. Если найти один параметр второго персонажа, то потом можно использовать эту команду и получить готовую группу с адресами второго персонажа.
Теперь при поиске с использованием настроек эмулятора автоматически отключаются настройки "Использовать модульную адресацию" и "Только статические адреса в модулях".
Теперь отсеивание с учётом модульной адресации не учитывает полный путь к модулю.
Теперь указатели в таблице правильно работают с отрицательными смещениями.
Исправлена ошибка при отсеивании по условиям "Изменилось на", "Увеличилось на", "Уменьшилось на" для чисел с точкой.
Исправлена ошибка при сканировании в выбранном диапазоне адресов, для адресов больше чем 80000000.
Исправлена ошибка, когда пропускались адреса на некоторых 32-битных процессах на Windows x64.
Исправлена ошибка, иногда возникающая при загрузке отсеивания с модульной адресацией.
Исправлена ошибка при отсеивании указателей на указатель на 64-битных процессах.
Исправлена ошибка при отображении чисел с точкой в основной таблице.
Исправлена ошибка при работе с указателями 6 уровня. [/QUOTE]
Скачать: [url]http://www.artmoney.ru/r_download_se.htm[/url]
Просьба скачавшим заглянуть в раздел справки "Полезные советы и статьи" - в нем обновленная версия моей статьи про эмуляторы, с примерами формул платной версии PRO.
Или сразу используем линк (пролистайте вниз): [url]http://www.artmoney.ru/manual/russian/advices.htm[/url] |
|
Вернуться к началу |
|
|
AlexDV Гость
|
Добавлено: Сб Дек 24, 2011 4:37 pm Заголовок сообщения: |
|
|
Улучшенная версия - до сих пор платная? |
|
Вернуться к началу |
|
|
lupus
Зарегистрирован: 09.08.2006 Сообщения: 485 Откуда: Украина, Крым
|
Добавлено: Сб Дек 24, 2011 10:46 pm Заголовок сообщения: |
|
|
да |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|