Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Прочие языки программирования > Прочее...
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2013, 23:39
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
Вопрос Кто разбирается с ActionScript - нужна помощь

Пишу бота. В запросах есть сигнатура, - она вычисляется как мд5 от какой-то строки, которая получается из определённо расставленных параметров. Покопавшись в декомпилированном флеше нашёл нужную функцию, которая собственно и расставляет параметры.
PHP код:
private function concat(arg1:*):String
        
{
            var 
loc1:*;
            
loc1 0;
            var 
loc4:*;
            
loc4 null;
            var 
loc5:*;
            
loc5 null;
            var 
loc6:*;
            
loc6 null;
            var 
loc7:*;
            
loc7 undefined;
            var 
loc8:*;
            
loc8 false;
            var 
loc2:*;
            
loc2 "";
            var 
loc3:*;
            if ((
loc3 arg1 as Array) == null)
            {
                if (
String(arg1) != "[object Object]")
                {
                    
loc2 loc2 arg1;
                }
                else 
                {
                    
loc5 = [];
                    
loc8 true;
                    var 
loc9:*;
                    
loc9 0;
                    var 
loc10:*;
                    
loc10 arg1;
                    for (
loc6 in loc10)
                    {
                        
loc7 arg1[loc6];
                        if ((
loc4 this.concat(loc7)).length 0)
                        {
                            if (
isNaN(Number(loc6)))
                            {
                                
loc8 false;
                            }
                            
loc5.push({"param":loc6"value":loc4});
                            continue;
                        }
                        
loc5.push({"param":loc6"value":""});
                    }
                    if (
loc8)
                    {
                        
loc5.sortOn("param", Array.DESCENDING | Array.NUMERIC);
                    }
                    else 
                    {
                        
loc5.sortOn("param", Array.DESCENDING);
                    }
                    
loc1 = (loc5.length 1);
                    while (
loc1 >= 0
                    {
                        
loc2 loc2 loc5[loc1].param loc5[loc1].value;
                        
loc1 = (loc1 1);
                    }
                }
            }
            else 
            {
                
loc1 0;
                while (
loc1 loc3.length
                {
                    
loc2 loc2 loc1.toString() + this.concat(loc3[loc1]);
                    ++
loc1;
                }
            }
            return 
loc2;
        } 
к ней идет обращение из другой функции, которая передает параметры
PHP код:
var req:Object;
req null;
...
req = {};
req.controller =  "friend";   //---обьявлен как string
req.action =       "openChest";    //---обьявлен как string
req.params =     {"userId":-1"screenId":0}   //---обьявлен как object
req.time =        1384842545;   //---обьявлен как int

var loc2:*;
loc2 this.concat(req); 

Обьясните что будет на выходе функции concat, если можно, то хотелось бы увидеть аналогию функции на delphi.
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием
  #2  
Старый 20.11.2013, 21:47
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

concat - по идее сложение строк. В Delphi так и называется
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 21.11.2013, 08:46
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

мне кажется что не совсем так, т.к. судя по этому:
PHP код:
{
                
loc1 0;
                while (
loc1 loc3.length
                {
                    
loc2 loc2 loc1.toString() + this.concat(loc3[loc1]);
                    ++
loc1;
                }
            } 
на выходе получается что-то типа этого:
PHP код:
0friend1openChest2 ... 
но вот что происходит с
PHP код:
{"userId":-1"screenId":0
я понять не могу
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter