![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Задача подключиться и читать данные из программы. 
		
	
		
		
		
		
		
		
			Все было хорошо, пока не поставили блок на подключение к процессу. Изменение привилегий читающей программы не помогло. openprocess возвращает 0. Возможна оплата готового решения, писать в ЛС. Последний раз редактировалось Colombo, 03.05.2013 в 15:56.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 А вот это (см. прикреплённый архив) снимает блокировку с процесса? Если не снимает, то подключение тогда вообще не возможно. 
		
	
		
		
		
		
			
		
		
		
		
		
			Последний раз редактировалось Alegun, 09.05.2013 в 12:21.  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Попробую, отпишусь.  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Немного подробностей по проблеме читаю процесс так Код: 
	procedure TForm2.ConnectGame;
var
  WndHndl: THandle;
  PID, BytesCount, ipbuf: size_t;
begin
  WndHndl := findwindow('ArmA 2 OA', nil);
  GetWindowThreadProcessId(WndHndl, @PID);
  hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ or
      PROCESS_VM_OPERATION, False, PID);
  if hProcess = 0 then
    begin
      BitBtn1.Caption := ('error');
      BitBtn1.Font.Color := clRed;
    end
  else
    begin
      BitBtn1.Caption := ('connected');
      BitBtn1.Font.Color := clGreen;
    end;
  if hProcess <> 0 then
    tryДевятая возвращает 0. Это происходит именно когда срабатывает блокировка на открытие/чтение процесса, потому что если ее обойти (есть временный вариант), то все работает.  | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Какова разрядность процесса, который читаете? 
		
	
		
		
		
		
		
	
		
		
	
	
	Права админа у вас есть? Отладочные привилегии? В чем заключается этот временный метод?  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 2- программа, которая читает, запускается с правами администратора 3- пробовал ставить, не помогло, хотя возможно что криво ставил Он заключается в том, что если открыть процесс на чтение в самом начале, как только загрузилась программа из которой читаем, то он открывается и остается открытым и все работает. А вот если его попытаться открыть в процессе использования программы, из которой читаем, то он уже не откроется. А нужно, что бы его можно было открыть, на чтение, в любой момент.  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Вероятнее всего работает какой-нить антидебаг как защита от кряка. Знаю пару методик, которые фиг обойдешь. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Решение - пиши свой Soft-Ice.   Ну или просто драйвер, читающий из процессов, забивая на винду. Другого решения придумать не могу. | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Моего уровня на это не хватает, поэтому и обратился к знатокам) Как уже писал, в первом посте, возможна оплата за готовое решение или за консультацию и помощь в процессе написания этого "Soft-Ice" или драйвера.  | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 А если попробовать заморозить основной поток программы жертвы, затем попробовать "внедриться" и разморозить его. Или может есть поток, который постоянно "держит" ваш процесс/файл дабы к нему не было внешнего доступа ? 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Человек уже решил проблему, так что тему можно закрывать) 
		
	
		
		
		
		
		
	
		
		
	
	
	 |