Всем привет, сегодня хотел бы поговорить о Flash, а именно как мы можем использовать возможности флеш в C# (в самых разных целях).
В этом уроке пойдёт речь о изменении "флешовских" значений.
Теория:
Что представляет собой .swf файл? .swf файл это сборник картинок,видео,музыки,курсоров... etc...etc... и конечно же action script.
Action script - объектно-ориентированный язык программирования.
Возьмем к примеру любую игру, в которой при работе есть свои значения, например:текущее золото,уровень, прочие ресурсы...
В этой статье мы поговорим о интеграции Flash и C#, а так же изменение значений в flash с помощью C#.
Что нам понадобится:
1. [Ссылки могут видеть только зарегистрированные пользователи. ] с дистрибутивом C# - как компилятор и среда разработки.
2. Флеш игра над которой будем проводить опыты.
3. [Ссылки могут видеть только зарегистрированные пользователи. ] - декомпилер для .swf
Начнём
1. Создадим в MVS новый windows form проект.
2. Теперь откроем "Панель элементов" и в любое место нажмём правой кнопкой мыши и выберем "Выбрать элементы". скрин
[Ссылки могут видеть только зарегистрированные пользователи. ]
3.В открывшемся окне перейдем во вкладку "COM-компоненты" и найдём "Shockwave Flash Object", ставим туда галочку и жмём "ОК" скрин
[Ссылки могут видеть только зарегистрированные пользователи. ]
4. Перетащим появившийся Shockwave Flash Object на нашу форму. скрин
[Ссылки могут видеть только зарегистрированные пользователи. ]
7. Идём далее, теперь откроем нашу .swf в SWF Decompiler, чтобы найти значения, которое мы можем изменить.
Отркроем Action->MainMovie. скрин
[Ссылки могут видеть только зарегистрированные пользователи. ]
Запомните, не всегда будет MainMovie, точка инициализации может быть где угодно в Action.
8.Немножко покопавшись в этой груде кода, можно понять что "moneyVar" - это текущее значение денег.
А "overHeat" - это текущее значение перегрева оружия.
9. На кнопку "Hack money" кинем следующий код: (эвент click)
Код:
axShockwaveFlash1.SetVariable("moneyVar", "999999"); //Изменяем значение moneyVar на 999999
На кнопку "No overheat" кинем код (эвент click)
Код:
new Thread(delegate() //Объявляем новый поток
{
while (true) //Цикл while, т.к. true - бесконечность.
{
axShockwaveFlash1.SetVariable("overHeat", "1"); //Изменяем значение overHeat на 1
Thread.Sleep(100); //Усыпляем текущий поток на 100 миллисекунд
}
}).Start(); //Запускаем объявленный поток.
10. Готово.
Прочее
Автор данной статьи не несет ответственности за злодияния информацией. Данная статья написана исключительно в ознакомительных целях.
By Nickitee for Zhyk.ru
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 22.02.2013 в 00:37.