Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.05.2013, 15:45
Colombo Colombo вне форума
Прохожий
 
Регистрация: 03.05.2013
Сообщения: 5
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию Обход защиты чтения памяти

Задача подключиться и читать данные из программы.
Все было хорошо, пока не поставили блок на подключение к процессу.
Изменение привилегий читающей программы не помогло.
openprocess возвращает 0.
Возможна оплата готового решения, писать в ЛС.

Последний раз редактировалось Colombo, 03.05.2013 в 15:56.
Ответить с цитированием
  #2  
Старый 03.05.2013, 18:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А вот это (см. прикреплённый архив) снимает блокировку с процесса? Если не снимает, то подключение тогда вообще не возможно.

Последний раз редактировалось Alegun, 09.05.2013 в 12:21.
Ответить с цитированием
  #3  
Старый 03.05.2013, 18:45
Colombo Colombo вне форума
Прохожий
 
Регистрация: 03.05.2013
Сообщения: 5
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
А вот это (см. прикреплённый архив) снимает блокировку с процесса? Если не снимает, то подключение тогда вообще не возможно.
Если там SeDebugPrivilege, то оно не помогает.
Попробую, отпишусь.
Ответить с цитированием
  #4  
Старый 04.05.2013, 00:55
Colombo Colombo вне форума
Прохожий
 
Регистрация: 03.05.2013
Сообщения: 5
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
А вот это (см. прикреплённый архив) снимает блокировку с процесса? Если не снимает, то подключение тогда вообще не возможно.
Это не заработало на win7(64).


Немного подробностей по проблеме
читаю процесс так

Код:
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
До 8-й строки, включительно, все вроде бы хорошо.
Девятая возвращает 0.
Это происходит именно когда срабатывает блокировка на открытие/чтение процесса, потому что если ее обойти (есть временный вариант), то все работает.
Ответить с цитированием
  #5  
Старый 04.05.2013, 00:59
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Какова разрядность процесса, который читаете?
Права админа у вас есть?
Отладочные привилегии?

В чем заключается этот временный метод?
Ответить с цитированием
  #6  
Старый 04.05.2013, 01:28
Colombo Colombo вне форума
Прохожий
 
Регистрация: 03.05.2013
Сообщения: 5
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от ChinYan
Какова разрядность процесса, который читаете?
Права админа у вас есть?
Отладочные привилегии?

В чем заключается этот временный метод?
1- 32
2- программа, которая читает, запускается с правами администратора
3- пробовал ставить, не помогло, хотя возможно что криво ставил

Он заключается в том, что если открыть процесс на чтение в самом начале, как только загрузилась программа из которой читаем, то он открывается и остается открытым и все работает.
А вот если его попытаться открыть в процессе использования программы, из которой читаем, то он уже не откроется.
А нужно, что бы его можно было открыть, на чтение, в любой момент.
Ответить с цитированием
  #7  
Старый 04.05.2013, 01:53
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Вероятнее всего работает какой-нить антидебаг как защита от кряка. Знаю пару методик, которые фиг обойдешь.
Решение - пиши свой Soft-Ice. Ну или просто драйвер, читающий из процессов, забивая на винду. Другого решения придумать не могу.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #8  
Старый 04.05.2013, 02:18
Colombo Colombo вне форума
Прохожий
 
Регистрация: 03.05.2013
Сообщения: 5
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
Вероятнее всего работает какой-нить антидебаг как защита от кряка. Знаю пару методик, которые фиг обойдешь.
Решение - пиши свой Soft-Ice. Ну или просто драйвер, читающий из процессов, забивая на винду. Другого решения придумать не могу.
Вот это и нужно, надежное решение.
Моего уровня на это не хватает, поэтому и обратился к знатокам)
Как уже писал, в первом посте, возможна оплата за готовое решение или за консультацию и помощь в процессе написания этого "Soft-Ice" или драйвера.
Ответить с цитированием
  #9  
Старый 09.05.2013, 18:05
forum.sources.ru forum.sources.ru вне форума
Прохожий
 
Регистрация: 22.04.2013
Сообщения: 31
Версия Delphi: d2,4,6,7,8,xe
Репутация: 10
По умолчанию

А если попробовать заморозить основной поток программы жертвы, затем попробовать "внедриться" и разморозить его. Или может есть поток, который постоянно "держит" ваш процесс/файл дабы к нему не было внешнего доступа ?
Ответить с цитированием
  #10  
Старый 09.05.2013, 20:34
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

Человек уже решил проблему, так что тему можно закрывать)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter