Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Решение критов перса

-

Боты, скрипты и прочий софт для Lineage 2

- Весь софт по Lineage 2 и все, что связано с ботоводством, скриптописанием и брутом - в этом разделе

Ответ
 
Опции темы
Старый 01.11.2009, 00:32   #1
 Разведчик
Аватар для MorfeyTH
 
MorfeyTH никому не известный тип
Регистрация: 28.08.2009
Сообщений: 1
Популярность: 18
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 2 сообщениях
 
По умолчанию Решение критов перса

Тему никто не создавал а может быть очень полезно))

Решение проблем с критом персонажей БЕСЛАПТНО


Итак все знают что есть проблема при частом нажатии кнопки применить и что есть решение. Для меня было достаточно сложно его усвоить,так как нигде не было подробных инструкций,что делать. Я постараюсь их сделать.
Итак во первых качаем программу WP тут _http://x33.ru/saur/wp.html
2.Запускаем ее.
3. Заходим во вкладку Multi Injector
там снизу слева жмем кнопочку MI панель.
Создаем в MI панели l2.bin так как на картинке
_http://pixs.ru/showimage/wpjpg_4190014_335792.jpg
Жмем галочку возле новой "записи"(у меня она под номером 6)
Включаем Multi injector(Щелкнуть по солнышку) чтоб появилась надпись On
С этой частью окончено.
4. Переходим во вкладку ProxyPC
Включаем первый прокси (опять же щелкаем по солнышку)

Входим в PPC панель.
Жмем кнопку добавить
Создаем запись своего сервера
_http://pixs.ru/showimage/wp1jpg_2621461_335795.jpg

Это для атебальта,для других серверов ТОЛЬКО другой ИП,остальное так-же.

Далее для каждой записи можно создавать скрипты(на скрине у меня они называются крит 3 и крит 2)

Скрипты можно сохранять через script tester.

Текст скрипта крит3:

Код:
                                           // грязный хак для декодирования GS->C руофа
// 'demo_la2-endecGS-6.fsc' Пример ручного декодирования LA2 GS пакетов. Стандартный алгоритм.
// внутреннее автоопределение и автодекодирование НЕ ИСПОЛЬЗУЕТСЯ, оно отключается (в скрипте).
//
// определение трафика и де/кодирование GS полностью на скрипте.
//
// используются события-функции 'OnDeCode' и 'OnEnCode'
//
// (для работы скрипта необходим WP657F или выше)
// в примере используется ручная де/кодировка GS пакетов C4/C5/Interlude стандартным алгоритмом.
// скрипт FS
//
//

var // будем использовать локальные ключи, а не внутренние (хотя можно любые, без разницы)
  Kci : string;// - для пакетов пришедших с клиента.
  Kco : string;//  - для пакетов уходящих на клиент.
  Ksi : string;//  - для пакетов пришедших с сервера.
  Kso : string;//  - для пакетов уходящих на сервер.
  s,s1 : string;
  scode : boolean;
  le : integer;
  ID : integer;
  CharName : string;

Procedure OnCreate; // функция-событие на старт скрипта.
// эта ф-ция вызывается автоматически при старте скрипта (еще до первого пакета)
// ф-ция не обязательна и может отсутствовать в скриптах ...
begin
  //
  // Поотключаем все АВТОопределения и АВТОдекодирования:
  //
  gSys.TrafType := 0; // отключим внутреннее автоопределение трафика
  gSys.tPDecode := 0; // отключим внутреннее автодекодирование
  gSys.tKeyType := 0; // отключим начальное автоопределение ключа
  gSys.Protocol := -1; // протокол соединения (у LS и GS разные ! обычно говорят о протоколе GS)
  gSys.isGS := 0;
  gSys.isLS := 0;
  gSys.tParse := 0; // тип парсинга пакетов (двухбайтовый размер в начале пакета)
  //
  scode := false; // флаг де/кодирования GS
  Kci := ''; Kco := ''; Ksi := ''; Kso := '';
  //
  CharName := '';
end;

Procedure OnDestroy; // функция-событие на закрытие скрипта и соединения.
// эта ф-ция вызывается автоматически при закрытие соединения
// ф-ция не обязательна и может отсутствовать в скриптах ...
begin
end;

procedure _DecGS(var bf : string;var ke : string; tk : integer); // декодируем пакет GS, это обычная ф-ция
var i,j,b,i1,sz,sk : integer;
begin
  // стандартный алгоритм XOR декодирования GS la2
  sz := length(bf);
  sk := length(ke);
  if sk = 0 then exit;
  b := 0; j := 1;
  for i := 3 to sz do begin
    i1 := ord(bf[i]);
    bf[i] := chr(i1 xor ord(ke[j]) xor b);
    b := i1;
    Inc(j,1);
    if j > sk then j := 1;
  end;
  case tk of
    1: PInt(ke,GInt(ke,1,4)+sz-2,1,4);
    2: PInt(ke,GInt(ke,1,8)+sz-2,1,8);
    3: PInt(ke,GInt(ke,9,8)+sz-2,9,8);
  end;
end;

// on parse part
function OnParse: boolean;
var
   l, pl : integer;
begin
     result := false;
     if _dFromServ then begin


          pl := GInt(_dParseBuff, 1, 2);
          l := Length(_dParseBuff);


//          writelogln(format('buffer length %d packet length %d',[l, pl]));
          if pl < l then begin
//             writelogln('slicing packet');
             _dParsePck := Copy(_dParseBuff, 1, pl);
             _dParseBuff := Copy(_dParseBuff, pl + 1, l - pl);
          end else begin
              if pl = l then begin
                 _dParsePck := _dParseBuff;
                 _dParseBuff := '';
              end else begin
                 writelogln('partial packet detected');

              end;
          end;

     end else begin

         _dParsePck := _dParseBuff;
         _dParseBuff := '';

     end;
end;


procedure _EncGS(var bf : string;var ke : string; tk : integer); // кодируем пакет GS, это обычная ф-ция
var i,j,b,i1,sz,sk : integer;
begin
  // стандартный алгоритм XOR кодирования GS la2
  sz := length(bf);
  sk := length(ke);
  if sk = 0 then exit;
  i1 := 0; j := 1;
  for i := 3 to sz do begin
    bf[i] := chr(ord(bf[i]) xor ord(ke[j]) xor i1);
    i1 := ord(bf[i]);
    Inc(j,1);
    if j > sk then j := 1;
  end;
  case tk of
    1: PInt(ke,GInt(ke,1,4)+sz-2,1,4);
    2: PInt(ke,GInt(ke,1,8)+sz-2,1,8);
    3: PInt(ke,GInt(ke,9,8)+sz-2,9,8);
  end;
end;

Procedure Trafic_Detector;
var _s : string;
begin
  // Определим тип трафика и тип сервера.
  // Внимание! при необходимости, определение трафика можно дополнить новыми вариантами =)
  //
  le := length(_dBuff); // _dBuff - входной пакет (так как эта ф-ция вызвана из OnDeCode)
  //
  // Определим тип трафика (в этом примере нас интересует только LA2)
  //

  if (gSys.TrafType = 0) and (_gAbsNumPkt = 1) then begin
    case le of
     $0B,$9B,$AB,$BA: begin
                    gSys.TrafType := 2;  // LA2
                    gSys.isLS := 1;      // LS
                    if le = $0B then gSys.tKeyType := 1 else gSys.tKeyType := 2; // это для LS, пока не потребуется
                  end;
     $107: begin
             gSys.TrafType := 2;  // LA2
             gSys.isGS := 1;      // GS
           end;
     $07: begin
             gSys.TrafType := 2;  // LA2
             gSys.isGS := 2;      // GS
          end;
     else if le >= $107 then begin // более надежный способ определить LA2 GS
            if pos(HStr('05 52 05 54 07 51 51 55 07 02 53 53 00 52 05 52'),_dBuff) <> 0 then begin
            // если найдена строчка '.R.T.QQU..SS.R.R' (древний рим епть =) тогда это гейм сервер ла2.
              gSys.TrafType := 2;  // LA2
              gSys.isGS := 2;      // GS
            end;

            if StrCmp(copy(_dBuff, 3, 5), HStr('0E 3C 03 00 00')) then begin
              writelogln('CT1 traffic detected');
              gSys.TrafType := 2;  // LA2
              gSys.isGS := 3;      // GS CT1
            end;

            writelogln(format('le = %x, prot = %x',[le, GInt(_dBuff, 4, 2)]));

            if (le = $10B) and (GInt(_dBuff, 4, 2) = $57) then begin
               writelogln('setting....');
               gSys.TrafType := 2;
               gSys.Protocol := 971;       // fake protocol number for $53 protocol auto decoding
               gSys.isGS := 3;
               gSys.tKeyType := 3;
            end;


          end;
    end;
    //
    //if gSys.TrafType = 2 then gSys.SetIDposlen(3,1); // ID в пакетах LA2 находится в третьем байте, размер 1 байт.
    if gSys.TrafType = 2 then SetIDpos(3,4);// ID в пакетах LA2 находится в третьем, subID в четвертом байтах
    if gSys.isGS > 0 then gSys.Protocol := gInt(_dBuff,4,4); // берем номер протокола GS

    // продублим протоколы CT1
    if gSys.Protocol >= 828 then gSys.isGS := 3;      // GS CT1

  end;
  //
  // определим ключ GS:
  //
  if (_gAbsNumPkt = 2) then
  if  (gSys.TrafType = 2) and (gSys.isGS > 0) and _dFromServ then begin
    if (le = 12) then gSys.tKeyType := 1; // 12 байтный пакет - тип 1. GSDecodeJ (90% l2j)
    if (le = 16) then gSys.tKeyType := 2; // 16 байтный пакет - тип 2. GSDecode (sub-off servers)
    if (le = $1A) then gSys.tKeyType := 3; // часть фри серверов Interlude
    if (le = $1C) then gSys.tKeyType := 3; // часть фри серверов Interlude
    if (le = $15) then gSys.tKeyType := 3; // официальные сервера Interlude (на данный момент)
    if (le = $14) then gSys.tKeyType := 3; // часть фри серверов Kamael (псевдо Hellbound)
    if (le = $19) then gSys.tKeyType := 3; // руоф, только для просмотра
    if gSys.tKeyType > 0 then begin
      s := copy(_dBuff,5,16);
      if gSys.tKeyType < 3 then s := copy(s,1,4)+Hstr('A1 6C 54 87'); // C4/C5/псевдо интерлюд.
      if gSys.tKeyType = 3 then s := copy(s,1,8)+Hstr('C8 27 93 01 A1 6C 31 97'); // интерлюд.
      Kci := s; Kco := s; Ksi := s; Kso := s;
      scode := true; // запустим де/кодирование GS
      writelogln('key:');writeloghexb(s);
    end else writelogln('неопознанный ключевой пакет GS LA2 протокола')
  end;
  //
end;

Procedure OnDeCode; // функция-событие на декодирование пакета.
// эта ф-ция вызывается при получении пакета, ДО автоматического декодирования (если включено) и ДО записей в автологгер основных пакетов
// ф-ция не обязательна и может отсутствовать в скриптах ...
// входной буфер '_dBuff', выходной '_dOutBuff', флаг направления '_dFromServ' (не перепутайте)
begin
  //writelogln('OnDeCode ..');

  // _dBuff - входной пакет для декодирования
  if _gAbsNumPkt < 6 then Trafic_Detector; // определим трафик и тип сервера (в пределах 5 первых пакетов, для LA2 этого хватит)
  //
  if scode and (_gAbsNumPkt > 2) then begin
  // декодируем пакет, ручная реализация стандартного алгоритма.
    if _dFromServ then
      _DecGS(_dBuff,Ksi,gSys.tKeyType);
//    else
//      _DecGS(_dBuff,Kci,gSys.tKeyType);
    _dOutBuff := _dBuff;
  end;
end;

Procedure OnEnCode; // функция-событие на кодирование пакета.
// эта ф-ция вызывается перед отсылкой пакета, после записи в автологгер основных пакетов и после автоматического кодирования (если включено)
// так же ф-ция вызывается автоматически при использовании gSys.EnSendC и gSys.EnSendS
// !! Внимание !!
// в OnEnCode запрещено использовать ф-ции gSys.EnSendC и gSys.EnSendS во избежание замкнутой рекурсии
// ф-ция не обязательна и может отсутствовать в скриптах ...
// входной буфер '_dBuff', выходной '_dOutBuff', флаг направления '_dFromServ' (не перепутайте)
begin
  //writelogln('OnEnCode ..');

  if scode and (_gAbsNumPkt > 2) then begin
  // кодируем пакет, ручная реализация стандартного алгоритма
    if _dFromServ then
      _EncGS(_dBuff,Kco,gSys.tKeyType);
//    else
//      _EncGS(_dBuff,Kso,gSys.tKeyType);
    _dOutBuff := _dBuff;

    //if _dFromServ then gSys.EnSendC(_dBuff) else gSys.EnSendS(_dBuff);
    //gBlockPacket;
  end;
end;

procedure SendMsg(msg : string); // ф-ция для вывода любого сообщения в чат клиента (другим не видно)
begin
  if (gSys.isGS > 0) and (gSys.TrafType = 2) then  // проверка на трафик LA2 GS
    gSys.EnSendC(FormatPck('%cddss',[#$4A,0,10,#0,msg+#0]));
end;

BEGIN
  // Тело скрипта
  // вызывается при получении пакета прошедшего все декодировоки и автодекодировки
  // как обычно, здесь пакет приходит в _gBuff и если его надо изменить, то пишем в _gOutBuff
  // ...

  if length(_gBuff) < 3 then exit;
  ID := gInt(_gBuff,3,1);
  //if (ID = $FE) or (ID = $D0) then ID := gInt(_gBuff,3,2);
  //
  // в качестве примера
  if ID = $15 then begin // возьмем имя выбранного персонажа
    //GetAnsiStr(copy(_gBuff,4,
    ScanPck5(_gBuff,4,'s',CharName, null, null, null, null);
    CharName := trim(CharName);
    Writelogln('Выбранный перс: '+CharName);
  end;
  //





  // ... далее пакет логируется и уходит на автокодировку затем на кодировку (OnEnCode) и отправляется.
END.

Вот текст скрипта Крит2:

Код:

// save us ver 2.0

BEGIN
  if _gFromServ and hStrCmp(_gBuff,3,2,'FE 70') then   gBlockPacket;
END.

Вместо скрипта Крит3 можно использовать этот(у меня лично он не пошел)

Код:

// corrector-3e.fsc n~e^?e`i"o` a"e"y" e^i^??a*e^o`i'i^a~i^ e`a~i'i^?e`?i^a^a`i'e`y" c,a`?e`o^?i^a^a`i'i'u^o~ C->S i"a`e^a*o`i^a^ i"?e` i"a`?n~e`i'a~a* i'a` ?o'i^o^a*
//
// ?a`n~?e`o^?i^a^e^a` o`?a`o^o^e`e^a` N~lient->GameServer i'a* i"?i^e`n~o~i^a"e`o`,
// e^a`e^a`y" e"e`a'i^ a*a~i^ i`i^a"e`o^e`e^a`o"e`y" - i'a* i"i^a"a"?a*??e`a^a`a*o`n~y"

var

   ignore_cs : boolean;
   temp : string;

Procedure OnCreate;
begin
     ignore_cs := false;
     gSys.tparse := 2;
end;

function OnParse: boolean;

begin
     if ignore_cs then begin
        if _dFromServ then begin
           result := true;
        end else begin
           temp := _dParseBuff;
           _dParsePck := _dParseBuff;
           _dParseBuff := '';
           result := false;
        end;
     end else begin
         result := true;
     end;

     if not _dFromServ and (_gAbsNumPkt = 0) then begin
        if (Length(_dParseBuff) = $10B) and (GInt(_dParseBuff, 4, 2) = $57) and (GInt(_dParseBuff, 4, 2) <> 0) then begin
           writelogln('ruof proto detected - setting fake init');
             temp := _dParseBuff;
             _dParseBuff := HStr('0B010E7B0300000B00545603090B0107025454560700025556005100535704075508540107015300565556010605045103085108515604540655080209515601530655045300565653010902090151545109555609030407055504065504060904510108080605520604010754030652550655555101020454035554015751550552055407515155070253530052055207015400030505080605050603000D08010709035103075309510607540A50560252040555510253000854045256060209000803535601050055060856040D0607520607040A0601045404000502045400095253050401040505015251520D065108095453000D01020354530105030856540702540B06115D1F60');
             ignore_cs := true;
        end;
     end;
end;

procedure OnEncode;
begin
     if ignore_cs and (not _dFromserv) then begin
        _dOutBuff := temp;
        temp := '';
     end;
end;

begin
end.
Для того чтоб выбрать скрит по записи щелкаем по записи(athebalt в моем случае) Щелкаем по строке снизу(там где у меня выбраны крит 3 и крит2) , Жмем под настройками записи значек [..] и Выбираем скрипт. Далее Запускаем клиент игры(я лично это делаю через программу asi и без ГГ ,так у меня точно проходит)

Далее открываем после захода на чара настройки там клавиши чтото быстро меняем и жмем применить. У меня чара при wp включенном дисконнектит в течение минуты так что у меня такой срок успеть это тыкнуть.

После проделанных операций можно на чара беспрепятственно заходить без крит ошибок.

Огромное спасибо ShadeOfNothing -у за консультации и предоставленные скрипты, я до всего этого сам бы в жизни не додумался

p.s. у меня windows vista.
p.p.s если в чемто ошибся-пишите,отредактирую.

Последний раз редактировалось Razzor; 02.11.2009 в 07:50.
  Ответить с цитированием
Пользователь сказал cпасибо:
ZliLO (01.11.2009)
Старый 02.11.2009, 01:13   #2
 Разведчик
Аватар для Mest
 
Mest на правильном пути
Регистрация: 13.09.2009
Сообщений: 38
Популярность: 42
Сказал(а) спасибо: 5
Поблагодарили 16 раз(а) в 8 сообщениях
 
По умолчанию Re: Решение критов перса

у меня в волкерах валяються куча подобных скриптов декадировщиков, знать бы еще для чего и в каких случаях их применить
________________
Если ты имешь больше меня постов, не факт, что ты знаешь больше меня.....
Помог? тыкай СПАСИБКУ
  Ответить с цитированием
Старый 12.01.2010, 20:42   #3
 Разведчик
Аватар для wolkve
 
wolkve никому не известный тип
Регистрация: 09.01.2010
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Решение критов перса

если что, его аська 564-435-928
  Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
у кого не заходит вконтакт ето вирус вот решение KeHi=) Архив 2 30.07.2009 16:41
Блок перса GSOMSSSS Rising Force Online 0 27.05.2009 21:22

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:39.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net