Помогите с ActionScript

Discussion in 'PHP' started by artyomZ, 15 Dec 2012.

  1. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Всем здравствуйте.

    Решил я написать бота для игры вконтакте (Метро 2033). Узнал куда бот шлёт свои запросы, но в запросах несколько параметров показались мне непонятными. Для этого я декомпилировал флешку игры. Получил файлы ActionScript, посмотрел их, но так как я ничего не понимаю в ActionScript - ничего и не понял. Прошу помощи у понимающих в этом людей. Игра шлёт параметры GETом. Мне хотелось бы узнать откуда берутся данные параметры:

    1) auth - при каждом запросе к игре разный;
    2) session - меняется при перезапуске игры;
    3) hash - каждый раз разный.

    Вот файл с ActionScript'ом данной игры:

    http://zalil.ru/34155457

    Всем заранее спасибо.
     
    #1 artyomZ, 15 Dec 2012
    Last edited: 11 Jan 2013
  2. Hakdusha

    Hakdusha New Member

    Joined:
    20 Apr 2010
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Насколько знаю, auth и hash из вк берутся.
    Когда писал бота для мамбы, хеш был разный для разных пользователей.
    Тут по моему надо смотреть api вконтакте, auth от туда берется.
     
  3. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    http://vk.com/developers.php
     
    _________________________
  4. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Я сначала тоже подумал что auth это auth_key контактовский, но это не так. К тому же этот auth каждый запрос разный. Auth_key передаётся не понятно как, возможно в каком то из параметров но шифрованный.
    Длинна параметров, может быть чем то поможет.

    auth - 32 символа (скорее всего чего либо мд5)
    session - 10 символов
    hash - 62 символа
     
    #4 artyomZ, 15 Dec 2012
    Last edited: 8 Jan 2013
  5. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Нет никого кто мог бы помочь?
     
  6. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Какой же это ActionScript, это AVM2 Pcode. Открой в нормальном декомпиляторе, например в Action Script Viewer, и там будет ActionScript вполне читаемый и понятный.
     
  7. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Вот, заливаю новый: http://zalil.ru/34155457

    Сижу туплю с ним, вроде там получше но всё равно не могу понять что с чем соединять надо =(
     
  8. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Ну а что тут тупить, ActionScript разновидность ECMAScript, т.е. зная скажем JavaScript не составит труда разобраться и в нем. Зри в chat.ChatClient и т.д.
     
    1 person likes this.
  9. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Ну а я к сожалению незнаю JS.

    Вот мне кажется нужно где то здесь копать:

    Code:
    public function request(_arg1:String, _arg2:Object):void{
                var method:* = _arg1;
                var opts:* = _arg2;
                if (!opts){
                    opts = {};
                };
                if (!opts.params){
                    opts.params = {};
                };
                if (Platform.instance.session){
                    opts.params.session = Platform.instance.session;
                };
                if (this.sess_){
                    opts.params.sess = this.sess_;
                };
                opts.params.method = method;
                opts.params.user = Platform.instance.viewer;
                opts.params.hash = uint((Math.random() * 4294967295));
                delete opts.params.auth;
                opts.params.auth = MD5.hash((JSONServer.signature(opts.params) + Platform.instance.auth));
                this.last_ = opts;
                Chain.add(function (){
                    return (srv_.request(method, opts));
                }, ((opts.at) || (Chain.AFTER)));
            }
    
    так же думаю надо смотреть тут:

    Code:
    
    public class JSONServer {
    ....
    ....
    ....
            public static function signature(_arg1:Object):String{
                var _local3:String;
                var _local4:String;
                var _local2:Array = [];
                for (_local3 in _arg1) {
                    _local2.push(((_local3 + "=") + _arg1[_local3]));
                };
                _local2.sort();
                _local4 = "";
                for (_local3 in _local2) {
                    _local4 = (_local4 + _local2[_local3]);
                };
                return (_local4);
            }
    }
    
    Насколько я понял(возможно я не прав) что hash это случайное число, а auth это md5(чтото+auth_key).
    А вот с session вобще ничего не понял=(
     
    #9 artyomZ, 11 Jan 2013
    Last edited: 11 Jan 2013
  10. khvdaiver

    khvdaiver New Member

    Joined:
    29 Oct 2012
    Messages:
    79
    Likes Received:
    2
    Reputations:
    0
    чтооооо??????????
    вы хоть поняли, что написали?

    не надо вводить людей в заблюждение. ActionScript -
    это вам не JavaScript (ООП и Прототипно-ориентированное Прогр. как бы намекают).

    не все диалекты экмаскрипт являются вариациями экмаскрипта.
     
  11. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Тоооо!!!!!!! Еще раз ActionScript это диалект ECMAScript.
    Так точно, а Вы нет судя по:
    That's not my point.
    Воооу никто, никуда, никому не вводит а тем более в какое-то заблюждение(это где вообще?!). Я и не говорил что они идентичны, как минимум подходы к ООП у каждого свои, но в базисном синтаксисе они очень схожи. И зная один разобраться в коде другого не составит труда. That's my point exactly.
     
  12. artyomZ

    artyomZ New Member

    Joined:
    25 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    -1
    Но я незнаю ни JS, ни AS, ни ECMAScript.