PDA

Просмотр полной версии : [Статья] [C#] Flash - изменяем значения.


Nickitee
08.01.2013, 23:13
Intro
Всем привет, сегодня хотел бы поговорить о Flash, а именно как мы можем использовать возможности флеш в C# (в самых разных целях).
В этом уроке пойдёт речь о изменении "флешовских" значений.
Теория:
Что представляет собой .swf файл? .swf файл это сборник картинок,видео,музыки,курсоров... etc...etc... и конечно же action script.
Action script - объектно-ориентированный язык программирования.
Возьмем к примеру любую игру, в которой при работе есть свои значения, например:текущее золото,уровень, прочие ресурсы...
В этой статье мы поговорим о интеграции Flash и C#, а так же изменение значений в flash с помощью C#.

Что нам понадобится:

1. Microsoft Visual Studio ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) с дистрибутивом C# - как компилятор и среда разработки.
2. Флеш игра ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) над которой будем проводить опыты.
3. SoThink SWF Decompiler ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) - декомпилер для .swf

Начнём

1. Создадим в MVS новый windows form проект.
2. Теперь откроем "Панель элементов" и в любое место нажмём правой кнопкой мыши и выберем "Выбрать элементы".
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
3.В открывшемся окне перейдем во вкладку "COM-компоненты" и найдём "Shockwave Flash Object", ставим туда галочку и жмём "ОК"
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
4. Перетащим появившийся Shockwave Flash Object на нашу форму.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
5. Добавим пару кнопок.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
6. Теперь перейдём к коду, для начала нам надо загрузить .swf в flash object-e.
Делается это двумя самыми распространёнными способами:
Загрузить с локального носителя

axShockwaveFlash1.Movie = @"C:\holdthelinegame.swf";


Загрузить с веб

axShockwaveFlash1.LoadMovie(0, "[Ссылки могут видеть только зарегистрированные и активированные пользователи]");


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

CoreWar
10.02.2013, 23:00
В моей МВС нету компонента Shockwave Flash Object. Можно ли как-то его туда добавить ?

Kitsune
12.02.2013, 00:00
В моей МВС нету компонента Shockwave Flash Object. Можно ли как-то его туда добавить ?
Читать вас не научили? Скрины: 3, 4, 5.

NeoSpiriT
22.02.2013, 00:32
2. Флеш игра над которой будем проводить опыты.
Написано что файл удален.

Nickitee
22.02.2013, 00:37
2. Флеш игра над которой будем проводить опыты.
Написано что файл удален.
Обновил.