|
Инструкция по бесконечным деньгам на примере Global Outbreak.
1. Открываем файл assets/bin/Data/Managed/Assembly-CSharp.dll в программе.NET Reflector или IDA Pro. Первое покажет практически исходный код, второе только байты инструкций
2. И там и там, ищем что-то похожее на списание денег, например по слову Credits
3. Находим функцию SpendCredits, смотрим и понимаем, что тут как раз и списываются деньги (конкретно списываются они в PlayerData15.Instance().SpendCredits, мы просто вырежем это и всё)
4. Видно, что в случае успешного списание функция возвращает TRUE, если же денег нету - FALSE
5. Следовательно, надо сделать, что бы она всегда возвращала TRUE
Это у нас, IDA PRO.
Здесь у нас,.NET Reflector.
6. Это и есть возврат положительного результата:
17 ldc.i4.1
2A ret
Вставляем его в самое начало функции, заменяя
28 B4 16 00 06 call class PlayerData15 PlayerData15::Instance()
на
17 ldc.i4.1
2A ret
00
00
00
Заменяем только байты, текст - ldc.i4.1, ret, call class PlayerData15 PlayerData15::Instance() это лишь расшифровка байтов
7. Теперь функция всегда будет возвращать 1, и кредиты будут бесконечными!
8. Аналогичные операции проделываем с SpendZomberries
9. Чисто в целях визуальных, что бы были красивые циферки в окне ресурсов, находим функцию GetNumCredits()
10. Как видно, она складывает кредиты игрока и кредиты за стадию
11. Заменяем кредиты игрока на 999999
02 ldarg.0
7B D5 11 00 04 ldfld class SecureInt PlayerData15::m_numCredits
6F 31 22 00 06 callvirt instance int32 SecureInt::GetValue()
на
20 3F 42 0F 00 ldc.i4 0xF423F
00
00
00
00
00
00
Те вырезали первое слагаемое - кредиты игрока, и заменили на константу 999999
В шестнадцатиричное системе счисления 999999 будет 0xF423F, записываем как 3F 42 0F 00 учитывая ОБРАТНЫЙ порядок байт, нулми дополняем до 4 байт
12. Внимание! Размеры заменяемых команд должны совпадать!
Поэтому 11 байт заменили на 5 и добили ещё шестью нулями до 11
Что бы модифицировать загруженную длл прямо в.NET Reflectore, надо поставить аддон Reflexil - http://reflexil.net/
Надо скачать, и добавить через меню Tools->Add-Ins
Описание команд можно найти тут - http://en.wikipedia.org/wiki/List_of_CIL_instructions
Дополнение к инструкции:
Что бы модифицировать загруженную длл прямо в.NET Reflectore, надо поставить аддон Reflexil - http://reflexil.net/
Надо скачать, и добавить через меню Tools->Add-Ins
Вот и все, я уверен что вы ничего не поняли. Другие курсы по обучению вы найдете в нашей группе Вконтакте – vk.com\androidgamescheats
Дата добавления: 2015-09-29; просмотров: 21 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
| | Система дидактичних принципів |