心動業界良性,沒有加密。所有公司真的應該學習
下載下傳assets.txt, flash解壓就得到url。
但是用了映射。檢視Index.swf,找到:
Assets代碼:
public static function transUrl(param1:String, param2:Boolean = true) : String
{
var _loc_3:String = null;
var _loc_6:String = null;
var _loc_7:Number = NaN;
var _loc_8:Number = NaN;
var _loc_4:String = "";
var _loc_5:* = param1.indexOf("?");
if (param1.indexOf("?") > 0)
{
_loc_4 = param1.substr((_loc_5 + 1));
param1 = param1.substring(0, _loc_5);
}
param1 = transToDebug(param1, param2);
if (/\.swf$""\.swf$/.test(param1) && param2)
{
_loc_6 = param1.replace(/\.swf$""\.swf$/, "(debug).swf");
_loc_7 = getAssetVersion(param1);
_loc_8 = getAssetVersion(_loc_6);
if (_loc_8 > 0 && _loc_8 >= _loc_7)
{
param1 = _loc_6;
}
}
if (URI.cdnOn)
{
_loc_3 = urlEncodeHandler(param1) + (_loc_4 ? ("?") : ("")) + _loc_4;
}
else
{
_loc_3 = param1 + getVersion(param1) + (_loc_4 ? ("&") : ("")) + _loc_4;
}
return _loc_3;
}// end function
基本上就是urlEncodeHandler
繼續找,得:
private static function getEncodeUrl(param1:String) : String
{
var _loc_2:* = _diffs[SHA1.hash(param1).substr(0, 10)];
if (_loc_2)
{
return URI.cdnUrl + "file/" + _loc_2 + "/" + param1.substr((param1.lastIndexOf("/") + 1));
}
return getEncodeUrlFromIdxes(param1);
}// end function
param1就是原始url,這裡出現兩個一個diff,檢視下載下傳資料,找到:
2013090916..2013090918
就這個玩意,破解方法裡面也有了。