Показать сообщение отдельно
Старый 05.09.2012, 23:53   #1936
Новичок
 
Регистрация: 05.09.2012
Сообщений: 5
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
Imitator пока неопределено
По умолчанию

Доброго времени суток! Борюсь с довольно распространенным сейчас баном по HWID. Несколько дней гугления привели меня к Вам . Благо мануалы тут пишут хорошие - обошел "умную защиту". Теперь стал вопрос - по средством этого же обхода отловить пакеты с HWID шниками и скормить их серверу в измененном виде ...
Судя по тому, что прочитано - задача не тривиальная и ей мало кто занимался (ну или просто не говорят про это). Нашел у "ЖУКА" темку от Клавр со скриптиком по Aion:
Код:
//Script by CLAVR and Usilok
var
 i,temp,size:integer;
 mac:string;
 
Procedure casual;
Begin
 randomize; 
 temp:=RounD(Random*90+1);
end;


Procedure MacAddress;
Begin
   mac:='';
   for i := 1 to 17 do  
     if (i mod 3=0) then 
          buf:=buf+HStr('2D 00')
       else
          begin
             repeat
                casual;
             until temp in [48..57,65..70];
             WriteH(temp);
             mac:=mac+Chr(temp);
          end;
   buf:=buf+HStr('00 00');
end;

Procedure HWID;
Begin
   for i := 1 to 8 do  
         begin
             repeat
                casual;
             until temp in [48..57,65..90];
             WriteH(temp);
         end;
    buf:=buf+HStr('00 00');     
end;


begin         
     if FromClient and (ReadC(1)=$14)  then 
            begin                  
               size:=Length(pck);
               For i := 1 to (size-58) do 
                  buf:=buf+pck[i]; 
               MacAddress;                      
               HWID;
               WriteS(ReadS(size-3));                        
               sendtoServer;
               pck:=''; 
            end; 
      
      if FromClient and (ReadC(1)=$45)  then 
            begin                
               buf:='';
               For i := 1 to 9 do 
                  buf:=buf+pck[i];   
               buf:=buf+HStr(mac);          
               sendtoServer;
               pck:=''; 
            end; 
end.
Понимая, что делаю глупость, запустил его для L2 клиента. НО каково было удивление ... бана не поймал ....
Не скажу, что я все понял в данном скрипте. Но больше всего меня заинтересовали строки
Код:
if FromClient and (ReadC(1)=$14)  then
и
if FromClient and (ReadC(1)=$45)  then
Насколько я понял, именно в них происходит отлов нужных пакетов с последующей инициализацией подмены содержимого.
Уважаемые корифеи, "не подталкивая к выходу", прокоментируйте мои догадки. Конечно же не отказался от наглядного примерчика, дабы проще было вникнуть.
Заранее благодарю.
Imitator вне форума   Ответить с цитированием