心动业界良性,没有加密。所有公司真的应该学习
下载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
就这个玩意,破解方法里面也有了。