Сейчас на форуме: -Sanchez- (+9 невидимых)

 eXeL@B —› Основной форум —› Windows 10 1903 и Proxy-DLLs
<< . 1 . 2 . 3 .
Посл.ответ Сообщение


Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 20 августа 2019 00:07 · Поправил: RAMZEZzz
· Личное сообщение · #1

После обновления на 1903 люди начали жаловаться что перестали работать лекарства, реализованные через прокси-дллки.
Например version.dll
Для тех кто не в теме: винда по умолчанию (раньше) ищет загружаемую прогой dll сначала в папке самой проги, если не находит, то дальше идёт в ...\system32\ .Если мы создаём dll с системным именем, как например version.dll, сделаем в ней тот же экспорт, и "проксирование" этого экспорта на настоящую системную dll. То все будет работать как раньше, но наша dll уже инжектирована в процесс, причем на самом старте, и мы можем делать с ним что угодно.

Тепрь же это не прокатывает, dll сразу грузится из system32....
Комрады, в какую сторону копать? Чую какое то обновление виновато, может какие записи в реестре появились или еще что. Кстати в Win2012 после установки обнвлений та же беда...




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 октября 2019 20:59
· Личное сообщение · #2

DenCoder

Code:
  1. 70005BED TrStep   0FB606         movzx eax,byte ptr ds:[esi]
  2. 70005BF0 8D43 28   lea eax,dword ptr ds:[ebx+28]
  3. 70005BF3 50             push eax
  4. 70005BF4 56             push esi
  5. 70005BF5 E8 69DCFFFF       call DiDecode


Code:
  1. TrAccess::
  2.          movzx eax,B[esi]
  3.          invoke DiDecode, Esi, addr [Ebx].Tr.Ia


- выборка при раскодировке. BugCheck D1, {75b14b0c, ff, 0, 70005bed} -> 70005bed: [75b14b0c], при этом откуда запрет на прерывания(0xFF -> !IF). Как такое возможно я хз.

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 26 октября 2019 23:12
· Личное сообщение · #3

Alchemistry пишет:
Инфы в гугле предостаточно вместе с готовым кодом


искал, но то что нашел - все какая-то вода, общие слова. Может у меня гугл неправильный.
Будь другом, подскажи что-нибудь толковое и конкретное!

-----
Give me a HANDLE and I will move the Earth.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 октября 2019 23:23
· Личное сообщение · #4

plutos

Моя тема --> Link <--

-----
vx


| Сообщение посчитали полезным: plutos


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 27 октября 2019 02:45 · Поправил: plutos
· Личное сообщение · #5

difexacaw пишет:
Моя тема --> Link <--


Das ist zer gut! dankeschön!

Но все же хочется и от Alchemistry чего-нибудь интерсного!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 145.8 (ветеран), 190thx
Активность: 0.140.36
Статус: Участник

Создано: 27 октября 2019 07:43
· Личное сообщение · #6

plutos
https://blogs.msdn.microsoft.com/reiley/2012/08/17/a-debugging-approach-to-application-verifier/
Я бы избежал использования не натив напрямую, но раз у афтара работает... Остальное гуглится по ключевым словам на гитхабе/гитлабе.

| Сообщение посчитали полезным: plutos


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 27 октября 2019 10:00
· Личное сообщение · #7

Добавить особо нечего, есть только один нюанс по размеру структур:

Avrf:RTL_VERIFIER_PROVIDER_DESCRIPTOR_EX

Code:
  1. DllEntry proc uses ebx Module:PVOID, Reason:ULONG, Context:PVOID
  2.          .if Reason == DLL_PROCESS_VERIFIER
  3.                  mov ebx,fs:[TEB.Peb]
  4.                  assume ebx:PPEB
  5.                  mov edx,Context
  6.                  mov D[edx],offset Avrf
  7.                  .if ([Ebx].NtMajorVersion > 5) || ([Ebx].NtMinorVersion > 1)
  8.                         add Avrf._Length,sizeof(RTL_VERIFIER_PROVIDER_DESCRIPTOR_EX) - sizeof(RTL_VERIFIER_PROVIDER_DESCRIPTOR)
  9.                  .endif


Может проверка версии не совсем корректна, но я всегда эту конструкцию использую. Других проблем не возникает в общем.

-----
vx


| Сообщение посчитали полезным: plutos


Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 27 октября 2019 17:02
· Личное сообщение · #8

Alchemistry пишет:
Я бы избежал использования не натив напрямую

Ненатив просто надо знать, когда использовать.

Добавлено спустя 2 минуты
difexacaw пишет:
всегда эту конструкцию использую

Аналогично
Code:
  1.                               DWORD osver = 0;
  2.                               __asm
  3.                               {
  4.                                    mov eax, fs:0x18
  5.                                    mov ecx, dword ptr [eax + 0x30]
  6.                                    mov eax, [ecx + 0xa4]
  7.                                    mov osver, eax
  8.                               }
  9.  
  10.                               if(osver == 5)
  11.                                    vpd = *((PRTL_VERIFIER_PROVIDER_DESCRIPTOR_FOR_XP *)lpReserved) = &tVpdXp;
  12.                               else if(osver > 5)
  13.                                    vpd = *((PRTL_VERIFIER_PROVIDER_DESCRIPTOR_FOR_WIN7 *)lpReserved) = &tVpd7;


-----
IZ.RU


| Сообщение посчитали полезным: plutos


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 30 октября 2019 03:41 · Поправил: plutos
· Личное сообщение · #9

difexacaw пишет:
Моя тема --> Link <--


Загрузка провайдера верификации из памяти и инициализация.
> http://indy-vx.narod.ru/Bin/AVrf.zip


difexacaw,
Перезалей если можешь, тема уж больно интересная!!!

-----
Give me a HANDLE and I will move the Earth.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 30 октября 2019 06:08
· Личное сообщение · #10

plutos

Очень старый семпл. Включать нет смысла, верифер лишь способ загрузки, его вообще лучше выключить. Например если есть хук аллокаций(ZwAllocVI), то при запущенном верифере это приведёт к ошибке, так как в его обработке ошибка на какой то из версий.

9100_30.10.2019_EXELAB.rU.tgz - AVrf.7z

-----
vx


| Сообщение посчитали полезным: plutos
<< . 1 . 2 . 3 .
 eXeL@B —› Основной форум —› Windows 10 1903 и Proxy-DLLs
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати