1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

[поиск, вопрос] Замена iweb

Тема в разделе 'PW Web', создана пользователем Botchal, 24 июн 2010.

  1. MorzE nullptr AngeliCore Пользователи

    Сообщения:
    198
    Лайки:
    134
    Пол:
    Мужской
    Репутация:
    3
    Страна:
    Russian Federation Russian Federation
    1) Декомпилировать нужный процесс (как делал хасо13).
    2) Алогрит описан в функции. Применима она везде. Алгоритм не сверхсложный, так что сделать его было не сложно.
    1 человеку нравится это.
  2. gamer777 Пользователи

    Сообщения:
    18
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    GodlikePw
    1) Нужно ведь дизассемблировать с помощью IDA PRO (доп. плагины качать не надо)?
    2) Если не сложно, можешь сказать, где эта функция описана (с какого языка программирования взята и т д)
    Спасибо.
  3. HitLow Пользователи

    Сообщения:
    0
    Лайки:
    0
    Репутация:
    0
    Команда:
    NeForMat Team
    А размер в заголовке к примеру для ChatBroadCast, из чего высчитывается? Из msg?
  4. Chaos13 Проверенный II Пользователи

    Сообщения:
    10
    Лайки:
    11
    Репутация:
    0
    Из размера данных, в том числе и msg, и cuint размера msg, и других свойств (вроде канал, айди исходн. роли, и если правильно помню айди хрени со смайликами)
  5. Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Написал получение кланов и персов в кланах через gamedbd, но иногда имена кланов выдает иероглифами из за смещения при чтении байтов и соответственно вся следующая инфа по клану читается как попало. В чем может быть дело?

    (читайте комменты к коду)
    Код:
    $data= cuint(4608)."\x08\x80\x00\x00\x01".strrev(pack("I",$klan_id));
    socket_send($sock, $data, 8192, 0);
    socket_recv($sock, $buf, 8192, 0);
    socket_set_nonblock($sock);
    socket_close($sock);
    
    $pos15 = unpack( "c*",substr($buf, 15, 1));
    $pos14 = unpack( "c*",substr($buf, 14, 1));
    $pos15=$pos15[1];
    $pos14=$pos14[1];
    //!!!!!!!!!!!!!!!!!!!Слуйчайно здесь еще раз написал $pos14=$pos14[1];$pos15=$pos15[1]; и о чудо - те кланы которые выводились с ошибками начали выводится нормально, но те которые выводились нормально стали с ошибками.
    if($pos14 == 0)
    {
    $fnamelen = unpack("c*",substr($buf, 16, 1));
    $fnamelen=$fnamelen[1];
    $pholder = 16;
    }
    else
    {
    $fnamelen = $pos15;
    $pholder = 15;
    }
    echo $pos15.'-'.$pos14.'-'.$pholder.'-'; //Закономерности не нашел
    $fname = iconv("UCS-2LE", "UTF-8", substr($buf, $pholder+1, $fnamelen));
    if ($fname!='')
    {
    echo $klan_id.'='.$fname; //Если уж имя клана пошло каракулями, то и все остальное не считывается
    $flvl = ord(substr($buf, $pholder+$fnamelen+1, 1))+1;
    $fmasterid = hexdec(bin2hex(substr($buf, $pholder+$fnamelen+2, 4)));
    $fcommentlen = unpack( "c*",substr($buf, $pholder+$fnamelen+6, 1));
    $fcommentlen=$fcommentlen[1];
    $fcomment = iconv("UCS-2LE", "UTF-8", substr($buf, $pholder+$fnamelen+7, $fcommentlen));
    $fcount = unpack( "c",(substr($buf, $pholder+$fnamelen+$fcommentlen+8, 1)));
    $fcount=$fcount[1];
    if ($fcount>0)
    {
    unset($klans[$klan_id]);
    if ((isset($klans))&&(in_array($klan_id,$klans)))
    {
    //Обновление клана в базе
    }
    else
    {
    //Тут добавление клана в базу
    }
    $holder = $pholder+$fnamelen+$fcommentlen+9;
    for($i = 0; $i < $fcount; $i++)
    {
    $rid = unpack( "N",substr($buf, $holder, 4));
    $rid=$rid[1];
    $rlvl = ord(substr($buf, $holder+4, 1));
    $rcls = ord(substr($buf, $holder+5, 1));
    $rnamelen = unpack( "c*",substr($buf, $holder+10, 1));
    $rnamelen=$rnamelen[1];
    $rname = iconv("UCS-2LE", "UTF-8", substr($buf, $holder+11, $rnamelen));
    $rtitlelen = unpack( "c*",substr($buf, $holder+$rnamelen+11, 1));
    $rtitlelen=$rtitlelen[1];
    $rtitle = iconv("UCS-2LE", "UTF-8", substr($buf, $holder+$rnamelen+12, $rtitlelen));
    $vklad = hexdec(bin2hex(substr($buf, $holder+$rnamelen+$rtitlelen+12, 4)));
    $holder = $holder+$rnamelen+$rtitlelen+16;
    //Обновление перса в базе
    }
    }
    }
  6. TopicStarter Overlay

    Botchal MMORPG-DEVS.RU Пользователи

    Сообщения:
    182
    Лайки:
    66
    Репутация:
    0
    не туда написали, этой теме 2 года, если не 3
Черновик сохранён Черновик удалён

Поделиться этой страницей