Форум Эму-Россия
http://forum.emu-russia.net/

Новая чителка. Нужны тестеры.
http://forum.emu-russia.net/viewtopic.php?f=224&t=3944
Страница 1 из 2

Автор:  Xttx [ 27 июн 2012, 22:14 ]
Заголовок сообщения:  Новая чителка. Нужны тестеры.

Идея была в том, что бы использовать читы непосредственно в эмуляторах, из фронтендов и исключительно при помощи джойстика. Т.е. переход в оконный режим и копание в опциях исключалось.
Вот то, что есть на сегодняшний день.

Программа работает только с определёнными версиями эмуляторов:
- Fceux 2.1.6-interim svn2503
- Fusion 3.6.4 (поддерживает системы GG, SMS, SMD. Ещё поддерживает 32х, но надо править базу кодов. MegaCD - в файле коды только для 2х игр, просто для примера.)
- Snes9x testbuild 20110910
- Snes9x-x64 testbuild 20110910
- Project64 1.7.0.50
- 1964-r99 и r100
- Dolphin x64 r714
- Pcsxr r78971+ (уже много версий не менялись адреса, скорее всего с более поздними тоже будет работать.)
- Epsxe 1.7.0
- NEW: VisualBoyAdbance-M (svn1022) (GB, GBC, GBA)
- NEW: PCSX2 (r5444)
- NEW: MamePlus 0.147 [gamegear]. Другие системы можно добавить в конфиге.

-NEW: управление сейвстейтами с джойстика. Работает во всех эмуляторах кроме MAME.

База кодов для некоторых систем (сеги, gba, psx2) не приводилась в порядок, и далеко не все читы в базе соответствуют Good сэту. По сему, примерно половина игр (для которых читы в принципе есть) скажет что их нет. База - это текстовый файл в папке ./cheats так что если что, можно в нем переименовать.

Usage:
Запустить MemoryEditor.exe. Если в трее появилась иконка - значит всё ок, если иконки нет - проверьте есть-ли .net framework 4.

Управление:
- деактивация - правой кнопкой на иконку в трее -> exit
- ctrl+e - вызов меню, закрытие меню.
- вниз/вверх - перемещение по меню.
- end - активировать код или открыть под-меню (типа ввод).
- backspace - вернутся на уровень назад (если в подменю), закрыть меню (если в основном).
- если коду нужен ввод значения - влево/вправо перемещение курсора, вверх/вниз изменение значения, end/backspace ввод (активировать код).
- NEW: так-же можно настроить управление джойстиком: правой кнопкой на иконку в трее -> Joystick Config

Для запуска надо:
- .Net Framework 4.
- Для использования с 64х битными эмуляторами запустить "Registre SlimDX.bat" для регистрации SlimDX.dll в GACе.

Limitations & known issues:
- В Fceux, если в видео опциях стоит Disable Hardware Acceleration - при переходи из fullscreen в windowed = crash
- В Project64 и 1964, с плагинами DirectX8 (Jabo DX8 и старый RiceVideo) - менюшки в полноэкранном режиме не будет видно.
- В N64 работают только коды типа Constant Write, Constant Write (Uncached), Conditional, Write Once. Я не очень понимаю вообще что за коды типа GS Button Write и Download & Execute. Коды типа Serial Repeater добавлю в ближайшее время.
- Прога не покидала мой компьютер, Win 7 x64. Еще пробовал в виртуалке на XP x64, идёт, но медленно. Предполажительно из-за виртуализации видео. Как будет на других системах - без понятия, но очень хотелось бы знать.

Прога:
v0.005u2
http://80.240.211.12/mCheat_0.005u2.rar
---- Исходники ---- - пока ищу где выложить.

Вложения:
Безымянный.jpg
Безымянный.jpg [ 452.33 КБ | Просмотров: 98468 ]

Автор:  Eevon [ 27 июн 2012, 23:39 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Как по мне, так слишком много всего поставить надо ради сомнительного преимущества, ограниченного списка эмуляторов и т.д. Куда проще самому всё найти через Cheat Engine/ArtMoney. А так, конечно, круто сделано.

Автор:  Xttx [ 27 июн 2012, 23:48 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Ну, Frameworkи практически у всех стоят.
От AutoIt я в ближайшее время откажусь.
SlimDX только останется...
А ограниченный список эмуляторов это да, он конечно постоянно расширяется, но оно всегда будет привязано к конкретным версиям. С этим я ничего не сделаю.
Через Cheat Engine / ArtMoney проще. Тут одно приемущество: для компов подключенных к телевизору в качестве медиацентра, как у меня, где нет возможности копаться в меню, и в руках только джойстик.

Автор:  Eevon [ 28 июн 2012, 12:25 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

А зачем тебе вообще SlimDX? Если для подключения джойтстика, то это можно и без него спокойно сделать.

Автор:  Xttx [ 28 июн 2012, 13:42 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Для хука DirectX.
Менюшка отображается в окне эмулятора. Это сделано с помощью dll инъекции в процесс эмулятора, в котором ищется dll ddraw.dll или d3d9 - d3d11, хукается процесс blt и flip для ddraw, или endScene для d3d, мы получаем объект directxSurface непосредственно перед тем как он нарисуется в окне эмулятора, и тут подключается SlimDX, что бы на этом surface что ни будь нарисовать. В данном случае меню.

Автор:  Eevon [ 28 июн 2012, 13:56 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Ясно.

Автор:  Xttx [ 28 июн 2012, 15:54 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

v0.002 - Больше не нужен AutoIt. Проапдейтил ссылку.

Автор:  iddqd [ 06 июл 2012, 11:53 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

//Xttx, Fusion этот использует перевернутый порядок байтов. PAR коды для Fusion не совпадают с настоящими адресами в RAM Сеги.
Но если тебе надо PAR именно для Fusion - я сам обычно на нем делаю (потому что это лучший эмулятор Сеги), на artmoney.ru везде указан эмулятор, ПКМ - Изменить, поле Эмуляторный адрес. Еще можно брать оттуда же, если помечено, что сделано на Mednafen или Gens Movie 11a/11b. Все остальные версии Gens-ReRecording и других эмуляторов с нормальным порядком байтов.
Только четырехбайтовые коды для Invincibility и координат в играх Сеги и других консолей 8-16 бит не бери - так не очень "правильно" (постепенно поправляю). Целое 1 байт, целое 2 байта почти всегда хватает.
Т.е. искать можно в Сеге и даже Nes и т.п. любой адрес как 4 байта целое, но оставлять для таких приставок потом надо 1 байт, 2 байта. Мне просто так удобно находить два-три-четыре адреса, которые идут друг за другом:
целое 1 байт - значение в 256 раз меньше чем целое 2 байта
целое 2 байта - значение в 256 раз меньше чем целое 4 байта
Я в видео показывал как это делается - так очень быстро находится в любых играх на любых платформах, если параметр хранится целым типом.

Автор:  Xttx [ 07 июл 2012, 20:26 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

> Fusion этот использует перевернутый порядок байтов. PAR коды для Fusion не совпадают с настоящими адресами в RAM Сеги.
Во Fusion ещё и память перевернута. Первые 0х4000 приставки в одной области памяти, остальной кусок в другой... Однако в моей базе PAR коды для реальной сеги (всё взято с оффсвайта ProActionReplay), и прога, вобщем, расчитана на них. Другие эмуляторы буду постепенно прикручивать, уже есть поддержка Dolphin. Частичная. Там не коды, а целый ассемблер... :( И потом с CD приставками нужно конвертить базу, что б не по названиям исошек коды загружать а по ID дисков. На это просто пока нет времени. По этому не релижу...

ArtMoney я использовал (с переменным успехом) исключительно что бы находить в эмуляторах указатели на память консоли, флаги пауза/не пауза, адреса с названием загруженной игры, указатель на используемый граф. бэкенд и т.д. А так движок у проги свой, он с artMoney не связан. А база данных кодов срипнута с офф сайтов gameshark и codejunkies. Я бы сам в жизни столько кодов не нашел.
Была идея переконвертировать все эти коды в таблицы ArtMoney, но как-то пока руки не дошли...

Автор:  iddqd [ 07 июл 2012, 20:46 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

>движок у проги свой, он с artMoney не связан

Это понятно, просто я сказал, что "Эмуляторный адрес" в таблице (меня почему-то бесит слово "таблица":) ) совпадает с адресом в RAM консоли.

В Dolphin, кстати, тоже перевернутый порядок байтов (и в самих консолях GameCube/Wii тоже). А также в консоли и эмуляторах 3DO, и Sega Saturn (кроме эмулятора Yabause).

>Была идея переконвертировать все эти коды в таблицы ArtMoney

Так нельзя делать. Т.е. плагиатить чужие PAR коды внутри таблицы ArtMoney.

Для эмуляторов 1964, 1964mod, NICE64 RAM должна быть фиксирована по адресу 20000000 (вроде не во всех версиях).

Автор:  Xttx [ 08 июл 2012, 19:07 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

>Так нельзя делать. Т.е. плагиатить чужие PAR коды внутри таблицы ArtMoney.
Вот, кстати, большой вопрос.
С одной стороны я их уже сплагиатил для своей проги. С другой - коды оффициальные, им сто лет и они уже сплагиачены всеми, кто только смог. Все cheat pack-и для того-же fusion на них. А тот-же dolphin и n64* их вообще используют на уровне релизов. Я уже не говорю про кучу вполне солидных сайтов которые эти коды миррорят.
Так почему не дать возможность пользователям ArtMoney тоже ими воспользоватся?

Автор:  F1ReB4LL [ 08 июл 2012, 20:14 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

iddqd писал(а):
Но если тебе надо PAR именно для Fusion - я сам обычно на нем делаю (потому что это лучший эмулятор Сеги)

О даа, такой лучший, что даже под ромы с тестами там куча хаков, чуть поменять заголовок - все тесты failed, т.к. по хешу не подходит. Как там работоспособность самих игр обеспечивается, я умолчу.

Автор:  iddqd [ 08 июл 2012, 22:28 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

>С одной стороны я их уже сплагиатил для своей проги

Не нужно отправлять такие таблицы со стыренными адресами разработчикам ArtMoney, присваивая себе их авторство. Я имел в виду только это. Адреса в оперативе Nes/SMD/SNES/etc. не изменяются (кроме нескольких случаев - в некоторых играх есть динамические адреса, и выше я уже писал, что может быть неверно выбран тип переменной при поиске в эмуляторе - 4 байта целое вместо 1 байт целое и т.п. - разница в 1-3 байта, исправляется парой кликов мыши). PAR коды можно брать на том же GameHacking.org, только там везде указан автор. Лучше там сделать регистрацию и спросить :)

//F1ReB4LL а какой тогда лучший?:) Regen? Или может Final Burn Alpha? Сорри, если что:)

Автор:  F1ReB4LL [ 19 июл 2012, 20:50 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

iddqd писал(а):
//F1ReB4LL а какой тогда лучший?:) Regen? Или может Final Burn Alpha? Сорри, если что:)

Regen, думаю. По крайней мере, про него я такого не слышал (что ромы с нестандартной црц там в упор не работают), да и упор там именно на точность делался. Хотя он тоже closed-source, сложно судить. В MESS/UME так себе драйвер, емнип.

Автор:  Xttx [ 26 июл 2012, 10:50 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Обновил. V0.003.
- Поддержка dolphin x64 r714, pcsxr (любая из последних ревизий), epsxe 1.7.0.
- Для psx читает файл кодов в формате pec-а.
- Если в коде, в значении есть ?/X (коды типа "082B0EF7:00xx"), теперь просит ввести значение.
- Добавлен хук для OpenGl. Специально для pete's ogl psx plugins. В других эмуляторах с openGL тоже работает.
- "Форсированный" режим. Некоторые коды расчитаны на то, что они обнавляются каждый кадр. Я сталкнулся с этим на F-ZERO GX (gamecube) с кодом "1 hit kill". Этот код проверяет значение памяти, которое соответствует условию только в течении доли секунды, когда машинка принимает на себя выстрел или врезается во что-то. Поскольку программа обновляет память раз в секунду, этот код у меня работал примерно 1раз из 20-30. В форсированном режиме память обновляется постоянно, и такого рода коды будут работать. Жрёт 10-13% процессора. Включать кнопкой "F". Ещё пример - 3d Battles of World Runner (NES). Коды "World Modifier" и "World Palette Modifier".

Если кто ни будь владеет информацией как декодировать криптованные коды для NGC, буду очень признателен. На данный момент алгоритм позаимствован из сурсов долфина, но выяснилось что он декодирует не все коды. На gamehacking.org фигурирует прога gccrypt с открытым кодом, вот только все версии этой проги, которые удалось найти, были без исходников.

Автор:  Eevon [ 26 июл 2012, 11:27 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Xttx, не против, если я твою программу на сайт положу и в новостях напишу?

Автор:  Xttx [ 26 июл 2012, 12:16 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

@ Eevon - на твоё усмотрение. По мне так она ещё чуток сыровата для оффициального релиза... Может с пометкой test_version или что-то в этом роде?

Автор:  Eevon [ 26 июл 2012, 12:23 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Так чем больше народу про неё узнает, тем быстрее ты исправишь ошибки. Я думаю, вполне можно выкладывать. полное название программы какое?

Автор:  Xttx [ 26 июл 2012, 12:39 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Ну да, вообще ты прав... Больше багрепортов = меньше ошибок.
Название пускай будет mCheat.
добавлено:
только всё-равно, припиши пожалуйсто что это альфа.. :/

Автор:  Eevon [ 26 июл 2012, 13:39 ]
Заголовок сообщения:  Re: Новая чителка. Нужны тестеры.

Закинул на сайт и написал новость.

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/