IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Flash (https://www.imho.ws/forumdisplay.php?f=53)
-   -   Action Script в happytreefriends.com (https://www.imho.ws/showthread.php?t=102126)

kokaini 10.04.2006 17:27

Action Script в happytreefriends.com
 
привет!
вот наткнулся на одну защиту swf мультфильмов на сайте happytreefriends.com
защита в том, что скрипт не даёт возможность смотреть мультфильмы в offline.
вот пример:
скачал епозод с
urlhttp://mondo.happytreefriends.com/watch_episodes/flash/htf_zoo1.swf
открываю в Sothink SWF Decompilier и перехожу в Action>MainMovie.
вот код:

// Action script...

// [Action in Frame 1]
if (_root._url.indexOf("http://happytreefriends.atomfilms.com") == -1)
{
unloadMovieNum(0);
gotoAndStop(1);
} // end if

// [Action in Frame 152]
ifFrameLoaded(2466)
{
unloadMovieNum(7);
gotoAndPlay(154);
} // End of ifFrameLoaded

// [Action in Frame 153]
gotoAndPlay(112);

// [Action in Frame 178]
_level0/:showTotal = 2865;

// [Action in Frame 180]
loadMovieNum("http://rm.mondominishows.com/counters/count.asp?x=htf2&htf&zoo1&start", 2);

// [Action in Frame 449]
stopAllSounds ();

// [Action in Frame 466]
stopAllSounds ();
gotoAndPlay(467);

// [Action in Frame 4569]
stopAllSounds ();

// [Action in Frame 4574]
stop ();

в красном помеченном коде всё понятно, но когда делаю Export FLA в Decompilier, программа виснет.
plz! посоветуйте как можно изменить этот код другим способом???

unplugger 12.04.2006 14:50

а если попробовать качать отсюда:
_http://htf.ru

kokaini 14.04.2006 17:12

unplugger
благодарю.
просто этот сайт был давно прикрыт и не думал, что снова запустят.
а задача остаётся задачей, придётся написать ребятам _http://htf.ru

kokaini 12.09.2006 14:11

Ура! Ура! Ура!
проблема решена!
итак, слушайте внимательно:

1.сначало скачаем программу Flasm с urlhttp://www.nowrap.de/download/flasm16win.zip (freeware)
(проясняю: Flasm - програма, который декомпилирует-компилирует swf файлы)(работает в DOS-e)

2.потом скачаем епозод например с
urlhttp://mondo.happytreefriends.com/watch_episodes/flash/htf_zoo1.swf

3.запускаем Flasm:

-d (Disassemble SWF file to the console)
пример: Flasm.exe -d htf_zoo1.swf > htf_zoo1.flm (декомпилируем source swf в файл flm)

4.открываем htf_zoo1.flm в notepad и ищем кусок кода:

...........
frame 0
push 'http://mondo.happytreefriends.com', 1, '_root'
getVariable
push '_url'
...........

удаляем http://mondo.happytreefriends.com
остаётся:
...........
frame 0
push '', 1, '_root'
getVariable
push '_url'
...........

сохраняем.

5.запускаем Flasm командой:
-a (Assemble Flasm project)
пример: Flasm.exe -a htf_zoo1.flm

если всё сделали правильно, напишет:
htf_zoo1.flm successfully assembled to htf_zoo1.swf, 2928044 bytes

6.запускаем htf_zoo1.swf смотрим в offline и радуемся.

7.продолжаем смотреть happytreefriends в offline

ENJOY!!!

kokaini 08.11.2006 12:48

Внимание!
happytreefriends.com разработала новую защиту от копировании свойх мультфильмов с сервера.

вот, на днях зашёл на сайт, чтоб посмотреть (а по правде скачать) новый эпизод Take A Hike Part 1. вот линк эпизода:
_http://mondo.happytreefriends.com/watch_episodes/flash/play_bully.asp?episode=hike
генерируем на скачивание:
cccphttp://mondo.happytreefriends.com/watch_episodes/flash/htf_hike.swf
скачал htf_hike.swf весом 128KB, открываю - только чёрный экран. сразу отправил
в Sothink SWF Decompilier. в Action > Main Movie вижу:
------------------------------
// [Action in Frame 1]
var videos = new Object();
videos.list = new Array();
videos.list[0] = "hike1.flv";
videos.list[1] = "";
videos.list[2] = "";
videos.list[3] = "";
videos.list[4] = "";
videos.list[5] = "";
videos.list[6] = "";
videos.loop = false;
------------------------------
Вот где живёт наш домовой.
всё ясно, сервер использует .flv файлы.
проясняю: .flv - это flash video файлы, которые проигрываться в реальном времени и используют

.swf как проигрыватель.
генерируем линк:
cccphttp://mondo.happytreefriends.com/watch_episodes/flash/hike1.flv (12.7 MB)
вот и всё. когда запускаем htf_hike.swf, автоматически запускается hike1.flv.
ENJOY!

kokaini 12.01.2007 17:56

Обходим новую защиту Happytreefrien
 
Вложений: 1
Обходим новую защиту Happytreefriends
Вот кусок нового кода защиты:
-------------------------------------------------
// [Action in Frame 1]
function isRegisteredDomain(list, url)
{
protocol = url.substr(0, url.indexOf(":"));
if (protocol == "file")
{
return (0);
} // end if
if (protocol == "http")
{
doubleSlash = url.indexOf("//");
domainPath = url.substr(doubleSlash + 2, url.length);
domainName = domainPath.substr(0, domainPath.indexOf("/"));
domainName = domainName.toLowerCase();
if (domainName.indexOf("www.") != -1)
{
domainName = domainName.substr(domainName.indexOf("www.") + 4, domainName.length);
} // end if
if (domainName.indexOf("happytreefriends.com") != -1)
{
return (1);
}
else if (domainName.indexOf("atomfilms.com") != -1)
{
return (1);
}
else
{
return (0);
} // end else if
} // end else if
} // End of the function
domainOne = "happytreefriends.com";
domainTwo = "atomfilms.com";
domainList = new Array("happytreefriends.com", "happytreefriends.atomfilms");
if (isRegisteredDomain(domainList, _level0._url) == 0)
{
gotoAndStop(1);
-------------------------------------------------
1. Декомпилируем напр: htf_sleigh.swf flasm-ом:
flasm.exe -d htf_sleigh.swf > sleigh.flm
2. Открываем sleigh.flm в notepad
3. Начинаем выделять текст с protect
protect <-----

defineMovieClip 3 // total frames: 1
end // of defineMovieClip 3


до слово frame 1
pop
end // of initMovieClip 9

f
rame 1
<-----
4. Удаляем выделённый текст.
5. Сохраняем и скомпилируем обратно:
flasm.exe -a sleigh.flm
6. Запускаем, смотрим, радуемся.

Вот прикрепил пример .flm файла, переименовайте в конце названии удалите .txt

kokaini 10.02.2007 18:27

Убираем новую защиту
Выделяем и удаляем толко этот кусок кода:
Код HTML:

protect

  defineMovieClip 3 // total frames: 1
  end // of defineMovieClip 3

  defineMovieClip 5 // total frames: 1
  end // of defineMovieClip 5
 
  exportAssets
    5 as 'VideoPlayer'
  end // of exportAssets

  defineMovieClip 8 // total frames: 1
  end // of defineMovieClip 8
 
  exportAssets
    8 as 'Icon'
  end // of exportAssets

  defineMovieClip 9 // total frames: 2

    frame 0
      stop
    end // of frame 0
  end // of defineMovieClip 9
 
  exportAssets
    9 as 'FLVPlayback'
  end // of exportAssets

  placeMovieClip 9 as 'flv'

    onClipEvent construct
      push 'autoPlay', TRUE
      setVariable
      push 'autoRewind', FALSE
      setVariable
      push 'autoSize', FALSE
      setVariable
      push 'bufferTime', 8
      setVariable
      push 'contentPath', 'party1.flv'
      setVariable
      push 'isLive', TRUE
      setVariable
      push 'maintainAspectRatio', TRUE
      setVariable
      push 'skin', 'SteelExternalAll.swf'
      setVariable
      push 'skinAutoHide', FALSE
      setVariable
      push 'totalTime', 0.0
      setVariable
      push 'volume', 100
      setVariable
    end
  end // of placeMovieClip 9

  defineMovieClip 1 // total frames: 1
  end // of defineMovieClip 1
 
  exportAssets
    1 as '__Packages.mx.video.FLVPlayback'
  end // of exportAssets

до
initMovieClip 1
constants '_global', 'mx', 'Object', 'video', 'FLVPlayback', 'events', ...

copch 15.02.2007 18:49

Цитата:

Сообщение от kokaini (Сообщение 1353656)
Убираем новую защиту

Всем кто шарит в актион скрипт, проверьте плиз, ничего не поменялось там.. А то я скачал несколько а кода такого не могу найти.. В результате ничего не показывается.. ;( плизз..

kokaini 15.02.2007 20:34

copch
Давай всё по порядке.
напиши какие епизоды скачал, а потом разберёмся в ActionScript-ax

copch 17.02.2007 01:36

Цитата:

Сообщение от kokaini (Сообщение 1357266)
Давай всё по порядке.
напиши какие епизоды скачал,

ой, спасибо тебе! Я немного разгребусь с мультами, пока старые смотрю, и если что не выйдет разобрать с новыми - обязательно стукну. Спасибо!

Цитата:

Сообщение от kokaini (Сообщение 1357266)
вот и всё. когда запускаем htf_hike.swf, автоматически запускается hike1.flv.

Ну flv можно и так смотреть, не заморачиваться на отдельный файл swf. Это я так.. кто не в курсе.. ;)

kokaini 17.02.2007 12:02

Цитата:

Сообщение от copch (Сообщение 1358206)
Ну flv можно и так смотреть, не заморачиваться на отдельный файл swf. Это я так.. кто не в курсе..

Да это знаем что .flv файл можно просмотреть любым flv плЭЭром, но тут обсуждаем обход защиты HTF в Action Script.
Кстати хорошая новость: помоему HTF собирается совсем снять зашиту. По моему они тоже устали :p


Часовой пояс GMT +4, время: 10:44.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.