  | 
	
		
	
	
		Читать чат - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок | 
	 
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 01:15
            
            
         | 
        
             
            #1
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 18.12.2009  
                
                
                
                 Сообщений: 152
                   
 Популярность: 1075  
                  
	 Сказал(а) спасибо: 45  
	
		
			
				Поблагодарили 204 раз(а) в 67 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Читать чат
             
             
            
        
        
        
            
               
    Подскажите пожайлуста, если не трудно - с примером, как прочитать групчат?
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 01:58
            
            
         | 
        
             
            #2
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Главнокомандующий  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 20.01.2010  
                
                
                
                 Сообщений: 1,539
                   
 Популярность: 22780  
 Золото Zhyk.Ru: 600     
                  
	 Сказал(а) спасибо: 43  
	
		
			
				Поблагодарили 1,717 раз(а) в 538 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    gurin, взять оффсеты чата и вычитать весь блок целиком, отделить зеленые сообщения от других по коду цвета, который присутствует в сообщении.
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
	
		
			| 
				
					Пользователь сказал cпасибо:
				
				
				
			 | 
			 | 
		 
	 
  
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 02:35
            
            
         | 
        
             
            #3
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 18.12.2009  
                
                
                
                 Сообщений: 152
                   
 Популярность: 1075  
                  
	 Сказал(а) спасибо: 45  
	
		
			
				Поблагодарили 204 раз(а) в 67 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    я попробовал, текст что-то не удалось получить, потому и просил с примером.   
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 02:43
            
            
         | 
        
             
            #4
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Главнокомандующий  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 20.01.2010  
                
                
                
                 Сообщений: 1,539
                   
 Популярность: 22780  
 Золото Zhyk.Ru: 600     
                  
	 Сказал(а) спасибо: 43  
	
		
			
				Поблагодарили 1,717 раз(а) в 538 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    
	Код: 
	int tmpMessageCount = ReadInt16FromMemory(ChatMessagesCount);
for (int i = 0; i < tmpMessageCount; i++)
{
    messageBase = ReadInt32FromMemory(ReadInt32FromMemory(ChatStartAddress) + ((i * 0xC) + 0x8));
    if (messageBase != 0)
    {
        Messages.Add(ReadStringFromMemory(messageBase + 0x0, 4096));
    }
}
 нашел среди старых проектов.
     
          
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 02:46
            
            
         | 
        
             
            #5
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 18.12.2009  
                
                
                
                 Сообщений: 152
                   
 Популярность: 1075  
                  
	 Сказал(а) спасибо: 45  
	
		
			
				Поблагодарили 204 раз(а) в 67 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    я делаю так: 
	Код: 
	      Chat := TStringList.Create;
      ....
      ReadProcessMemory(hProcess, ptr(GamerOffsets[ChatNumber]), @ChatLen, sizeof(ChatLen), BytesCountOfRead);
      ReadProcessMemory(hProcess, ptr(GamerOffsets[ChatStart]), @start_addr, sizeof(start_addr), BytesCountOfRead);
      ReadProcessMemory(hProcess, ptr(GamerOffsets[ChatEnd]), @end_addr, sizeof(end_addr), BytesCountOfRead);
      addr := start_addr;
      for strNo := 1 to ChatLen do
      begin
        str[0] := #0;
        i := 0;
        try
          repeat
            ReadProcessMemory(hProcess, ptr(addr), @ch, 2, BytesCountOfRead);
            str[i] := ch;
            addr := addr + 2;
            inc(i);
          until (ord(ch) = 0) or (i >= High(str));
        except
        end;
        if i >= 1 then
          str[i] := #0;
        st := Str;
        Chat.Add(st);
      end;
 но получаю какие-то зякозябры 
количество сообщений в чате верное
 Добавлено через 16 минут
получил 1-ю строку нормально (при i=0)
 
но при i=1 вот тут 
messageBase = ReadInt32FromMemory(ReadInt32FromMemory(ChatStartA  ddress) + ((i * 0xC) + 0x8)); 
получаю значение messageBase = $FFFFFFFF
 
это же простое мат выражение? или как-то иначе тут все расшифровывается?
 
просто непонятно зачем в 
ReadStringFromMemory(messageBase + 0x0, 4096) 
 + 0x0 стоит...
 Добавлено через 25 минут
нашел ошибку вот тут 
messageBase = ReadInt32FromMemory(ReadInt32FromMemory(ChatStartA ddress) + ((i *  0xC) + 0x8)); 
надо
 
messageBase = ReadInt32FromMemory(ReadInt32FromMemory(ChatStartA ddress) + ((i *  0x1C) + 0x8));
 Добавлено через 28 минут
Может кому пригодится, привожу рабочий код на Delphi
 
	Код: 
	      ReadProcessMemory(hProcess, ptr(ChatStartAddr), @start_addr, sizeof(start_addr), BytesCountOfRead);
      ReadProcessMemory(hProcess, ptr(ChatNumberAddr), @ChatLen, sizeof(ChatLen), BytesCountOfRead);
      for strNo := 0 to ChatLen-1 do
      begin
        str[0] := #0;
        i := 0;
        try
          ReadProcessMemory(hProcess, ptr(start_addr + ((StrNo * $1C) + $8)), @addr, sizeof(addr), BytesCountOfRead);
          if addr <> 0 then
          repeat
            ReadProcessMemory(hProcess, ptr(addr), @ch, 2, BytesCountOfRead);
            str[i] := ch;
            addr := addr + 2;
            inc(i);
          until (ord(ch) = 0) or (i >= High(str));
        except
        end;
        if i >= 1 then
          str[i] := #0;
        st := Str;
        Chat.Add(st);
      end;
 
     
         
        
        
        
        
        
        
        
        
            
                 
                
                    
                        Последний раз редактировалось gurin; 12.01.2012 в 09:42.
                    
                    
                        Причина: Добавлено сообщение
                    
                
             
        
        
      | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 12:05
            
            
         | 
        
             
            #6
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Главнокомандующий  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 20.01.2010  
                
                
                
                 Сообщений: 1,539
                   
 Популярность: 22780  
 Золото Zhyk.Ru: 600     
                  
	 Сказал(а) спасибо: 43  
	
		
			
				Поблагодарили 1,717 раз(а) в 538 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 19:54
            
            
         | 
        
             
            #7
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 18.12.2009  
                
                
                
                 Сообщений: 152
                   
 Популярность: 1075  
                  
	 Сказал(а) спасибо: 45  
	
		
			
				Поблагодарили 204 раз(а) в 67 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    Да, я понимаю. Просто уточнил где была неточность на тот случай, если кто будет озадачен такой же проблемой. 
 
ОГРОМНОЕ спасибо за помощь.
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            12.01.2012, 21:38
            
            
         | 
        
             
            #8
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Главнокомандующий  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 20.01.2010  
                
                
                
                 Сообщений: 1,539
                   
 Популярность: 22780  
 Золото Zhyk.Ru: 600     
                  
	 Сказал(а) спасибо: 43  
	
		
			
				Поблагодарили 1,717 раз(а) в 538 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Читать чат
             
             
            
        
        
        
            
               
    gurin, всегда пожалуйста.
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
	
		
			 
			Похожие темы
		 | 
	 
	| Тема | 
	Автор | 
	Раздел | 
	Ответов | 
	Последнее сообщение | 
 
	| 
		
		[Помогите!] Читать!!!!
	 | 
	qwe1qwe1qwe1 | 
	Вопросы и ответы, обсуждение | 
	1 | 
	01.04.2011 19:12 | 
 
	| 
		
		 Прочитать!
	 | 
	JIominat | 
	Общение и обсуждение CrossFire | 
	3 | 
	27.12.2010 05:42 | 
 
	| 
		
		 ЧИТАТЬ!
	 | 
	Chiteruga | 
	Общение и обсуждение, архив Point Blank | 
	3 | 
	01.06.2010 12:16 | 
 
 
 
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 09:52. 
		 
	 
 
 | 
  |